论文部分内容阅读
1 引言
许多企业都具有许多跨不同部门、地理位置或分支机构的异类应用程序组合。尽管可以使用多个 ERP系统来满足业务单元的要求,但它们实际上会导致数据碎片。集成这些系统比较复杂,并且通常采用专用方式进行处理。尽管如此,公司仍投入了大量的资源来集成遍布多个 ERP 系统的信息,以便作出更好的业务决策。BPEL 提供了一个以流程为中心的标准方法来集成不同的系统。对一个企业内部单个系统,企业内部多个系统,企业间的多个系统进行业务流程管理,可以自适应业务流程根据特定企业不断变化的需要进行快速的定制,更快实现自动化、降低开发成本并缩短投放市场的时间。
Oracle BPEL Process Manager 通过将一系列同步和异步的服务组合到一个端到端 BPEL 流程流中,简化了基于面向服务的体系结构 (SOA) 开发应用程序的流程,为设计、部署和管理 BPEL 业务流程提供了一个开发人员易于使用的可靠的解决方案。 本文主要介绍BPEL的相关概念特性以及Oracle BPEL的结构特性。
2 BPEL相关概念
BPEL又名BPEL4WS,全称Business Process Execution Language For Web Services即业务流程执行语言。BPEL是专为整合Web Services而制定的一项规范标准,其作用是将一组现有的服务组合起来,从而定义一个新的Web服务。因此,BPEL基本上是一个实现此种组合的语言,组合服务的接口也被描述为WSDL Port Type的集合。
BPEL提供一种语言,可以用来描述可执行工作流(描述业务交互中参与者的实际行为)和抽象流程(描述各方参与者对外可见的消息交换)。实际上,BPEL 的一个主要特点就是它表示两种类型流程的能力:使得一种类型的流程到另外一种类型的流程的转换过程变得容易。
BPEL关心流程是如何受控的。流程模型化方面的两个主要控制方法是分级控制和类图控制,前者与结构化编程语言中的一样,而对于后者活动的执行主要受控于表明活动间显式依赖关系的链接。BPEL支持这两种类型的控制方法,并允许在流程内交替使用这二者。
BPEL 应对的是与长期运行的业务流程相关的挑战。大多数的业务流程会持续相当长的时间,因而需要一个长期运行的事务模型。BPEL 使用一个具有隐式和显式补偿的模型,因此故障可以被轻易地处理,无须做不切实际的假定——即能够将事务锁定一段不定的时间。对补偿处理的内在支持和良好定义的原子活动是该模型的关键。
总的来说,BPEL的特性如下:
(1)以Web Services/WSDL 作为组件模型;
(2)以XML作为数据模型 (数据松散耦合);
(3)同步和异步的消息交换模式;
(4)确定的和不确定的流程调和;
(5)分等级的异常管理;
(6)长期变动的工作单元和补偿单元。
3 BPEL服务器
目前有几种常用的BPEL服务器:
(1)Active BPEL引擎;
(2)IBM 的BPEL4WS编辑器;
(3)Oracle的BPEL Process Manager;
(4)微软的 BizTalk Server;
(5)其它的BPEL服务器。
其中Oracle的BPEL Process Manager就是可获得的顶级BPEL服务器之一。它是一组非常容易理解,并且很容易使用的组件,可以用于创建、部署和管理BPEL业务。Oracle的BPEL Process Manager是一个集成到JDeveloper中的GUI开发工具。
图1 Oracle BPEL PM
Oracle的BPEL Process Manager体系结构包含了一个设计器、处理管理器和控制面板。Oracle的BPEL Process Designer可以让你建模、编辑和设计处理。集成服务让你进行转换,包含了许多对于各种各样的源的适配器。核心的BPEL引擎支持BPEL标准,并且可以运行在各种语言程序服务器上。
4 小结
借用Metastorm的首席技术官Steve Brown的话作为对BPEL的总结:“如果说你正在构建一个应用程序,但是它使用的一些应用程序是它们自己的网络服务。你绝对会需要以一种灵活的组织所有这些网络服务的方式,确保它们都以正确的顺序执行,并且确保进行了检查和平衡。这就是BPEL4WS的目标领域。”
BPEL基于开放的标准,将会让企业从某个供应商私有的体系结构中解脱出来。拥有了网络服务,应用程序功能得到分解,每个可获得的功能都可以作为一项被任何其他应用程序或者网络上的服务在任何时间、任何地点访问(或者被消耗)的服务,拥有广阔的发展前景。
许多企业都具有许多跨不同部门、地理位置或分支机构的异类应用程序组合。尽管可以使用多个 ERP系统来满足业务单元的要求,但它们实际上会导致数据碎片。集成这些系统比较复杂,并且通常采用专用方式进行处理。尽管如此,公司仍投入了大量的资源来集成遍布多个 ERP 系统的信息,以便作出更好的业务决策。BPEL 提供了一个以流程为中心的标准方法来集成不同的系统。对一个企业内部单个系统,企业内部多个系统,企业间的多个系统进行业务流程管理,可以自适应业务流程根据特定企业不断变化的需要进行快速的定制,更快实现自动化、降低开发成本并缩短投放市场的时间。
Oracle BPEL Process Manager 通过将一系列同步和异步的服务组合到一个端到端 BPEL 流程流中,简化了基于面向服务的体系结构 (SOA) 开发应用程序的流程,为设计、部署和管理 BPEL 业务流程提供了一个开发人员易于使用的可靠的解决方案。 本文主要介绍BPEL的相关概念特性以及Oracle BPEL的结构特性。
2 BPEL相关概念
BPEL又名BPEL4WS,全称Business Process Execution Language For Web Services即业务流程执行语言。BPEL是专为整合Web Services而制定的一项规范标准,其作用是将一组现有的服务组合起来,从而定义一个新的Web服务。因此,BPEL基本上是一个实现此种组合的语言,组合服务的接口也被描述为WSDL Port Type的集合。
BPEL提供一种语言,可以用来描述可执行工作流(描述业务交互中参与者的实际行为)和抽象流程(描述各方参与者对外可见的消息交换)。实际上,BPEL 的一个主要特点就是它表示两种类型流程的能力:使得一种类型的流程到另外一种类型的流程的转换过程变得容易。
BPEL关心流程是如何受控的。流程模型化方面的两个主要控制方法是分级控制和类图控制,前者与结构化编程语言中的一样,而对于后者活动的执行主要受控于表明活动间显式依赖关系的链接。BPEL支持这两种类型的控制方法,并允许在流程内交替使用这二者。
BPEL 应对的是与长期运行的业务流程相关的挑战。大多数的业务流程会持续相当长的时间,因而需要一个长期运行的事务模型。BPEL 使用一个具有隐式和显式补偿的模型,因此故障可以被轻易地处理,无须做不切实际的假定——即能够将事务锁定一段不定的时间。对补偿处理的内在支持和良好定义的原子活动是该模型的关键。
总的来说,BPEL的特性如下:
(1)以Web Services/WSDL 作为组件模型;
(2)以XML作为数据模型 (数据松散耦合);
(3)同步和异步的消息交换模式;
(4)确定的和不确定的流程调和;
(5)分等级的异常管理;
(6)长期变动的工作单元和补偿单元。
3 BPEL服务器
目前有几种常用的BPEL服务器:
(1)Active BPEL引擎;
(2)IBM 的BPEL4WS编辑器;
(3)Oracle的BPEL Process Manager;
(4)微软的 BizTalk Server;
(5)其它的BPEL服务器。
其中Oracle的BPEL Process Manager就是可获得的顶级BPEL服务器之一。它是一组非常容易理解,并且很容易使用的组件,可以用于创建、部署和管理BPEL业务。Oracle的BPEL Process Manager是一个集成到JDeveloper中的GUI开发工具。
图1 Oracle BPEL PM
Oracle的BPEL Process Manager体系结构包含了一个设计器、处理管理器和控制面板。Oracle的BPEL Process Designer可以让你建模、编辑和设计处理。集成服务让你进行转换,包含了许多对于各种各样的源的适配器。核心的BPEL引擎支持BPEL标准,并且可以运行在各种语言程序服务器上。
4 小结
借用Metastorm的首席技术官Steve Brown的话作为对BPEL的总结:“如果说你正在构建一个应用程序,但是它使用的一些应用程序是它们自己的网络服务。你绝对会需要以一种灵活的组织所有这些网络服务的方式,确保它们都以正确的顺序执行,并且确保进行了检查和平衡。这就是BPEL4WS的目标领域。”
BPEL基于开放的标准,将会让企业从某个供应商私有的体系结构中解脱出来。拥有了网络服务,应用程序功能得到分解,每个可获得的功能都可以作为一项被任何其他应用程序或者网络上的服务在任何时间、任何地点访问(或者被消耗)的服务,拥有广阔的发展前景。