面向服务的解决方案的组件
本部分对面向服务的解决方案的主要 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 应用程序报告针对客户帐户的待处理事务的总和。 而该应用程序是使用 Microsoft Host Integration Server (HIS) 与大型机上的 CICS/COBOL 程序进行通信的 Web Services。
SAP 应用程序提供有关客户的信用总限额的信息。 该解决方案将连接到作为 Web Services 的 SAP 应用程序。 应用程序使用 BizTalk 适配器包中的 SAP 适配器与 SAP 系统通信。
管道
面向服务的解决方案使用默认管道,但以下两个位置除外: CustomerServiceReceiveSend 业务流程的接收管道和 CustomerService 业务流程的发送到 PaymentTracker 的发送管道。 这两个管道都使用自定义组件。
CustomerServiceReceiveSend 的接收管道包括自定义参与方解析组件 SSO 票证颁发者管道组件。 CustomerServiceReceiveSend 业务流程接收的消息没有凭据。 这样可以模拟在消息来自交互式语音应答系统的情况下所发生的情况。 自定义管道组件将使用 BizTalk 接收主机的服务帐户来添加凭据。
相比之下, CustomerSericeNativeRequestResponse 业务流程收到的消息已有凭据。 由于为集成安全性配置了 Web Services 的虚拟文件夹,并且配置了 SOAP 接收位置以集成企业单一登录 (SSO),因此 SOAP 适配器将为该消息生成票证。
另一个自定义管道显示在 CustomerService 发送到 PaymentTracker 应用程序的管道中。 MQSeries 标头 Setter 管道组件将设置两个 MQSeries 消息头属性的值。 组件设置第一个消息数据格式 (MQMD_Format) ,以指示消息采用 MQCIH 结构(通常用于与 CICS 程序通信的结构)的形式。 第二种是 MQCIH 结构中数据本身的格式 (MQCIH_Format) ,设置为显示消息为字符串。
使用 MQCIH 格式可以在 MQCIH 结构中传递用户 ID 和密码。 SSO 关联应用程序将 BizTalk 应用程序的 Windows 用户 ID 映射到 在 MQCIH 结构中传递的付款跟踪系统的用户 ID。
注意
该解决方案的内联版本使用相同管道,方法是从业务流程中调用这些管道。 这样允许重用管道代码。
客户端应用程序
该解决方案包括使用 C# 编写的客户端应用程序。 可以使用该应用程序将请求作为 SOAP 或 MQSeries 消息进行发送并检查结果。
其他程序集
应用程序包括几个未显示在以上摘要图中的辅助程序集。 解决方案的 实用工具 程序集实用工具函数。
ErrorHelper 程序集包含用于将错误代码转换为消息以及将错误消息转换为错误代码的类。
ServiceLevelTracking 程序集包括使用业务活动监视 (BAM) API 来跟踪服务级别协议数据的帮助程序方法。
ConfigHelper 程序集包含用于从 SSOConfigStore 应用程序检索解决方案配置值的帮助程序方法。