足球比分直播

基于SOA与工作流的OA系统的分析与实现.pdf

返回
基于SOA与工作流的OA系统的分析与实现.pdf_第1页
第1页 / 共65页
基于SOA与工作流的OA系统的分析与实现.pdf_第2页
第2页 / 共65页
基于SOA与工作流的OA系统的分析与实现.pdf_第3页
第3页 / 共65页
基于SOA与工作流的OA系统的分析与实现.pdf_第4页
第4页 / 共65页
基于SOA与工作流的OA系统的分析与实现.pdf_第5页
第5页 / 共65页
点击查看更多>>
资源描述:
AbstractWith the rapid development of the computer industry,Service oriented architectureSOAhas gradually become as the mainstream architecture of enterprise application.WithSOA,the function units of enterprise application,which will be provided to customer,will beimplemented as Web Services at.The high reusability and loose coupling characteristicsof SOA make enterprise adjust to the market demand immediately.Enterprise Service BusO三SBis one of the most important realization modes of SOA.ESB provides a service agentmechanism which will reduce the coupling between service provider and service consumer.Meanwhile,it can also integrate applications based on different technology.Office automation system0Ais the combination of computer network and modemoffice.OA replaces the traditional and inefficient manual operation mode.Now,many software providers have developed full-featured OA system,however,functionand business processes usually ale fixed in the system which call’t change as demand.In this paper,firstly,1 will introduce the theoretical knowledge of SOA.Secondly,1 willstudy open-SOiffce project named Mule ESB.Finally,1 will acquire functional requirements existing OA systems,and then,develop an OA system base on Mule ESB.In the processof designing system,this paper put forward MVC mode plus ESB,and the functional units ofsystem are registered as Web Services on Enterprise Service Bus.Key words soOA;ESB; Web Services; MVCⅡ目 录中文摘要I英文摘要II目 录一“”””“”””“”““”一III第一章引 言1~1.1研究的背景及意义l1.2研究的主要内容21.3本文的组织结构2第二章SOA的理论基础和关键技术42.1 SoA的概述...42.1.1 SOA的概念42.1.2 SoA的关键元素42.1.3 SoA的特征∥··62.2 SOA的设计模式72.2.1月艮务编扫}choreography······72.2.2企业服务总线Enterprise Service Bus,ESB82.3 SOA的相关实现技术102.3.1.Web服务102.3.2ML一·······ll2.3.3 WSDL····”·”·········122.3.4 SOAP“·”········一···“·······13第三章基于ESB的oA系统架构研究153.1 oA概述153.1.1 oA系统的概念153.1.2 oA系统的发展史153.2基于ESB的oA系统架构163.3 Mule ESB的研究173.3.1 Mule ESB简介173。3.2 Mule ESB的体系结构183.3.3 Mule ESB的核心机制剖析19第四章oA系统的设计与建模234.1系统开发目标234.2系统的开发原则···231114.3系统的功能设计234.3.1系统设置模块234.3.2公文管理模块244.3.3工作流程管理模块254.3.4文档管理模块254.3.5任务管理模块264.3.6行政管理模块274.3.7人力资源管理模块274.4系统实现技术284.5系统的结构设计294.6系统Web服务的设计与建模304.6.1面向对象范式与面向服务范式304.6.2 Web服务设计模型314.6.3 Web服务的UML建模“324.6.4 Web服务的描述354.6.5 Web服务的信息交换模式354.7系统主要模块的设计364.7.1权限管理模块364.7.2收发文管理模块394.7.3流程管理模块43第五章oA系统的实现 455.1流程的管理实现455.1.1发文模块的实现455.1.2流程管理及发布实现485.2基于Mule ESB的服务535.3权限管理模块实现555.3.1 Spring Security简介555.3.2权限管理的具体实现555.4其它模块的实现59第六章总结与展望616.1全文总结616.2展望“一-·6l参考文献63致谢一·65读研期间公开发表论文及著作情况66Ⅳ东北师范大学硕士学位论文第一章引 言1.1研究的背景及意义在当今的企业信息系统的开发过程中,存在着需求表达的模糊、效率低等缺点。而在这种开发模式下,企业中的业务流程往往被固化在应用系统中,使企业不能按照市场的最新动态做出快速和准确的改变。究其根本原因,业务与IT的紧耦合是主要矛盾,当业务需要改变时,往往IT系统的结构以及实现都需要做出很大的调整。这种牵一发而动全身的调整是致命的,它导致了大量人力和物力的投入。就在这种情况下,面向服务的体系结构应运而生。面向服务的体系结构ServiceOriented Architecture,SoA是一种面向服务的架构模式,这种模式允许企业把各个模块通过服务的形式实现,进而企业的业务就转化为这些服务的动态链接Ⅲ。同时,这些服务支持重复利用,企业的内部或者获得许可的外部用户可以通过网络来实时访问这些服务。在企业应用系统中实施SOA的架构模式,可以确保业务的及时的按需而变,并能确保IT与业务的一致性和IT资产的最大化重用。 ’Gartner Group曾声称过,SOA将取代传统的软件架构方法,绝大多数企业将会把内部的IT建设转向SOA。对于一个企业来说,SOA架构的应用使得流程得到精简,是企业内部业务流程更加灵活。在新的业务需求产生之后,SOA可以把一些已有服务动态的组装起来,形成新的流程,进而实现快速的业务转型。随着企业业务流程的复杂度的不断增加,办公室自动化oA系统已经成为企业内部必备的软件,oA代替了传统的办公方式,利用先进的计算机技术取代了低效的手工办公方式。一个标准的oA系统包括日常的公文管理、人事管理、日程管理和办公资源管理等功能,它简化了流程流转的复杂度,实现了工作流的自动化以及文档管理的自动化等功能,极大程度的提高了办公效率。现今,国内已经有很多成熟的oA系统提供商,比如用友oA、通达oA、金蝶oA。这些oA系统覆盖了绝大部分的办公室自动化功能。应用的技术也是比较成熟的,大都是基于MVC开发模式的J2EE技术。虽然大部分现有oA系统比较稳定,功能也比较健全。但是它们也存在这一些问题,缺乏可扩展性和灵活性。这些oA系统中的功能都是遵循传统的软件开发方式,按照需求分析而逐级开发完成,把功能和流程固化在系统中。当系统功能需要扩充或者内部流程发生变化时,就需要对系统内部结构做出较大改动,甚至导致重新开发,这种代价是比较大的。那么,将SOA的思想实现在oA系统中就成为了当今的趋势。通过SOA的架构方法,东北师范大学硕士学位论文把oA系统中的功能模块封装为服务,细小的功能调用细粒度的服务。大粒度的服务由诸多细粒度服务组合而成。工作流程可以通过动态的编排服务而实现。通过面向服务的思想,系统中的服务可以达到最大化的重复利用,同时,当业务流程改变时,只需要完成流程节点和服务的重新装配即可,提高了系统的灵活性。1.2研究的主要内容鉴于传统oA的不足,本文结合SOA的思想,实现一个办公室自动化系统, 在此系统有如下特点1 面向服务实现较高的可重用性。2 流程可定N-实现较高的灵活性。本文基于SOA思想提出了MVCESB企业服务总线的开发模式。研究内容可以总结为以下几点1 阅读大量文献,研究SOA的基本原理。2 参考现有oA系统,剥离出oA的功能需求。3 研究SOA的设计模式,基于ESB设计oA系统的实现方案。4 研究SOA的实现技术之一Web服务。5 研究开源技术,包括Mule ESB、Spring、JBPM等,实现oA系统。1.3本文的组织结构本文目的在于以一个简单的oA系统作为载体,研究SOA在应用系统开发中的重要意义。论文的组织结构可概括如下第一章绪论首先,介绍本文的研究背景及意义;其次,概括出主要的研究内容;最后,描述本文的组织结构。第二章SOA的理论基础和关键技术首先,对SOA的理论基础进行研究;其次,总结了SOA的设计模式,重点研究了ESB,为后面章节做出铺垫;最后,对SOA的实现技术加以总仕拿日0第三章基于ESB的oA系统架构研究首先,对0A系统的概念加以描述,并概括了oA系统的发展史;其次,初步设计出基于ESB的oA系统架构;最后,对开源产品Mule ESB进行了详细的研究。第四章0A系统的设计与建模2东北师范大学硕士学位论文首先,细化各个模块的功能设计,包括系统设置模块、公文管理模块、工作流程管理模块、文档管理模块、任务管理模块、行政管理模块和人类资源模块。其次,介绍了本oA系统开发的实现技术,以及对系统的结构设计。其三,概述了Web服务的设计原则,并对服务进行建模。最后,给出系统的主要模块的设计,包括收发文管理模块、流程管理模块和权限管理模块。第五章系统主要模块的实现主要介绍系统主要模块的实现。包括发文模块的实现、流程管理模块的实现、权限管理模块的实现以及其他模块的实现,其中流程管理模块中实现了在线流程设计器。第六章总结与展望总结论文,并说明需要改进之处和下一步的研究工作。3东北师范大学硕士学位论文第二章SOA的理论基础和关键技术2.1 SOA的概述2.1.1 SoA的概念SOA是英文词语”Service Oriented Architecture”的缩写,中文翻译为面向服务的架构。SOA的概念最初由Gartner公司提出,由于当时的技术水平和市场环境尚不具备真正实施SOA的条件,因此当时SOA并未引起人们的广泛关注,SOA在当时沉寂了一段时间。伴随着互联网的浪潮,越来越多的企业将业务转移到互联网领域,带动了电子商务的蓬勃发展。为了能够将公司的业务打包成独立的、具有很强伸缩性的基于互联网的服务,人们提出了Web服务的概念,这可以说是SOA的发端。SoA有很多定义SOA是一种架构模式,它用服务的形式来建构系统中的模块,从而达到以松耦合的方式来进行企业应用整合和模块的重用口,。SOA表现为一种软件架构的概念,它定义服务来满足用户的需求,在一个SOA的环境中,网络中的节点可以通过独立的服务,以标准的方式来访问其他节点的资源。其中,服务是自包含的、无状态的,它们定义良好的、标准的接口来接受一个或多个请求,并给予一个或多个回应口儿引。SOA是一个范式,它组织并利用来自不同域内的分布式能力,他通过统一的方式来提供、发现和交互这种分布式能力。并利用这些能力来达到预期的目的。从面向应用的角度来说,SOA可以分为两类一类认为SOA主要是一种架构风格,其特点是分布式、模块化、定义清晰、可交换和共享,是当前应用程序设计中比较重要的研究领域之一;另一类认为SOA是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期建模一开发一整合一部署一运行一管理。后者概括的范围更大,着眼于未来的发展,我们更倾向于后者,认为SOA是分布式软件系统构造方法和环境的新发展阶段啼1。SoA也可以理解为一个组件模型,它把应用程序的各个功能单元抽象成服务,而后在这些服务之间通过良好的接口和契约关联起来。用中立的方式来定义接口,从而实现操作系统、编程语言和硬件平台的无关性。基于这种中立的方式,使得系统中的服务可以通过标准和通用的方式进行交互。2.1.2 SOA的关键元素应用SOA的主要目的是在IT和商业业务之间提供一个结合点,实现业务的敏捷性4东北师范大学硕士学位论文和灵活性。而组成SOA的关键元素又是需要关注的细节,Enterp r_150 Sc r,tiC05Aplhcat·付f1 Se r V¨nsBuslrlesSServices一.NET.卜}lSOA的结构如图2.1所示l’。。 -”t.,图2.1 SOA的结构企业级的服务关注此结构中的某些或者全部元素,例如这些服务的功能、服务的实现方式以及服务间的交互,此结构图将SOA主要分为四个部分1 基础设施服务域包括通用的业务服务、服务级别的编排和资源虚 拟化服务。2 中间件域如企业服务总线ESB,作为中间件的形式存在。3 业务服务域4 应用程序服务域包括应用程序的编程模型、现有系统的调用等。在SOA架构中,包括很多重要的元素,也正是这些元素决定了一个SOA的架构的完整性、灵活性和重用性m1。1 平台用来实现服务的平台应该是与用户无关的,包括应用程序层、操作系统层以及传输协议。比如两个系统通过SOAP和HTTP协议进行互操作,它们不用考虑双方的硬件平台、操作系统和应用服务器的相关性。2 服务位置建构一个松耦合的体系结构,服务所存的位置是一个很重要的因素。一个相同服务的多个实例也可能存在不同的位置。可以通过在不同网络节点上实现同一服务的多个实例来实现服务传输的可扩展性。一个服务的提供者可以S东北师范大学硕士学位论文在不同物理位置和逻辑位置设置代理以满足用户的不同请求。3 协议类似于平台无关性,协议的无关性也是SOA的特性之一。交互协议可以通过在SOA服务接口处配置声明,在实践中,开发人员需要用服务开发的API来实现服务的开发,如JAX-RPC。也可以改变某个服务上绑定的协议,比如从基于HTTP的SOAP改成基于JMS的SOAP,此过程不需要改变应用程序的核心代码,只需要改变服务的接口实现方式和调用服务时所对应的API。4 编程语言SOA的实现是编程语言无关的。但是经验证明,当服务的提供者与请求者用不同语言实现互操作时,也会存在一些问题。这些问题产生的原因与不同语言对负责数据结构的实现方式有关,所以要达到松耦合的设计目的,需要加入中间层,以降低地对语言的限制。5 调用方式服务的调用方式主要涉及到服务的请求者和服务的提供者之间的交互过程。一个服务的调用可能是同步的,也可能是异步的。对异步的服务调用,需要架构有处理不同时间的请求的能力,并维护一个消息队列。6 安全SOA需要在现实的业务安全需求与实现安全所带来的性能问题、系统管理复杂度之间寻找平衡点。2.1.3 s0A的特征SOA的实施有以下几个基本特征1 松散耦合性SOA采用松耦合组件模型,该方法把服务使用者和服务提供者解耦。而降低耦合性的关键点是定义标准和通用的服务接口。这能实现在不影响服务使用者的前提下进行的服务的修改。Web服务对于SOA服务接口来讲是一个重要的标准。2 可重用性服务的可重用是SOA的核心所在,如果完全以可重用的原则设计服务,SOA将可以使应用变得更为灵活。对遗留系统的重用也是很有价值的,为遗留系统定义标准的服务接口,从而系统外部可以通过对服务的调用来实现对遗留系统的重用。可重用服务采用通用格式提供重要的业务功能,为开发人员节约了大量时间。3 .粗粒度服务接口粗粒度服务提供一项特定的业务功能,而细粒度服务代表了技术组件方法。通过对细粒度服务的组装以及编排,实现粗粒度服务。采用粗粒度服务接口的优点在于使用者无需关注系统底层细粒度功能的实现,只需与系统业务层的粗粒度功能服务进行6东北师范大学硕士学位论文交互,即实现了对底层服务的封装,有降低了用户与系统的耦合度。4 标准化的接口XML与Web Services的出现把SOA推向更高的层面,并在很大程度的提升了SOA的价值。Web服务使应用功能得以通过标准化接口WSDL提供,并可基于标准化传输方式HTTP和JMS、采用标准化协议SOAP进行调用。2.2 SOA的设计模式2.2.1服务编排choreography业务过程执行语言Business Process cution Language,BPEL是一门形式规约语言,它的目的是基于Web服务实现流程自动化。用BPEL可以实现业务流程对现有Web服务的编排,进而完成业务流程与Web服务之间的交互过程。同时业务流程也可以通过BPEL,把流程功能暴露为Web服务,以供其它流程调用m1。在企业中,BPEL多用于企业级应用间的整合,也可以用于整合企业中的遗留系统。在多个企业间,BPEL可以容易并有效地在商业伙伴间进行应用整合,进而促进了企业对业务流程的优化以及再造。用BPEL进行业务流程定义,并不会对现有系统产生影响,它编排的只是各个应用所暴露出来的服务。BPEL流程服务编排的过程如图2.2所示_型一◆匕●] 伙伴键凌I几任 J曼量 l啐刊伙纠 d赢e图2.2 BPEL流程服务调用示意图BPEL语法的实现是基于XML词库的,同时BPEL以XML Schema、WSDL和XPath等标准也是紧密相关的。我们可以应用BPEL定义简单的或者复杂的业务流程,它很类似与编程语言,提供循环、分支、变量和赋值等结构。BPEL可以实现对Web服务的同步或者异步的调用。BPEL编排服务有以下特点1 灵活性 BPEL对服务的编排可以实现对服务的按需定制。可以灵活的与Web服务进行交互。2 嵌套编排一个业务流程可以编排多个服务,同时也可以作为细粒度的服务单元嵌套到其他业务流程,是实现粗粒度的服务。增加了服务的重用性。7
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播