服務導向解決方案的元件
本節描述服務導向解決方案的主要 BizTalk Server 元件。 下列圖表顯示解決方案的主要元件:
服務導向解決方案有三個協調流程版本。
一個是其中所有三個後端應用程式都是虛設的版本
一個是其中所有三個後端應用程式都是內嵌叫用的版本
一個則是使用配接器連接到應用程式的版本
所有的協調流程版本都會出現在 SDK\Senarios\SO\BTSSoln\Orchestrations 目錄中。
協調流程的內嵌版本提供解決方案內要求和回應之間的最低延遲時間。
如需來源檔案的相關資訊,請參閱 服務導向解決方案的檔案清查。
服務導向解決方案中的協調流程
三個協調流程: CustomerServiceReceiveSend、 CustomerServiceNativeRequestResponse和 CustomerService 會撰寫大量解決方案。 CustomerServiceReceiveSend和CustomerServiceNativeRequestResponse協調流程會作為呼叫CustomerService協調流程的前端。 CustomerService協調流程會執行大部分工作—將要求傳送至後端應用程式、收集回復、將回復結合成單一訊息,以及將訊息傳送至適當的前端協調流程。 因為前端協調流程會呼叫 CustomerService 協調流程,所以前端協調流程會等到 CustomerService 協調流程完成為止。
解決方案會將 CustomerServiceNativeRequestResponse 協調流程公開為 Web 服務。 CustomerServiceReceiveSend協調流程會從 MQSeries 佇列取得訊息。
後端應用程式
服務導向解決方案會與三個後端應用程式通訊:
PaymentTracker應用程式會傳回最近付款的模擬清單。 PaymentTracker 會從 MQSeries 佇列讀取要求,並將回應傳送至另一個 MQSeries 佇列。
PendingTransaction應用程式會報告對客戶帳戶擱置的交易總和。 應用程式是 Web 服務,會接著使用 Microsoft Host Integration Server (HIS) 與大型主機電腦上的 CICS/COBOL 程式通訊。
SAP 應用程式會提供有關客戶整個信用限制的資訊。 解決方案會連接到 SAP 應用程式以做為 Web 服務。 應用程式會使用 BizTalk 配接器套件中的 SAP 配接器來與 SAP 系統通訊。
Pipelines
服務導向解決方案會使用預設管線,但兩個位置除外: CustomerServiceReceiveSend 協調流程的接收管線,以及 CustomerService 協調流程的傳送管線至 PaymentTracker。 這兩個管線均使用自訂元件。
CustomerServiceReceiveSend的接收管線包含自訂合作物件解析元件SSO 票證簽發者管線元件。 CustomerServiceReceiveSend協調流程收到的訊息沒有認證。 這可模擬若訊息來自「互動式語音回應」(Interactive Voice Response) 系統時會發生的情形。 自訂管線元件會使用 BizTalk 接收主控件的服務帳戶,來新增認證。
相反地, CustomerSericeNativeRequestResponse 協調流程收到的訊息已經有認證。 由於 Web 服務的虛擬資料夾是針對整合式安全性所設定,而 SOAP 接收位置則是設定為要整合「企業單一登入」(SSO),因此 SOAP 配接器會產生訊息票證。
另一個自訂管線會出現在 CustomerService 傳送管線至 PaymentTracker 應用程式。 MQSeries Header Setter Pipeline Component 元件會設定兩個 MQSeries 訊息標頭屬性的值。 元件會設定第一個訊息資料格式 (MQMD_Format) ,以指出訊息的格式是 MQCIH 結構,這是通常用來與 CICS 程式通訊的結構。 第二個是 MQCIH 結構內資料本身的格式, (MQCIH_Format) ,設定為顯示訊息為字串。
使用 MQCIH 格式可讓您在 MQCIH 結構中傳遞使用者識別碼和密碼。 SSO 聯盟應用程式會將 BizTalk 應用程式的 Windows 使用者識別碼對應至 MQCIH 結構中傳遞的付款追蹤系統使用者識別碼。
注意
解決方案的內嵌版本可從協調流程呼叫相同的管線來使用。 這樣即可重複使用管線程式碼。
用戶端應用程式
解決方案包含以 C# 撰寫的用戶端應用程式。 您可以使用應用程式,以 SOAP 或 MQSeries 訊息傳送要求,並檢查結果。
其他組件
應用程式包含上述摘要圖表中沒有顯示的數個輔助組件。 解決方案的 公用程式 元件公用程式函式。
ErrorHelper元件包含可將錯誤碼轉譯為訊息的類別,以及將錯誤訊息轉換成錯誤碼。
ServiceLevelTracking元件包含使用 Business Activity Monitoring (BAM) API 來追蹤服務等級協定資料的協助程式方法。
ConfigHelper元件包含協助程式方法,可從SSOConfigStore應用程式擷取解決方案的組態值。