首页 历史故事 网络服务业务流程执行语言()

网络服务业务流程执行语言()

时间:2022-01-20 历史故事 版权反馈
【摘要】:BPEL可以组合服务进程,实现进程之间的交换,它定义了抽象的和可执行的两种进程。图8.2显示了一个BPEL的WSDL服务描述文件片断。BPEL中首要的是声明变量和定义参与者的角色,该例子中WCS、WPS就是参与组合服务的角色。图8.3 BPEL的主要部分BPEL包括基本行为和结构行为。Oracle BPEL引擎是现有的最成熟、可伸缩性最强和最强健的BPEL服务器。
网络服务业务流程执行语言()_网络地理信息系统

8.1.3 网络服务业务流程执行语言(BPEL)

网络服务业务流程执行语言(Web Services Business Process Execution Language,WSBPEL)简称BPEL,是一种用XML编写的编程语言,用于自动化业务流程。广泛使用在Web服务相关的项目开发中,具有可移植性。BPEL可以组合服务进程,实现进程之间的交换,它定义了抽象的和可执行的两种进程。BPEL是从工作流的传统模型演变过来的,引用了结构化编程思想,然后在WSDL和XML规范的基础上实现的,是WSFL 和XLANG融合的产物。

BPEL将几个细粒度的服务聚合在一起,形成一个新的服务,新的服务必然也需要服务的描述信息,这就定义了BPEL的WSDL来描述组合服务。图8.2显示了一个BPEL的WSDL服务描述文件片断。Import里面包含的是原子服务的WSDL文件,partnerLinkType表示该组合服务引用到了哪些服务,比如说该例子里面就用到了WCS服务和WPS服务的WSDL。其他部分就是一个完整WSDL本身需要的消息定义、操作定义、接口定义等。

img102

图8.2 BPEL的WSDL描述文件示例

图8.3是BPEL文件的片断。BPEL中首要的是声明变量和定义参与者的角色,该例子中WCS、WPS就是参与组合服务的角色。然后还要定义服务的执行请求和执行响应,指定各服务之间是串行还是并行,然后按结构顺序执行服务,获取相应的数据。BPEL一般通过调用partnerLink里面的函数拿到相关的输出数据赋值给指定的变量。

img103

图8.3 BPEL的主要部分

BPEL包括基本行为和结构行为。基本行为例如invoke可以执行一个服务;receive从外界获取组合服务运行所需输入;assign进行变量赋值;reply返回组合服务运行结果;throw抛出异常等。结构行为可以实现顺序、选择、并行、循环等操作。

目前比较成熟的商业界BPEL软件有Oracle。Oracle是最早推出BPEL编辑器和引擎的产商,功能全面而且非常的稳定。Oracle BPEL流程管理器(Oracle BPEL Process Manager)提供了一个图形化和用户友好的流程设计器(图8.4)、可简化常见任务的用户友好向导、用于管理和调试部署流程的基于Web的用户友好控制台等。Oracle BPEL引擎是现有的最成熟、可伸缩性最强和最强健的BPEL服务器。开源的BPEL软件有Apache的ODE以及ActiveBPEL等,其中ActiveBPEL对它的BPEL执行引擎是开源的,但BPEL设计界面是不开源的。

img104

图8.4 Oracle JDeveloper BPEL Designer界面

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈