BPEL4WS1.1学习笔记[1]

来源:互联网 发布:支付宝数据分析 编辑:程序博客网 时间:2024/04/29 15:06
 

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 scheduling service.只有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:

  1. purchase order process
  2. invoice service
  3. shipping service
  4. production scheduling process

<variables>:

  1. WSDL Message types
  2. XMLSchema simple types
  3. 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