在业务流程中使用SOAP适配器2010-02-06 MSDN Aaron Skonnard目录Web服务适配器使用SOAP适配器SOAP传输属性在业务流程中使用SOAP适配器WSE 2.0适配器WCF适配器总结本月我将带您进入令人兴奋的BizTalk Server 2006 世界,并向您介绍 BizTalk Server 2006 对目前 Web服务技术的支持。您将学会如何使用现已推出的SOAP和Web服务增强 (WSE)适配器,并对即将推出的BizTalk® Server 2006 R2版本中随附的Windows® Communication Foundation (WCF)适配器有所了解。BizTalk Server 2006的构建基于一个灵活的消息传送子系统,该系统可改善异类应用程序之间联系松散的消息传送交互。消息传送层可提供许多集成的益处,如消息路由、架构变换和格式转换。消息传送层的核心是一个被称为MessageBox的SQL Server™ 数据库。由消息传送层处理的所有消息都要经过 MessageBox,以进行路由选择、跟踪和错误的处理。MessageBox的运行原则是“不在后台保留任何消息”,这一功能对于可靠性至上来说是非常关键的。但公平地讲,如果对性能要求更为重要,使用该功能也许会适得其反。通过在MessageBox 中定义消息订阅(也称为“筛选器”),可以控制消息在应用程序之间的传送方式。筛选器的定义可以在管理控制台上(发送端口上)进行,也可以通过定义逻辑端口在业务流程中间接进行定义。如图 1 所示,在发布消息时,MessageBox 根据订阅对传入消息进行评估,并将消息传送给所有匹配的订阅服务器(发送端口或业务流程)。这一发布/订阅体系结构使接收人与发送人完全分离。

图 1BizTalk消息传送体系结构BizTalk 与外界的交互是通过适配器来进行的。适配器采用特定的传输模式接收字节,并创建一个新的BizTalk消息,当接收管道和映射(XSLT 变换)有机会对传入消息执行操作后,该消息就会发布到 MessageBox(参见图 2)。反之传送传出消息也是如此。映射和发送管道有机会对传出消息执行操作后,适配器将生成的字节传送到传输模式。在BizTalk 中,这些详细信息是通过发送和接收端口来进行配置的。

图 2 BizTalk 内部端口BizTalk 支持单向和双向端口。在接收端,您可以定义单项接收端口,仅接收消息而不返回任何内容。也可以定义请求-响应接收端口,在收到请求时将响应消息回发给呼叫方。同样,在发送端,您也可以定义单向端口或要求-响应端口。BizTalk Server 2006 附带了多种可支持众多传输模式和协议的适配器,其中有几个是专为SOAP和WS-* 而设计的。除了 SOAP和WS-* 外,BizTalk 还支持许多通讯机制,这是其最吸引人的特点之一。 对于那些必须在维持旧有应用程序和对新式服务进行投入二者之间权衡取舍的系统来说,这一点使 BizTalk 成为他们关注的焦点。Web服务适配器BizTalk Server 2006要与SOAP和WS-* 集成,需要借助图 3 所列的彼此不同的Web服务适配器来实现。SOAP适配器随BizTalk Server 2004及更高版本附带,可支持 WS-I Basic Profile 1.1 (BP 1.1)消息。如果您需要支持 WS-* 协议,则必须借助市面提供的WSE适配器,或等待 BizTalk Server 2006 R2版本中附带的Windows Communication Foundation适配器。

Figure3Microsoft的BizTalk Web服务适配器
适配器 | BizTalk Server 2004 | BizTalk Server 2006 | BizTalk Server 2006 R2 |
SOAP | 包括 | 包括 | 包括 |
WSE 2.0 | 提供下载 | 提供下载(需要 SP1) | 提供下载(需要 SP1) |
WCF | 不包括 | 不包括 | 包括 |