WEB开发网
开发学院软件开发Python 异步操作和 Web 服务,第 3 部分: 向 Web 服务添加... 阅读

异步操作和 Web 服务,第 3 部分: 向 Web 服务添加业务语义

 2010-03-23 00:00:00 来源:WEB开发网   
核心提示: 您可能会觉得上面这段描述在现阶段有点笼统,所以我将回顾一些关于如何使用 BPEL 来满足我在上面列出的支持异步操作的六条要求的具体示例,异步操作和 Web 服务,第 3 部分: 向 Web 服务添加业务语义(7),定义回调机制流程和给定的伙伴(也就是一个单独的 Web 服务)之间的点对点消息交换

您可能会觉得上面这段描述在现阶段有点笼统,所以我将回顾一些关于如何使用 BPEL 来满足我在上面列出的支持异步操作的六条要求的具体示例。

定义回调机制

流程和给定的伙伴(也就是一个单独的 Web 服务)之间的点对点消息交换被看作是它们双方之间根据它们的关系进行的交互。这两方之间的关系被建模为 serviceLinkType ,其中最多定义两个角色。每个角色都必须至少支持一个 portType 以使交互能取得成功。

清单 1. serviceLinkType 示例

<serviceLinkType name="BuyerSellerLink" 
 xmlns="http://schemas.xmlsoap.org/ws/2002/07/service-link/"> 
 <role name="ServiceProvider"> 
 <portType name="Serviceprovider:ServicePortType"/> 
 </role> 
 <role name="Client"> 
 <portType name="Client:CallbackmechanismPortType"/> 
 </role> 
</serviceLinkType> 

如果希望异步响应成为交互的一部分,就要为 serviceLinkType 标识两个角色,如上面的清单 1 所示:一个用作服务提供者,标识所提供服务的 portType , 一个用作请求客户机,标识将处理与请求相关的异步响应的 回调机制(callback mechanism)服务的 portType 。

业务流程使用的 Web 服务被建模为 partners ;因此,内部服务和外部业务伙伴服务都要应用。 partners 定义交互的参与者,其中每个参与者的角色都根据为 serviceLinkType (它对关系进行建模)定义的角色来标识。

清单 2. partners 示例

<partners> 
 <partner name="RequestingClient" serviceLinkType="BuyerSellerLink" 
 myRole="ServiceProvider"? partnerRole="Client"?>+ 
 </partner> 
</partners> 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:异步 操作 Web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接