毕业设计论文面向服务的工作流引擎的设计与实现.doc
《毕业设计论文面向服务的工作流引擎的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文面向服务的工作流引擎的设计与实现.doc(44页珍藏版)》请在三一办公上搜索。
1、学号: 200632580267 密级: 武汉大学本科毕业论文面向服务的工作流引擎的设计与实现院(系)名 称:国际软件学院专 业 名 称 :软件工程学 生 姓 名 :指 导 教 师 : 二一年五月BACHELORS DEGREE THESIS OF WUHAN UNIVERSITYThe Designing and ImplementingWorkflow EngineBased on Service-Oriented ArchitectureCollege :International School of Software Subject :Software EngineeringName
2、:Lu FanfengDirector :Ying Shi ProfessorMay 2010郑 重 申 明本人呈交的科研项目论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名: 日期: 摘 要传统的工作流技术受体系结构的限制,在适应目前大规模的企业应用需求上显得力不从心,它无法将现有的web服务编排起来,形成工作流程,适应新的业务需求,实现web服务的重用和系
3、统需求的重构。本文就是针对上述问题,对面向服务的工作流引擎进行研究,并以开源的工作流引擎jbpm为基础,开发一个面向服务的工作流引擎jbpm4ws。本文对jbpm4ws的研究围绕着系统需求展开,在系统需求中详细介绍了jbpm4ws需要实现的功能和系统应满足的非功能性需求。紧接着,对jbpm4ws的设计原理和系统的体系结构做了详细介绍,提出了jbpm4ws的流程定义语言jpdl4ws,jpdl4ws扩展了jpdl对任务的描述,添加了任务处理的服务特性,支持以服务的形式描述任务处理过程;实现了流程的服务化,让外界对流程数据的访问只能通过流程访问服务来完成。最后,以汽车制造为案例,介绍jbpm4ws
4、在现实系统中的应用场景。关键词:工作流引擎;面向服务;流程定义;流程实例;流程的服务化;ABSTRACTBecause the architecture of the traditional workflow technology constraints, It cant adapt to the current application requirements in large-scale business enterprises,and it can not lay out the web services effectively so as to forming workflow and
5、 meeting new functional requirements. This paper addresses this problem on a service-oriented workflow engine study, and developed a service-oriented workflow engine-jbpm4ws on the based of a open source workflow engine-jbpm. This paper starts as System Requirements, and in the system requirements i
6、t describes the non-functional requirements in detail which is needed to implement the functions and systems of jbpm4ws. Then, introduce the jbpm4ws design principles and the architecture of system in detail and propose jbpm4ws process definition language - jpdl4ws, jpbl4ws expands the description o
7、f the task, adds the services features of task processing, support the way to describe task processing the form of service; achieve the service of process, so that the outside world access to process data can only be accomplished through the process access to service.Finally, a car manufacturing com
8、pany is taken as a case to introduce the scenarios of jbpm4ws in the real system.Key words: Workflow Engine;service-oriented ;Process Definition; Process Instance; the Service of Process目 录摘 要IABSTRACTII第1章 引言11.1 研究背景11.2 研究内容21.3 论文组织结构2第2章 背景知识介绍42.1 SOA基础42.1.1 SOA的定义42.1.2 SOA的关键特性42.1.3 SOA的实现
9、技术52.2 工作流基础62.2.1 工作流概述62.2.2工作流核心概念72.2.3 工作流参考模型82.3 jbpm基础92.3.1 jbpm概述92.3.2 流程定义基础知识10第3章 面向服务的工作流引擎jbpm4ws123.1 jbpm4ws系统说明123.1.1 系统概述123.1.2 流程实例状态图123.2 jbpm4ws的需求分析133.2.1 管理流程需求分析133.2.2 管理流程实例需求分析143.2.3 非功能需求分析153.3 jbpm4ws程序开发流程16第4章 jbpm4ws的设计与实现174.1 jbpm4ws的设计原理174.2 jpdl4ws的设计184.
10、3 jbpm4ws的概要设计194.3.1 系统整体架构194.3.2 系统核心包204.4 jbpm4ws的实现234.4.1 功能服务实现234.4.2 流程的服务化26第5章 jbpm4ws的应用案例285.1 案例简介285.2 案例分析与设计295.2.1 案例体系架构295.2.2 系统流程设计305.2.3 功能服务设计315.3 部署实施32第6章 总结与展望35参考文献36致 谢38IV第1章 引言1.1 研究背景随着市场经济的发展,经济开始走向全球化。在经济全球化面前,各个企业的业务将迅速增长,业务之间的关系将变得错综复杂,从而导致变更业务需求、更新业务需求之间的联系的工作
11、量会变得非常庞大。如何以快速的方式来实现需求的有效变更,减小软件开发过程中的工作量,提高系统的可维护性和可重用性,是如今IT界探讨的新话题。SOA的解决方案正是在适应这些需求下产生的。它是在以以前的软件架构技术为依托,一步一步发展而来的。它可以看作是B/S模型、XML/Web Service技术之后的自然延伸,是一个“松耦合、高内聚”的渐变演进过程。在一定程度上解决了系统的可重用性和可维护性。另一方面,在实际企业运作中,已经开始提出了工作流程自动化与企业再造工程的需求。这些企业希望由内部做起,缩短流程作业时间,快速反应市场与客户需求,有效监控工作进度,加强内部信息沟通传递效率,分析流程作业成本
12、与死角,从而有效的降低管理成本,提升企业决策反应能力。将人工操作流程顺利信息化与自动化,已成为许多企业未来兴衰的关键,而实现流程自动化的关键技术就是工作流1。然而,传统工作流技术由于体系结构的限制,在适应目前企业大规模的业务应用需求上显得力不从心,传统的工作流技术受体系结构的限制,在适应目前大规模的企业应用需求上显得力不从心,它无法将现有的web服务编排成起来,形成工作流程,适应新的业务需求,实现web服务的重用和系统需求的重构。因此面向服务的工作流17应运而生,在面向服务架构下的工作流技术利用了SOA架构所具有的快速反应性、可适应性和易操作性等特性,对提高企业的业务流程的信息化支持力度,对企
13、业竞争力方面有着非常积极的作用。现今j2ee平台上应用较为广泛的开源的工作流引擎产品有bpel和jbpm,然而bpel的开发比较复杂,学习难度较大,相反jbpm学习起来就容易得多。而且jbpm是一种基于j2ee的轻量级工作流管理系统,它还提供了对bpel的扩展,存储支持hibernate实现18。jbpm是较适合扩展的开源工作流引擎,也是较容易被商业化应用的开源工作流管理系统。然而,jbpm本身不提供对web服务的支持。1.2 研究内容本文对基于jbpm的面向服务的工作流引擎(jbpm4ws)的研发就是在上述的背景下展开的。本文的研究内容包括以下五个部分:(1) 对jbpm4ws进行需求分析,
14、指出jbpm4ws应该满足的功能性需求和非功能性需求。(2) 对jbpm的流程描述语言jpdl存在的问题进行分析,并以此为基础,提出了一套扩展的面向服务的流程描述语言jpdl4ws。(3) 对jbpm工作流引擎进行改进,采用cxf+spring+hibernate开发新的面向服务的工作流引擎jbpm4ws。(4) 将流程服务化,让外界可以以web服务的方式对流程的执行过程进行调度,对流程的执行信息进行监控。(5) 将改进的面向服务的工作流引擎用于汽车制造的案例中。 本文扩展的工作流引擎具有以下四个特征:.(1) 跨平台性:系统具备一定的跨平台能力,支持企业采用不同的软硬件平台。(2) 提供对异
15、构的企业应用环境的支持:能够通过流程建模,将异构的企业应用以服务的方式集成到工作流程中,完成整体应用目标。(3) 提供对上层统一接口的支持:系统为访问其内部各个层次的组件提供一致的接口,以保证系统能与其他上层模块或应用系统以系统开发时不能预见的方式集成。(4) 将流程服务化:将流程操作接口发布成服务,让外界系统能够以服务的方式调用接口。虽然流程引擎的研发包含了需求分析、概要设计、详细设计、代码实现、维护等各个方面,但本文着重从需求和设计两个方面进行论述。1.3 论文组织结构本文大体可以分为以下五个部分:第一部分是引言,主要介绍了本文的研究背景、研究内容和全文的组织结构;第二部分是背景知识介绍,
16、讲解了开发面向服务的工作流模型要用到的相关知识,主要是对SOA的基础知识、工作流的基础知识和jbpm的知识进行介绍;第三部分是jbpm4ws的需求分析,在介绍需求分析时,先介绍了系统的整体概况,然后通过用例图的方式对系统的功能需求进行了描述,同时对系统的非功能性需求进行了文字描述,最后以怎样使用jbpm4ws进行系统开发结尾;第四部分是jbpm4ws的概要设计和详细设计,在这个部分给出了jbpm4ws的体系结构和核心包图,是整篇论文的核心;第五部分则是针对开发的工作流引擎jbpm4ws给出应用案例;第六部分是总结与展望,是在总结全文的基础之上,指出现有的jpbm4ws存在的问题,为今后的工作做
17、准备。第2章 背景知识介绍2.1 SOA基础2.1.1 SOA的定义面向服务的体系结构(SOA)的概念是在1996年由Gartner公司提出来的。当时Gartner将SOA定义为:“客户端/服务器的软件设计方法。”从这以后,SOA的定义便层出不穷,下面列举了对SOA比较权威的定义。Service将SOA定义为:“服务的集合,服务间会彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动,服务间需要某些方法进行连接。而服务则是精确定义、封装完善、独立于其他服务所处环境和状态的函数。” W3C将SOA定义为:“一套可以被调用的组件,用户可以发布并发现其接口。”19IBM将
18、SOA定义为:“一种将信息模块化为服务的架构风格。”百度百科中将SOA定义为:“一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。”到目前为止,关于SOA还没有一个统一的、被广泛认可的定义。但无论专家如何诠释SOA,它的核心思想是不变的,那就是服务,SOA的重点是面向服务的3。当然,这个服务包括企业的内部与外部的每一个业务细节,并把这些服务从复杂的环境中独立出来,使得各服务之间是可互操作的、独立的
19、、模块化的、位置明确的、松耦合的并且是可相互调用,不依赖于其它系统的。2.1.2 SOA的关键特性SOA作为一种新的架构风格,它与传统的架构风格相比,有自己的特点,这些特点主要体现在以下三个方面2,3:(1) 模块化服务,把业务功能分解并打包成模块化服务,该服务是具有自包含和自描述特征的。服务可以根据需要进行混合和匹配来创建新的组合服务,也可以由其他模块化服务组成;(2) 服务封装,将服务的内容和其具有自描述特征的接口进行分离。封装公开了服务的功能,隐藏了服务内部的实现,保证实现可以在接口不变的情况下进行独立演变;(3) 中立的接口定义:服务的接口定义是采用通用协议进行的。正是由于上述特点,使
20、得SOA在与其它软件架构风格相比,有着一下三点优势: (1) 耦合性低:SOA将应用程序的不同功能单元,通过服务间定义的接口联系起来,而接口是中立的,这样大大降低了系统与系统之间、系统内部的各个功能模块之间的耦合性;(2) 互操作性强:SOA 可以实现任何平台之间的跨平台调用,而与编程的语言、操作系统和计算机类型等等无关,可以确保各系统之间的集成性和互操作性;(3) 重用性高:服务重用避免了重复开发的弊端,同时提高了实现中的一致性。由于使用目的不同,可以将服务分别多次进行组合。在应用中,服务重用比组件重用和类的重用要更容易实现。另外,在SOA系统中要注意保持服务接口的稳定。稳定的服务接口可以让
21、服务的提供者和服务的消费者独立演变。2.1.3 SOA的实现技术在典型的SOA系统中,会涉及3个参与者。即服务注册代理、服务请求者、服务提供者。这三者之间的关系可以用图2-1来描述,下面是对参考模型中个参与者的解释: 图2-1 SOA参考模型图服务请求者:服务请求者是一个应用程序、一个软件模块或SOA系统中的一个服务。它发起对服务注册代理的服务查询,通过传输绑定协议调用远程服务。服务请求者根据接口契约来调用服务。服务提供者:服务提供者是实现服务接口的一个可通过网络寻址来查找的软件实体,它接受和执行来自服务请求者的请求。它将自己的服务和接口契约发布到服务注册代理,以便服务使用者可以发现和访问该服
22、务。服务注册代理:服务注册代理是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务请求者查找服务提供者。SOA架构中每个参与者都扮演着服务提供者、使用者和注册中心这三种角色中的某一种或多种。并且它们之间会通过协议进行交互,他们之间的交互包括:发布:为了使服务可访问,服务提供者会向服务注册代理发布服务,这样服务使用者就可以通过服务注册代理来发现和调用它。发现:服务请求者定位服务,方法是服务请求者向服务注册代理发送请求,查找需要调用的服务,服务注册代理找到满足其标准的服务,并将结果返回给服务请求者。绑定和调用:在检索完服务描述之后,服务请求者会根据服务描述中的信息向服务提供者发送请求
23、,服务提供者会执行相应的服务,并将执行结果返回给服务请求者。2.2 工作流基础2.2.1 工作流概述工作流是对现实生活中业务流程的自动化管理,它将将业务流程中的工作按照一定的逻辑顺序组织在一起,并对组织在一起的工作实施管理,它能够在多个参与者之间,利用计算机,按某种预定的规则自动传递文档、信息或者任务。工作流技术的研究开始于上个世纪70年代中期对办公自动化领域的研究,但工作流思想的出现还应该更早,1968年Fritz Nordsieck就已经清楚地表达了利用信息技术实现工作流程自动化的想法。70年代与工作流有关的研究工作包括:宾夕法尼亚大学沃顿学院的Michael D. Zisman开发的原型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 面向 服务 工作流 引擎 设计 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4885937.html