本文是我两个月前初读bpel规范时总结出来的一点咚咚。hoho~当时写在实习日志上,东一榔头西一棒槌的可能很没有条理~欢迎大家批评指正。
预备知识:
1.Partner Link Type:用来表示服务间的依赖关系(dependencies)
每个Partner link type定义至多2个“role”names,lists the portTypes that each role must support for the interaction to be carried out.
2.partner link types: purchasingLT & schedulingLT
前者表示connection between the process & the requesting customer the purchase order service needs to offers a service operation ("sendPurchaseOrder").后者表示了interaction between the purchase order service & the schedulingservice.只有scheduling service 的operations被invoked.
3.invoicingLT & shippingLT定义2个roles
both the user of the invoice calculation & the user of the shipping service must provide callback operations to enable asynchronous notifications to be asynchronously sent.
4.invoiceCallbackPT & shippingCallbackPT portTypes
5.默认命名空间xmlns:
别名,正在使用多个命名空间时,别名根据需要用作元素或属性的前缀。
三个必须声明的外部命名空间是WSDL,SOAP,XMLSchema.
xmlns="http://schema.xmlsoap.org/wsdl/"是WSDL默认命名空间。
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"是SOAP命名空间。
xmlns:xsd="http://www.w3.org/2001/XMLSchema"是XMLSchema命名空间。
WSDL1.1,XMLSchema1.0,XPath1.0,WS-Addressing
TargetNameSpace:is a convention of XML Schema that enables the WSDL document to refer to itself.
6.purchase order process 作为invoice,shipping服务的user,必须提供回调操作以供call back.
7.几个processes:
- purchase order process
- invoice service
- shipping service
- production scheduling process
<variables>:
- WSDL Message types
- XMLSchema simple types
- XMLSchema elements
<partnerLinks>partnerLinkType & role name表示出了purchase order business process and other partner need to implement 需要实现portTypes
<faultHandlers>faults are identified by a qualified name(QName)
<sequence>
<receive>
<flow>
<reply>
</sequence>
3个并发活动之间的同步依赖关系用“links”连接。
link:connect a source activity to a target activity.
没有link时,<flow>中的活动并发执行,link引进了control dependency(控制依赖)
query Language:XPath1.0
expression Language: XPath1.0
suppressJoinFailure:流程中所有活动的JoinFailure故障是否被抑制。默认是“no”。
enableInstanceCompensation:流程实例作为一个整体可被平台特定的方法补偿。默认“no”
abstractProcess:流程是否被定义为abstract.默认“no”
<terminate>只能用在executable processes
<receive>允许流程阻塞等待一个匹配消息的到达
<reply>允许流程send a message in reply to a message that was received through a <receive>
<invoke>允许流程调用一个单向(one-way) or request-response operation on a portType offered by a partner
<assign>更新variables的值,一个<assign>可包含任意数量的基本数值
<throw>生成故障from inside the business process
<wait>wait for a given time period or until a certain time has passed.Exactly one of the expiration criteria must be specified
<empty>insert a "no-operation" instruction into a business process .useful for 同步并发活动
<sequence>define a collection of activities to be performed sequentially in lexical order
<switch>select exactly one branch of activity from a set of choices
<while>repeat an activity until a certain criteria has been met
<pick>block and wait for a suitable message to arrive or for a time-out alarm to go off .When one of these triggers occurs,the associated activity is performed and the pick completes
<flow>指定一个或多个并行的活动,并行活动之间可以定义links从而定义任意的control structures
<scope>定义嵌套的活动及其相关的variables,fault handlers,compensation handlers
<compensate>只能在正常完成的内层作用域(inner scope)调用compensation.can only be invoked from within a fault handler or another compensation handler
流程实例的创建是隐式的,接收消息的活动(receive & pick)可加上注解,以表示活动的进行将导致业务流程的新实例被创建。注解的方式是把这种活动的属性createInstance设置为“Yes”。当消息被这样的活动接收到后,如果该业务流程的实例还不存在,那么该业务流程的实例将被创建。这种活动是“start activity”
要使不止一个启动活动被并发地执行,所有这些活动必须使用至少一个correlation set 并必须使用同一个correlation set
分享到:
相关推荐
其中BPEL4WS就是属于用特定的服务组合定义语言模式,目前已经成为WEB服务组合的主流方法(注意:OWL-S是基于AI规划的WEB服务组合方法) BPEL4WS是专门为整合Web服务而制定的一项规范标准。BPEL4WS 的作用是将一组...
BPEL4WS规范v1.0 中文版
IBM developerWorks的一个BPEL教程
工作流执行语言,BPMN转化成BPEL的标准
基于BPEL4WS规范的工作流引擎的研究与设计,林川捷,,工作流起源于生产过程和办公自动化领域,它作为一个新的研究方向受到人们的关注。随着SOA概念的兴起,BPEL4WS规范已成为现代工作流��
BPEL4WS协议中数据共享问题的研究.pdf
Web Services Business Process Execution Language Version 2.0 Primer. 包含pdf和word两种格式。
针对服务流程建模语言BPEL4WS难以满足用户个性化需求也无法适应动态环境变化的问题,提出了一种动态优化BPEL4WS中流程服务的方法。该方法给出了一种Web服务交互代价计算模型,用来评价用户对Web服务的偏好程度以及...
这种表示方法被称为 Web 服务的业务流程执行语言(Business Process Execution Language for Web Services)(以下简称为 BPEL4WS)。用 BPEL4WS 表示的流程只能通过使用 Web 服务接口来导出和导入功能。
bpel4ws 2.0
BPEL_for-web-services-bpel-and-bpel4ws-2nd
介绍了接口自动机的基本语法,针对目前最主要的一种描述和执行基于工作流模式的Web服务组合的规范——Web服务商业流程执行语言 (business process execution language for Web services,BPEL4WS),定义了接口自动机...
BPEL4WS与基于ECA规则的过程模型的转换对于学习BPEL4WS建模的研究人员是个很好的参考资料。
北航老师的ppt,对bpel的讲解.关于bpel语法及规范
过程定义语言XPDL_BPML和BPEL4WS的比较分析.pdf 过程定义语言XPDL_BPML和BPEL4WS的比较分析.pdf 过程定义语言XPDL_BPML和BPEL4WS的比较分析.pdf
研究了基于Web服务的业务流程执行语言BPEL4WS(Business Process Execution Language for Web Services)的实现机制和关键技术,在此基础上,结合具体应用分析了BPEL4WS在分布式应用系统中的应用和实现。
搜索引擎-基于BPEL4WS的工作流引擎的研究与实现.pdf
基于浏览器的BPEL4WS开发环境的设计和实现,严国聪,,web服务在当今的企业中越来越流行。然而,企业中只有一小部分的技术人员懂得通过服务组合的方式来将当前已经存在的服务组合成满足
基于Cache的BPEL4WS引擎的Web服务异步调用机制,李玲勇,郑智刚,本文讨论了BPEL4WS执行引擎WebFlow对Web服务的异步调用机制,在引擎的服务调用代理中将对Web服务的调用统一采用非阻塞双传输异步调用,�
这是我学习bpel所做的一些笔记,里面有的是直接摘抄上面的我觉得值得注意的地方。