基于业务流程管理的企业应用集成框架及其实现

来源: 万方数据作者:陆剑峰 张浩 马玉敏 赵荣泳
2010/9/7 10:22:50
提出了基于业务流程管理的企业应用集成框架,其核心是为企业内和企业间的各种业务过程提供一个统一的建模、执行和监控的环境。

分享到: 新浪微博 腾讯微博

0引言

企业应用集成(Enterprise Applications Inte—gration,EAI)是企业在实施各类信息系统后必然的需求。EAI的目的是集中企业的信息系统资源,包括数据资源和功能资源,减少重复投入,降低数据和功能冗余带来的数据冲突和功能冲突。同时,利用EAI技术可以实现企业间的业务集成和企业到企业的电子商务模式(Business to Business,B2B)商务集成。例如,供应链管理敏捷制造等领域的应用。根据应用系统的不同,EAI的实现方法分以下几个层次:

(1)基于数据的集成。即通过访问数据库的方法来实现系统间的数据集成。这种方案对应用资源的重复使用率低,对同一组数据的类似处理方法会在不同的应用系统中重复开发,引起了系统内的功能冗余。

(2)基于功能的集成。这类方法实现了应用层的集成。但是调用的接口开发是一对一的。如果集成的系统数量比较多,则接口的开发工作量将呈指数增长。同时,功能调用的逻辑顺序,即业务的流程是被固定在相应的应用系统中的,如果需要更改这些流程,必须更改相应的系统程序。

(3)基于代理的集成。在这种方案下,服务代理只能对不同应用的功能调用进行管理,不会对整个业务的执行流程进行管理。同时,代理层的实现对开发技术的要求比较高,不同的中间件技术,例如分布式组件对象模型(Distributed Component Ob—ject Model,DCOM)、NET、公共对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)等又不能相互调用,在技术上受到限制。

(4)面向服务的架构(Serrice-Oriented Archi—tecture,SOA)。基于SOA集成的优点是,它能把各个应用的功能抽象成服务,通过请求/服务的方式来获取跨应用系统的功能调用和数据获取。服务一般只实现了功能和数据的互相集成,而没有对整个业务流程支持。但是,就象没有乐谱和指挥的交响乐团不能协同演奏出动听的音乐那样,如果不引入业务流程管理(Business Process Management,BPM)的技术来管理企业内部的不同应用提供的服务,就不能协调这些服务,完成企业的应用集成。

1 业务流程管理和业务流程执行语言

BPM是基于计算机网络技术、工作流技术、企业应用集成和可扩展标记语言(eXtended MarkupLanguage,XML)技术等,从业务过程的角度对企业进行全方位的管理,并支持业务过程的持续改进,其核心思想是为企业内及企业间的各种业务过程提供一个统一的建模、执行和监控的环境。与传统的应用系统不同,BPM以超越功能模块的方式来保证业务跨部门、用户和组织的边界运行。BPM建立在已经从个人用户和部门生产力所获得的价值上,并把它们扩展到一个组织范围。

业务流程的基本结构是一些相关的活动的集合,它们之间有着逻辑的和数据的依赖关系,同时还包括与活动相关的数据以及活动参与者等。许多组织和企业都提出自己的基于XML的业务流程描述语言。工作流管理联盟(Workflow ManagementCoalition,WfMC)提出了基于XML的流程定义语言(XML Process Definition Language,XPDL)规范,BPMI组织提出的业务过程建模语言(BusinessProcess Modeling Language,BPML) 以及和BEAIntalio、SAP及Sun四家公司联合推出的网络服务编排接口(Web Service Choreography Inter—face,WSCI)等。Web服务的业务流程执行语言(Business Process _execution Language for WebServices,BPEL4WS或BPEL)最初是由IBM与Microsoft联合提出的,它由IBM公司的web服务流程语言(Web Service Flow Language,WSFL)与Microsoft公司的XLANG合并而成,并继承了BPML规范的许多特性,它可以将以Web服务方式提供的业务功能组装成一个业务流程。BPEL是目前业界最为推崇的一个流程语言规范。

BPEL流程模型位于由WSDLl.1 Web服务描述语言(Web Services Descriptive Language,WSDL)所定义的服务模型之上。业务流程定义了怎样协调程实例与其伙伴间的交互。一个BPEL流程定义提供和/或使用一个或多个wSDL定义,还通过web服务接口提供流程实例相对于其伙伴和资源的行为和交互的描述。也就是说,BPEL定义了交互中某个角色的业务流程遵守的消息交换协议。流程主文件的基本结构分成4个部分:

(1)(containers>部分定义了流程使用的数据容器,用WSDL消息类型来提供它们的定义。容器使流程可以根据被交换的消息保存状态数据和流程历史。

(2)(partners>部分定义了在业务流程执行中涉及的Web服务。

(3)部分所包含的故障处理程序定义了在对调用评估和批准服务所产生的故障作出响应时必须执行的活动。

(4)流程正常执行的活动链。例如用(squence>标记包含的一系列串行活动。BPEL支持同步和异步的活动调用。对于流程执行过程中的异步活动是很有必要的,例如,一些人工审批活动节点就需要以异步的方式执行。

2 基于业务流程执行语言的企业应用集成框架

基于SOA的集成方案就是把应用的数据调用和功能调用都封装成服务,目前应用最广泛的是Web服务。然后把这些Web服务发布在企业的Intranet中,或者企业之间的Extranet中。不同应用通过调用这些Web服务完成跨平台的调用。所有的Web服务通过在统一描述、发现和集成协议(Universal Description,Discovery, and Integra—tion,UDDI)服务器上注册,便于其他应用能找到Web服务,同时,Web服务都通过WSDL文件进行自描述。这种实现方案把业务流程都固定在应中,用程序语言固定下来。如果流程发生变化,就需要重新修改源程序。同时,随着集成的应用更多,Web服务平台上会有很多服务组件供调用。过多的Web服务组件会造成调用者的迷惑和维护工作量的剧增。

SOA的核心是服务,从计算机系统开发者和企业业务流程的管理员角度来看服务,其含义和粒度是不同的。对计算机系统开发者来说,服务一般是指细粒度的、包含较少操作的底层服务,例如,用简单对象访问协议(Simple 0jbect Access Protocol,SOAP)技术封装的一个应用系统功能函数的调用。但从业务流程管理员的角度来看,服务是包含一个一串业务流程的、能实现一个基本功能的粗粒度服务。因为从业务流程管理员的角度,他不会涉及很小的底层服务,粗服务内部的业务流程相对固定而不需要进行经常的调整。

图1表示了企业应用系统中服务的不同层次。根据企业业务应用的特点,在企业服务环境中,服务的粒度是不同的。图1中的服务分为业务层,业务服务组件层和原子服务层3层。业务层是企业的最上层的服务,是直接进行人机交互的应用层。业务层的应用就是企业操作人员进行日常操作、完成日常事务的应用系统。该层的实现技术就是利用JSP、C#等应用开发语言,结合BPEL的流程定义,调用不同的业务服务组件来完成的。

企业业务和服务层次关系图

图1 企业业务和服务层次关系图

共4页: 上一页1 [2] [3] [4]
责编:赵新娜
vsharing 微信扫一扫实时了解行业动态
portalart 微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
畅享IT
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918
Baidu
map