程炜面向Web服务业务流程管理系统研究和实现.docx
- 文档编号:3734161
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:53
- 大小:463.09KB
程炜面向Web服务业务流程管理系统研究和实现.docx
《程炜面向Web服务业务流程管理系统研究和实现.docx》由会员分享,可在线阅读,更多相关《程炜面向Web服务业务流程管理系统研究和实现.docx(53页珍藏版)》请在冰豆网上搜索。
程炜面向Web服务业务流程管理系统研究和实现
分类号_______密级_______
UDC_______
硕士学位论文
面向Web服务的业务流程管理系统
的研究和实现
学位申请人:
程炜
学科专业:
通信与信息系统
指导教师:
杨宗凯教授
论文答辩日期2003年5月10日学位授予日期
答辩委员会主席刘文予评阅人刘文予谭运猛
AThesisSubmittedinPartialFulfillmentoftheRequirements
fortheDegreeofMasterofEngineering
ResearchandImplementationofWebService-OrientedBusinessProcessManagementSystem
Candidate:
ChengWei
Major:
Communication&InformationSystem
Supervisor:
Prof.YangZongkai
HuanghzongUniversityofScience&technology
Wuhan,430074,P.R.China
May2003
摘要
近几年,随着电子商务的深入发展,对企业信息化程度提出了更高的要求,如何利用现代网络技术来帮助企业管理各类业务流程,实现业务流程自动化已成为企业关注的热点。
所谓业务流程(BusinessProcess,BP),是指为了在一定时期内达到特定的商业目标,而按照各种商业规则连接起来的业务功能的集合。
这些业务功能是抽象定义的:
业务功能的具体实现受限于业务功能运行所需的可用资源。
业务功能的构成由商业目标决定。
业务流程中商业规则的目的是为了业务管理决策的实现。
而业务流程管理(BusinessProcessManagement,BPM)是理解、系统化、自动化以及改进公司业务运作方式的一门艺术,它可以看作是文档工作流和企业应用集成的紧密结合。
BPM的技术实现被称为业务流程管理系统(BusinessProcessManagementSystem,BPMS)。
BPMS能够为管理者提供定义、变更、实施业务流程的方法,并保证灵活性和一致性,从而不必考虑业务流程实现的细节问题。
本文通过对企业应用系统集成框架、企业业务流程管理及自动化方面关键技术的研究,将BPM技术与Web服务技术相结合,提出了一种面向Web服务的应用集成框架,并在此基础上提出了一套基于J2EE的BizPro业务流程管理系统的实现方案,同时详细论述了BizPro系统中的核心组件流程引擎的具体实现方法,并以论文审批流程为例,介绍了业务流程在实际中部署实施的完整过程。
BizPro系统可以为企业提供一个面向业务流程的应用集成平台,帮助企业在多个应用系统之间实现业务流程的定制、管理、执行、监控和优化,缩短实施或变更业务流程的开发周期,并通过对应用系统的无缝集成实现业务流程处理的自动化。
关键词:
业务流程管理系统Web服务企业应用集成流程引擎业务流程建模语言简单对象访问协议可扩展标识语言
Abstract
Recently,withtherapiddevelopmentofE-Business,theissuesthathowtohelptheenterprisesmanagetheirvariousbusinessprocessesandimplementthebusinessprocessautomationwithmodernnetworktechnologieshavebecomethefocusofattention.
Byabusinessprocess(BP),wemeananinterconnectedsetofbusinessfunctions,constrainedbyvariousbusinessrulesinordertoachieveaspecificsetofbusinessgoalspertainingtoaspecificenterpriseovertime.Thebusinessfunctionsaredefinedabstractly:
Thespecificimplementationofabusinessfunctiondependsontheresourcesavailableatthetimeitmustbeexecuted.Whatconstitutesabusinessfunctionisdeterminedbyobjectivesoftheenterprise.TheassertionofbusinessrulesinaBParenothingmorethantheimplementationofbusinessmanagementdecisions.BusinessProcessManagement(BPM)istheartofunderstanding,codifying,automating,andimprovingthewayacompanydoesbusiness.BPMcanalsobeseenasamarriagebetweendocumentworkflowandEnterpriseApplicationIntegration(EAI).ThetechnologicalimplementationofBPMiscalledaBusinessProcessManagementSystem(BPMS).ABPMSprovidesmanagerswiththemeansfordefining,changing,andimplementing(viaintegrationservices)abusiness’sprocesseswithagilityandconsistency,irrespectiveofthedetailsoftheirimplementation.
BasedontheresearchontheEAIarchitectureandthekeytechnologiesforBPManagementandAutomation,thispaper,combiningtheBPMandWebServices,provideanewWeb-Service-OrientedEAIarchitecture,andasolutionforaJ2EE-basedBPMS,BizPro.Furthermore,italsodiscussedtheimplementationoftheProcessEngine,thecorecomponentinBizPro,andintroducedtheimplementationanddeploymentofaBPinpracticebyasample.TheBPMSprovideanBP-Orientedapplicationintegrationplatformforenterprisesandhelpthemdefine,manage,execute,monitorandimprovetheBPcrossingvariousapplicationsystems.UsingthisBPMS,enterprisescanreducethetimeandcostofimplementingorchangingtheBP,andautomatetheBPbytheseamlessintegrationamongapplicationsystems.
Keyword:
BPMS;WebService;EAI;ProcessEngine;BPML;SOAP;XML
缩略语
BP-BusinessProcess业务流程
BPEL4WS-BusinessProcessExecutionLanguageforWebServices
Web服务的业务流程执行语言
BPM-BusinessProcessManagement业务流程管理
BPML-BusinessProcessModelingLanguage业务流程建模语言
BPMS-BusinessProcessManagementSystem业务流程管理系统
CORBA-CommonObjectRequestBrokerArchitecture
公共对象请求代理架构
DCOM-DistributedComponentObjectModel分布式组件对象模型
EAI-EnterpriseApplicationIntegration企业应用集成
EJB-EnterpriseJavaBean企业JavaBean
ERP-EnterpriseResourcePlanning企业资源计划
J2EE-Java2Platform,EnterpriseEditionJava2企业平台
JMS-JavaMessageServiceJava消息服务
JSP-JavaServerPagesJava服务器页面
MOM-MessageOrientedMiddleware消息中间件
RMI-RemoteMethodInvocation远程方法调用
SOAP-SimpleObjectAccessProtocol简单对象访问协议
UDDI-UniversalDiscovery,Description,Integration服务发布与发现机制
WSCI-WebServiceChoreographyInterfaceWeb服务协作接口
WSFL-WebServiceFlowLanguageWeb服务流程语言
WSDL-WebServiceDescriptionLanguageWeb服务描述言语
XML-eXtensibleMarkupLanguage可扩展置标语言
XPDL-XMLProcessDefinitionLanguageXML流程定义语言
1绪论
2BizPro业务流程管理系统的分析与设计
3基于J2EE的流程引擎的设计与实现
4BizPro业务流程管理系统的应用
5结束语
1绪论
企业内部流程整合和B2B电子商务是目前电子商务领域两大热点。
近年来,业务流程管理系统(BusinessProcessManagementSystem,BPMS),作为企业业务流程整合及B2B商务自动化处理的重要组成部分,正得到企业界越来越高的重视。
另一方面,Web服务作为一种基于Internet的面向电子商务的分布式计算体系结构,结合了面向组件方法和Web技术的优势,目前已经得到了IT领域的普遍认可和支持,并正在成为B2B(BusinesstoBusiness)电子商务的重要途径。
本章从总体上介绍了BPMS的相关概念及其与Web服务技术相互融合的发展趋势,说明了本课题的背景、来源及研究意义。
1.1课题背景
本课题来源于国家十五科技攻关“电子商务与现代物流技术研究开发及示范工程”项目中的“基于行业中间件的电子商务系统集成技术研究与应用”课题。
该课题在中间件技术、三层结构技术、XML(eXtensibleMarkupLanguage)技术及相关工业标准的基础上,从电子商务系统集成框架、底层支撑服务、商务流程集成与企业间商务协同、电子商务应用平台等多个角度出发,对电子商务系统集成中涉及到的关键核心技术,进行系统深入的研究,开发一组符合我国国情、具有自主知识版权、支持主流电子商务标准、面向企业业务流程的电子商务系统集成平台,并在具有电信、流通领域特点的区域、省市推广应用,实施电子商务系统集成的示范工程。
电子商务要想健康发展,除了外部环境的诸多因素外,最关键的还是企业自身所要解决的许多问题,这些问题包括:
∙随着企业的发展,企业内部数据和信息不断积累,但与此同时,存储和维护这些资源的应用系统之间却相互隔离,形成“信息孤岛”。
∙有许多企业的内部系统根本无法集成,即使可以集成,也往往是采取硬编码方式,将整合的业务流程固化到集成应用系统中,因此,一个简单业务流程的实现也可能会消耗大量的人力、物力,同时也会为系统本身带来许多潜在的不稳定因素,这种硬编码的集成方式往往是系统刚刚部署完成,企业的业务需求就已经发生变化。
∙每个应用系统的数据描述格式均不相同,很难在企业间甚至是在企业内进行便捷的信息交换,所以如今的企业往往是依靠大量的人工操作来完成不同应用系统间的连接与协作。
∙企业如果要适应如今瞬息万变的市场变化,就必须能够灵活调整自己的业务流程和商业规则,但是在集成的系统环境中,没有强大技术支持是不可能达到这个目标的,一个简单业务的变更,需要技术人员和商务人员一次又一次的交流和沟通,浪费了大量的资源和宝贵的时间。
∙企业如今拥有庞大规模的用户群及合作伙伴,如何能够让任何人在任何时间、任何地方使用任何设备都能够获得他满意的服务将是企业最关心的问题。
因此电子商务系统集成方案首先要解决的是企业内应用集成的问题,只有企业内应用系统具有良好的互操作性和统一的流程管理模式,才能为企业的用户和商业伙伴提供高效的服务;但是如前所述,由于企业内各应用系统间的数据格式差别很大,所以解决应用集成首先就要解决传统数据转换的问题;其次是实现企业应用系统间的互操作,然后要解决的问题就是建立统一的流程管理模式,使业务分析人员可以直接通过设计业务流程来协调各应用系统的协作关系,从而构造出新的、完整的服务。
在此基础之上,如果企业具备向外提供服务的能力,就使企业间B2B的信息交换成为可能,那么围绕着企业如何注册、发布、检索、发现服务并成功实现企业B2B信息交换的问题,将是企业间应用集成的核心环节。
在本课题中,我们主要是针对BPMS的体系结构和其中涉及的主要技术问题进行系统深入的研究,包括基于Web服务的应用集成、业务流程建模及其实现、业务流程自动化、XML数据转换等电子商务领域的共性技术,自主开发一套面向Web服务的业务流程管理系统,为企业提供一个面向业务流程的应用集成平台,帮助企业在多个应用系统之间实现业务流程的定制、管理、执行、监控和优化,缩短实施或变更业务流程的开发周期,并通过对应用系统的无缝集成实现业务流程处理的自动化。
1.2业务流程管理系统概述
在讨论或定义什么是业务流程管理或业务流程管理系统之前,我们先来讨论一下“业务流程(BusinessProcess,BP)”这一术语。
所谓的业务流程,是指为了在一定时期内达到特定的商业目标,而按照各种商业规则连接起来的业务功能集合[1]。
这些业务功能是抽象定义的:
业务功能的具体实现受限于业务功能运行所必须的可用资源。
业务功能的构成由目标决定,其中的任何操作、活动、任务都是为实现目标而设。
而设置商业规则的目的是为了业务管理决策的实现。
在业务流程中,商业规则或者表现为限制,或者表现为条件分支,或者表现为实施并行、串行等流程中的节点。
这些商业规则对于某一企业来说是独特的,而且在某一确定的时间点上也是如此。
因此,正如行业观察家所定义的那样,业务流程的管理是理解、系统化、自动化,以及改进公司业务运作方式的一门艺术[2,3]。
业务流程管理可以被看作是文档工作流和企业应用集成的紧密结合。
传统的工作流应用是以人为导向,即每个人都得面对他或她必须完成、批准或执行的电子文档。
而在一个企业应用集成环境中,应用程序彼此连接并在无人干涉的情况下进行合作。
例如,应用程序利用消息系统来交换信息。
业务流程管理是如下两种技术的结合:
以人为导向的工作流和应用集成的结合。
业务流程管理并不是什么新事物,但管理和改进业务流程执行技术的使用却是最近的事情。
业务流程管理的技术实现被称为业务流程管理系统。
理想的BPMS技术可以向那些希望管理业务流程和业务活动的企业提供如下帮助[1]:
∙能够迅速使业务调整通过业务概念和业务目标等形式付诸实施,并且这些实施几乎可以是实时进行。
(商业灵活性和完整性)
∙能够从业务角度对这些调整进行分析和评价。
(商业度量和分析)
∙能够按照商业目标,保证具体业务的顺利实施,进而通过优化,降低成本,提高效率。
(保证业务运营)
∙将商业目标与资源管理分离,只不过知识和流程的引用是按照目标来统筹安排的。
(流程和数据分离)
与DBMS能够帮助企业管理业务数据一样,BPMS能够有效地帮助企业管理业务流程。
尽管DBMS和BPMS技术都需要专业人员来帮助企业设计组织结构等信息,并给予管理和维护,但是能够降低对用户技术上的要求。
用户仅仅需要知道这些工具如何使用,各种元素的含义以及各种元素之间的关系即可。
如果没有DBMS,尤其是关系型DBMS,用户需要了解大量管理如何存储、访问和数据的管理知识,因而不能集中精力于查询、更新等,也就无法有效地管理业务信息。
如果没有BPMS,用户则需要深入了解实施业务流程所需要的工具和设备,因而无法集中于商业目标的实现以及业务流程管理本身。
如果是这样,那么网络时代对业务灵活性的要求是无法满足的,也是用户无法接受的。
从业务的角度来看,使用商业目标、业务功能、限制等来代替流程所需资源信息对业务流程进行描述是非常重要的。
在业务流程设计过程中,需要业务经理与实施业务流程管理所需资源的管理人员之间经常进行交流,以保证业务流程管理的顺利实施。
综上,BPMS提供了一种方法来获得并有效实施企业管理者所做出的决策。
管理决策的实现依赖于业务流程。
BPMS技术能够为管理者提供定义、变更、实施业务流程的方法,并保证灵活性和一致性,从而不必考虑更多的细节问题,如管理者责任范围、客户、产品、服务、提供产品和服务所需的资源等。
不管是对于B2B、B2C企业,还是集成类企业,这就是BPMS所体现出的核心价值。
1.3业务流程管理技术发展概况
在20世纪60年代到70年代期间,企业应用大多是用来替代重复性劳动的一些简单设计。
当时并没有考虑到企业数据的集成,惟一的目标就是用计算机代替一些孤立的、体力性质的工作环节。
到了20世纪80年代,有些公司开始意识到应用集成的价值和必要性。
这是一个巨大挑战,很多公司的技术人员都试图在企业系统整体概念的指导下对已经存在的应用进行重新设计,以便让它们集成在一起。
然而这种努力收效甚微。
传统的企业由于缺少不同系统相互集成的技术,导致很多关键的信息被封闭在相互独立的系统中,部门间重复着冗余的工作,这直接导致了企业工作效率的降低和运营成本的上升。
20世纪90年代,ERP(EnterpriseResourcePlanning)应用开始流行的时候,同时也要求它们能够支持已经存在的应用和数据,这就必须实现企业应用集成(EnterpriseApplicationIntegration,EAI)。
企业迫切需要一种方法,让它们少写程序,无须花巨大的费用,就可以将各种已有的应用系统和新的系统集成起来。
推动EAI市场的因素包括基于流程的业务处理、Web应用集成以及供应链管理等等。
随着企业各种应用的迅速增加以及更多地把自己的业务转向电子商务,EAI方案对企业的重要性也日益显现。
越来越多的企业开始采用EAI解决方案将企业内部的应用软件与外部客户和供应商的应用软件进行链接,实现数据流和业务运作的自动化,从而达到业务的实时与快速。
EAI与电子商务的结合为企业快速实现业务的自动化提供了可靠的保证,呈现在我们面前的将是一个同时具有数据自动化和业务流程高度可塑的企业管理框架,从而进一步加快了端到端的电子商务应用集成。
从集成的深度上来说,EAI可以分为三个层次:
(1)数据的集成,
(2)应用系统的集成,(3)业务流程的集成[4~6],因此一个完整的EAI集成框架是在全面的集成平台基础上实现业务流程的分析和管理,可见BPM已经成为下一代企业整合平台软件的基础。
目前许多EAI的解决方案利用消息中间件(MessageOrientedMiddleWare,MOM)技术实现应用系统的整合,MOM利用消息通信服务提供了可扩展的整合能力,适合用于管理大业务量以及地理分布广泛的基础设施。
但这一功能是需要一定代价的,MOM的实施和维护非常昂贵,同时各种MOM的实现技术(例如通信协议、数据格式)各不兼容,又为企业带来了新的集成问题,更重要的是MOM本身缺少面向业务流程的整合能力。
因此随着90年代后期XML语言和Web服务的出现,将Web服务与BPM技术相结合,构建一个面向业务流程的应用集成平台已经成为EAI发展的趋势,得到了IT界的共识。
此外,最近几年,在新应用系统的开发中广泛运用了三层体系架构,三层结构的重要性已被认可。
在三层环境中,划分了三个逻辑层次:
表示逻辑层、业务逻辑层和数据访问逻辑层。
该划分就每个层在不同设备上运行来说是完整的。
例如基于浏览器应用的实例,由HTML驱动的浏览器负责表示层,业务逻辑封装在应用服务器中,从应用服务器上访问的数据可以由远程机器上的数据库服务器来管理。
在三层环境基础上,下一步就是面向业务流程管理。
现在,从业务逻辑层中提取封装在业务逻辑层中的业务逻辑和商业规则,并且在基于工作流的环境中被表示,形象地阐述业务流程不同步骤。
在每个节点,商业规则用于选择下一个节点和执行的业务逻辑。
结果,商业规则也就变得更加明确、可见和快速可变了。
这使得公司对市场的变化能够做出更加迅速的反应。
因此,如图1-1所示,企业内的应用系统也由原来一个个彼此孤立的系统发展为构筑在基于面向流程的框架平台上的应用系统[7,8]:
1.4本文内容与组织
本文通过对企业应用系统集成框架、企业商务流程管理及自动化方面关键技术的研究,将BPM技术与Web服务技术相结合,提出了一种面向Web服务、面向业务流程的应用集成框架,并在此基础上提出了一套基于J2EE的BizPro业务流程管理系统的实现方案,同时详细论述了BizPro系统中的核心组件流程引擎的具体实现,并以论文审批流程为例,介绍了业务流程在实际中部署实施的完整过程。
本文共分五章,内容安排如下:
第一章,首先简要概述了本课题的项目背景,然后介绍了业务流程管理系统的基本概念和业务流程管理技术的发展概况。
第二章,首先分析了业务流程管理系统的需求,简要介绍了BizPro系统中业务流程模型的主要组成部分,然后对整个系统的设计思想、总体框架,以及系统模块的划分做了详细的阐述,最后对我们BizPro系统的特点进行了简要的总结。
第三章,主要阐述了BizPro系统中业务流程引擎的设计、实现,从引擎的功能定义、设计思想、系统结构到流程实例和活动生命周期的分析、事务管理和异常控制机制、XML数据映射的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 Web 服务 业务流程 管理 系统 研究 实现