对于网络服务来说,业务处理执行语言就是基于xml的语言(BPEL4WS,通常缩写为BPEL,读音与“people”类似),设计目标是为多个企业之间使用网络服务的组合实现分布计算或者网格计算环境激活共享任务。业务处理执行语言是来自BEA系统公司、IBM和微软公司的开发人员编写的。业务处理执行语言结合了并且替换了IBM的WebServices Flow Language (WSFL)和微软公司的XLANG规范。使用业务处理执行语言,程序员在形式上描述了一种发生在网络上的业务处理,其方式为任何互操作的实体都可以按照同样的方式执行一个或者多个处理中的步骤。在供给链处理中,例如,业务处理执行语言程序描述了一个业务协议,这个协议将构成产品订单的信息片断形式化,并且处理出现的异常情况。然而,业务处理执行语言程序不会指定某个特定的网络服务应该在内部以什么样的方式处理某个特定的订单。 业务处理执行语言服务器 有几种业务处理执行语言服务器可用。Oracle的业务处理执行语言处理治理器就是可获得的顶级服务器之一。
ActiveBPEL引擎
IBM的BPEL4WS编辑器和java运行时
Oracle的BPEL PRocess Manager
微软的 BizTalk Server 2004
其他的BPEL服务器
Oracle的BPEL Process Manager Oracle的BPEL Process Manager是一组非常轻易理解,并且很轻易使用的组件,可以用于创建、部署和治理BPEL业务处理。Oracle的BPEL Process Manager是一个集成到JDeveloper中的GUI开发工具。 Oracle的BPEL Process Manager体系结构 Oracle的BPEL Process Manager体系结构包含了一个设计器、处理治理器和控制面板。Oracle的BPEL Process Designer可以让你建模、编辑和设计处理。集成服务让你进行转换。包含了许多对于各种各样的源的适配器。核心的BPEL引擎支持BPEL标准,并且可以运行在各种语言程序服务器上。 支持的适配器 Oracle 的BPEL Process Manager让你可以通过它的适配器连接到数据源。这里是一些适配器的列表:
文件适配器
FTP适配器
Oracle的高级队列
数据库适配器
JMS适配器
Oracle的应用程序适配器
数据转换服务 Oracle 的BPEL Process Manager有一个内建的转换器组件。它在转换中使用了如下的标准:
假如你计划实现业务处理执行语言,你需要公布服务。网络服务是业务处理执行语言中的要害组件。这个服务需要通过UDDI注册,并且通过WSDL进行描述来进行公布。一旦服务公布了,你可以在你自己的业务处理流程中把它们包括进来。网络服务可以被调用(对网络服务的请求)。网络服务将会响应你的请求。就像你需要为某些数据转换进行计划一样。你需要计划如何处理异常情况。处理不会自动完成,所以你需要合并一些用户任务。要监控这些过程,你需要传感器。传感器可以发送通过业务活动监控器(BAM)报告的状态消息。Oracle的BPEL Process Manager可以帮助你所有这些步骤。GUI设计工具使用简单的拖拽来定义处理流程。要概括这些步骤,你需要:
发布服务(通过注册)
调用处理流程
执行数据转换
治理异常处理
包括用户人物
在处理流程中放置传感器
监控过程
值得注重的语录 Steve Brown是Metastorm的首席技术官:“假如说你正在构建一个应用程序,但是它使用的一些应用程序是它们自己的网络服务。你绝对会需要以一种灵活的组织所有这些网络服务的方式,确保它们都以正确的顺序执行,并且确保进行了检查和平衡。这就是BPEL4WS的目标领域。” Tom Siebel是Siebel系统公司的主席和首席执行官:“业务处理计算的紧急情况意味着日期的临近,单片电路的应用程序套件以及所有权综合解决方案都过去了。业务处理计算,基于开放的标准,将会让企业从某个供给商私有的体系结构中解脱出来。拥有了网络服务,应用程序功能性变得分解,每个可获得的功能都可以作为一项被任何其他应用程序或者网络上的服务在任何时间、任何地点访问(或者被消耗)的服务。” Adam Bosworth是BEA负责工程的副总裁:“Alan Kay可能说过,单个的事物市简单的,困难的事物是可能的。这就是我过去25年里面对大多数软件产品的软件开发经验,简单的事物应该被公布并且/或者可见,困难的事情应该被程序化。声明语言有一种很不幸的转移趋势,因为人们需要做那些困难的事情。当它们以这种方式成长的时候,不仅仅是大多数的人不能使用这些新的特性,他们还发现整个语言都更加令人畏缩。” 小结什么是业务处理执行语言? 业务处理执行语言是一种为了指定基于网络服务的业务处理行为的符号。它组织了业务处理。