首页 > 方案案例 > 正文

基于BPEL与ESB工作流管理系统框架研究

2008-12-12 09:23:09  来源:万方数据

摘要:本文首先介绍工作流、BPEL、ESB的相关知识,总结出基于BPEL的流程设计模式。同时参考工作流管理联盟提出的参考模型,给出基于BPEL与ESB工作流管理系统框架模型及框架中引擎结构,分析了
关键词: BPM 工作流管理

    引 言

    现代企业的发展和规模的扩大,企业信息及资源已呈现出异构分布和松散耦合的状态,原有集中式的模式已不能满足日益增长的事务处理、信息处理和决策支持等方面的要求。

    随着计算机技术的发展和Internet的广泛应用,工作流技术越来越受到人们的重视。工作流技术是一项为达到协同工作环境而进行人与人、人与部门、部门之间、企业之间信息的共享、交换、组织、分类、传递、处理和协调的技术。因此工作流管理系统的功能由最初的无纸化办公,转变成为简化企业复杂信息环境,实现企业业务流程自动化的工具。

    本文首先介绍框架使用的相关技术,如BPEL(Business Process Execution Language)、ESB(Enterprise Service Bus)和工作流系统,根据工作流联盟提出的工作流参考模型及BPEL的设计模式,结合企业服务总线ESB构造出工作流管理系统框架,并且细化出工作流引擎的框架结构。

    1 相关技术

    1.1 BPEL

    BPEL4WS(Business PD0cess Execution Language for Web Service,Web服务的业务流程执行语言,也称为BPEL)结合了基于图形的流程语言和块结构的流程语言的优点。提供了描述业务流程的定义语言,描述了时间、顺序、地点等相关内容。BPEL4WS主要基于WSDL 1.1、XML Schema 1.0和XPath 1.0规范。其中,WSDL(Web Senrice Description Language,Web服务描述语言)消息和XML Schema类型定义提供了BPEL4WS流程所需的所有数据模型。而所有需要的外部资源和伙伴(BPEL4WS中与业务流程交互的服务被模拟成伙伴partner,并由partneLinkType来声明)都被描述为WSDL服务。在WSDL中,porType使用抽象消息来定义抽象功能,服务的用户必须静态地依赖于这种抽象接口。这样,在基于BPEL4WS的业务流程中。外部的Web服务可像黑盒一样来为流程提供所需的服务,而不需要考虑开发的平台、异构系统等问题。

    1.2 ESB

    在工作流系统中所有的信息传输都是基于SOAP(Simple Object Access Pmtocol,简单对象访问协议)来完成的。其安全性方面不是十分可靠,因此采用了企业服务总线ESB。其结构如图1所示。

图1 ESB结构图
图1 ESB结构图


    ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应用(服务)和其它组件之间的互操作,同时是向服务体系结构(SOA)的一种基于标准的实现,它能够进行可靠连接和协调数百个应用程序端点。它是以“软总线”的方式,提供服务问协作、管理和控制的分布式架构,用于构建、集成、部署和监控管理各种企业的分布式资源。ESB还提供基于上下文的路由和过滤,采用XML作为信息表示与交换的标准,支持多种标准接口,分布式操作和管理。ESB总线可以并行挂接多个服务或应用程序。单个服务的修改或增加取消挂接无须影响到其他服务或应用程序。具有相当的灵活性和可配置性。

    1.3 工作流系统

    工作流管理联盟(WFMC,Worknow Management Coalition)发布的工作流参考模型(Workflow Reference Model),如图2所示,对工作流管理系统结构进行了通用的描述,同时总结了主要部件和相关接口。

图2 工作流管理联盟(WFMC)参考模型

图2 工作流管理联盟(WFMC)参考模型


    该模型说明工作流系统的核心是工作流执行服务(Workflow Enactment Senrice)。系统的这部分推动着案例在组织中流转,执行服务确保按照正确的次序由正确的人执行正确的活动。为此,必须使用过程定义工具(Pfocess Definition Tools)生成过程定义和资源分类。除了描述过程和组织,这些工具还常常为分析技术(如仿真)提供便利。工作项通过工作流客户应用程序提供给雇员,通过选中一个工作项,雇员能够开始执行具体案例中的特定任务。执行任务时,有时需要启动应用程序。所有可以被工作流系统所启动的应用程序在参考模型中称作被调用的应用程序(Invoked Application)。工作流追踪、案例控制和员工管理则由所谓的管理和监控工具(Administration and Monitoring Tools)支持,同时该模型图也给出了五个接口。

    2 BPEL流程设计

    根据IBM公司开发的BPEL引擎及使用指导,大致可以把BPEL的流程设计为以下模块。具体流程图如图3所示。

图3 BPEL流程设计模式

图3 BPEL流程设计模式


    (1)服务发布,各服务的提供者将其Web服务的描述进行发布,通常采用注册到某个UDDI服务器中的方法。

    (2)获取WSDL,BPEL流程开发者获得参与此流程的各Web服务的描述信息,如可以使用UDDI浏览器访问并获得WSDL。

    (3)编写BPEL流程定义,该步是重点,BPEL的引擎会根据流程的定义来分配任务。可以使用流程建模工具来生成流程定义BPEL文件和WSDL文件。

    (4)部署流程,设计完成的BPEL流程可以部署到BPEL流程引擎上运行,即将BPEL文件和WSDL文件成功部署在引擎上后,引擎将等待调用流程的SOAP消息,生成流程实例。

    (5)测试和运行流程,部署完成后流程需要进行测试,才能确认业务逻辑是否符合要求。BPEL流程对外暴露为一个Web服务,对它的调用方式与普通Web服务相同。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。