WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院软件开发Python 异步操作和 Web 服务,第 3 部分: 向 Web 服务添加... 阅读

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

 2010-03-23 00:00:00 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示: 管理请求的接收、把请求路由到适当的流程实例、执行完成一个或多个任务的流程逻辑、确保流相关性得到满足并且在所有的处理完成后立即生成响应 ― 所有这些都可以很容易地用 BPEL 描述出来、用兼容的(compliant)业务流程引擎来处理,而无需 IT 编程人员开发复杂的同步流-控制逻辑,异步操作和

管理请求的接收、把请求路由到适当的流程实例、执行完成一个或多个任务的流程逻辑、确保流相关性得到满足并且在所有的处理完成后立即生成响应 ― 所有这些都可以很容易地用 BPEL 描述出来、用兼容的(compliant)业务流程引擎来处理,而无需 IT 编程人员开发复杂的同步流-控制逻辑,他们也不必管理流程状态数据。

利用相关器,BPEL 使业务流程引擎能够创建新的流程实例来处理入站请求或者根据请求内消息属性的值把入站请求路由到现有的流程实例。在可以并行执行多个活动以优化性能的流程流中,需要使后继的相关活动同步。为标识同步相关性,BPEL 使用活动定义内的 links 来控制活动间的同步。如果一个活动的输出结果需要作为另一个活动的输入(或者换句话说,一个活动必须在另一个活动前执行),那么这个活动将把自身标识为一个链接的 source ,而依赖它的活动将把自己标识为 target 。有了这些信息,业务流程引擎就可以管理流程流的相互依赖性来控制整体输出结果,从而确保与请求客户机相关的响应的生成是一种一致的行为。

清单 5. link、source 和 target 示例

  
<flow> 
<!--Three synchronization links are defined --> 
<links> 
<link name="ReceiveRequest"/> 
<link name="XtoY"/> 
<link name="CtoD"/> 
</links> 
 
<receive partner="RequestingClient"> 
<source linkName="ReceiveRequest"/> 
</receive> 
<sequence name="X"> 
<target linkName="ReceiveRequest"/> 
<source linkName="XtoY"/> 
<invoke name="A" .../> 
<invoke name="B" .../> 
</sequence> 
<!--Sequence Y is dependent on Sequence X completing --> 
<sequence name"Y"> 
<target linkName="XtoY"/> 
<receive name="C"/> 
<source linkName="CtoD"/> 
</receive> 
<invoke name="E" .../> 
</sequence> 
<!--Invoke partner Requesting Client is dependent on Sequence X and Sequence Y completing --> 
<sequence name"D"> 
<target linkName="CtoD"/> 
<invoke partner="RequestingClient"/> 
<invoke name="F" .../> 
</sequence> 
</flow>  

上一页  5 6 7 8 9 10 

Tags:异步 操作 Web

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