部署就是把流程及其相关的文件发布到ActiveBPEL server中去。在部署时,ActiveBPEL将完成下面的事情:
1. 如果部署时没有指定流程在将来生效,那么流程将马上可以被执行;
2. 流程和部署的信息将被置入管理控制台,用户可以查看并管理;
3. 流程相关的信息将存入数据库中;
4. 如果部署出错,将给出错误信息。
ActiveBPEL引擎如果要执行一个流程,需要将BPEL文件和好几个辅助文件打包到一个BPR(Business Process aRchive)文件中。Bpr文件包括如下信息:
1. BPEL文件(.bpel)
2. BPEL流程中使用的wsdl文件(.wsdl)
3. 资源目录文件(包括wsdl中使用的本地XSD文件和XSL文件)
4. 流程部署描述符(.pdd文件)
5. 伙伴定义文件(可选,.pdef文件)
BPEL文件请参考BPEL标准,流程部署描述符文件将另外单独说明,下面讨论资源目录文件和伙伴定义文件。
资源目录文件
ActiveBPEL通过资源目录文件来查找流程需要的WSDL、XSD等资源文件。下面的例子显示了catalog.xml的一个entry的语法:
|
Location属性映射到资源文件的位置。它可以是pdd文件中resourceReferences块中的
在部署时加载资源文件的时候,ActiveBPEL引擎从pdd文件中读取resourceReferences,然后用
Classpath属性指定了资源文件在bpr文件中的位置,它是相对于bpr根目录的一个位置。
伙伴定义文件
伙伴定义文件对每个服务伙伴定义了端点信息。对于伙伴实现的每个伙伴链接类型,该文件定义了一个端点引用。
比如有个叫“国家银行”的服务伙伴,它向BPEL流程发送一个请求,想评估向某个客户发放贷款的风险。BPEL流程在评估风险后,将查找正确的服务端点,以回调“国家银行”。这是非常有用的,因为“国家银行”可能还有其他的服务链接类型,比如汇率调整或者保险请求等。伙伴定义文件可以为每个伙伴链接类型定义一个端点引用。
用户可以直接在bpr文件中加入.pdef文件作为伙伴定义文件;如果伙伴定义文件修改了,并不需要重新部署BPEL流程,只需要部署伙伴定义文件就可以。样例文件如下:
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:s="http://www.active-endpoints.com/wsdl/store">
|