1.Partner Link Type通过定义每个服务的“role”描述2个服务之间的conversational relationship,指定每个服务提供的portType,每个role指定一个WSDL portType。
2.Partner Linik与业务流程交互的服务成为PartnerLink,每个PartnerLink由PartnerLinkType来描述。一个PartnerLinkType可以描述多个PartnerLink。
3.Business Partner<partner>defined as a subset of the partner links of the process伙伴定义是可选的,引进a business partner可提供功能的限制。Partner definitions MUST NOT overlap.A partner link MUST NOT appear in more than one partner definition.
4.Endpoint reference服务的用户必须静态地依赖于由portType定义的抽象接口。但通常可动态地发现和使用包括在port定义中的信息,使动态选择某种特定类型服务的提供者并调用它们的操作。在流程部署的时候,partner link中的每个partner role被分配给一个unique endpoint reference.
消息中的data包含2部分:application data & protocol-relevant data
message context
Boolean-valued expr Deadline-valued expr
Duration-valued expr General expressions(assignment)
bpws:getVariableProperty('variableName','propertyName')抽取变量的全局属性值
bpws:getLinkStatus('linkName')返回布尔值,表示link的状态,只能用于join condition
Deadline-valued返回dateTime或date
variable的类型:WSDL message type, XML Schema simple type, XML Schema element
在同一个作用域中,不允许两个变量有相同的名字,不同的type, messageType, type element用于指定variable的类型。
XML Schema complex type必须和element一起用
当invoke操作返回a fault message,在当前作用域中产生故障,相关的fault handler中的fault variable被初始化(接收到fault message后)
variable可被初始化:assignment / receiving a message,通过property assignment可被部分初始化。
<assign> copy data from one variable to another也可使用表达式来构造和插入new data
兼容性:copy endpoint reference to and from partner links.
Correlation(相关)
A set of correlation tokens is defined as a set of properties shared by all messages in the correlated group.Such a set of properties is called Correlation Set.
Correlation Set在作用域中声明。
对于携带相关集的所有操作中的所有消息来说,业务流程实例中的相关集的属性值必须相同。如违反,则抛出bpws:correlationViolation.如果一个活动企图使用还未初始化的相关集,也会抛bpws:correlationViolation。
使用别名(Alias)把抽象属性映射到由选择标识的消息数据中的字段。
2个Correlation Set: PurchaseOrder & Invoice
initiate的default是“no”