• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
鱼要的是海洋,鸟要的是天空,我要的是自由!
平凡的人不平凡的人生
博客园    首页    新随笔    联系   管理    订阅  订阅

BPEL4WS 概述

商业流程执行语言BPEL4WS(Business Process Execution Language For Web Services)是专为整合Web Services而制定的一项规范标准。

作为可执行流程的实现语言,BPEL4WS 的作用是将一组现有的服务整合起来,从而定义一个新的 Web 服务。因此,BPEL4WS 基本上是一种实现这样的整合的语言。与其它任何 Web 服务一样,整合服务的接口也被描述为 WSDL portType 的集合。整合(称为“流程”)指明了服务接口与整合的总体执行的配合情况。

介绍

BPEL4WS 支持两种截然不同的使用情形:

l        可执行工作流—描述业务交互中参与者的实际行为;

l        抽象流程—描述各方参与者对外可见的消息交换。

简单地说,BPEL的作用是将一组现有的服务组合起来,从而定义一个新的Web服务。因此,BPEL基本上是一种实现此种组合的语言。组合服务的接口也被描述为WSDL portType的集合。图 1((见附件))说明了从外部看到的 BPEL4WS 流程的上述情况。

SalesDB

start

end

Router

Billing

portType

WebService

WebService

WebService

WebService

(BPEL4WS流程)

Invoke

Receive

Invoke

Reply

  

 

   

 

 

 

 

 

 

 


图1 作为 BPEL4WS 流程实现的 Web 服务的视图

 

实现服务

不同于用传统的编程语言来实现 WSDL 服务,每个 portType 的每项操作并不映射成 BPEL4WS 中的一个独立的逻辑块。服务的整个类型(即该服务的 portType 集合)由单个 BPEL4WS 流程实现。这样,与调用接口操作的外部用户相对应的特定“入口点”在 BPEL4WS 描述中指明。

BPEL4WS 流程本身基本上就是一个流程图,类似于用来表达算法的流程图。流程的每一步称为一个活动。存在以下一些基本活动:调用某个 Web 服务上的操作( <invoke> ),等待一条消息来响应由某人从外部进行调用的服务接口的操作( <receive> ),生成输入/输出操作的响应( <reply> ),等待一段时间( <wait> ),把数据从一个地方复制到另一个地方( <assign> ),指明某个地方出错了( <throw> ),终止整个服务实例( <terminate> ),或者什么也不做( <empty> )。 通过使用语言所提供的任何结构化活动,可以将这些原语活动组合成更复杂的算法。

BPEL4WS 允许递归地组合结构化活动,以表达任意复杂的算法,这些算法表示了服务的实现。

至于这些操作如何使用,在后面的文章介绍。要进行联系的话可以利用Eclipse的BPEL插件。可以采取Update的方式进行安装,Update的更新超链接是http://download.eclipse.org/technology/bpel/update-site/

图2(见附件)显示了一个在Eclipse环境下的BPEL例子。

                图2  Eclipse环境下的BPEL例子
描述: 图1图2
附件: 图1图2.doc (116 K)
posted @ 2007-07-27 10:51  伊凡  阅读(881)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3