【VC++开源代码栏目提醒】:网学会员,鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“基于Struts和Workflow构建电子运行维护系统流程管理平台 - 硕士论文”一文,供大家参考学习!
四川大学 硕士学位
论文基于Struts和Workflow构建电子运行维护系统流程管理平台 别:硕士 专业:计算机应用 指导教师:李志蜀 20060412 四川大学硕士学位
论文 基于Struts和Workflow构建电子运行维护系统 流程管理平台 计算机应用技术专业 研究生秦敏 指导教师李志蜀 随着我国通信事业的发展和基础
通信设施的建设,电信网的规模迅速扩大,同时国内电信市场的竞争也日益激烈,对于中国电信运营商的核心业务一网络运行维护工作来说,其运维业务流程不断增加,业务流程的处理越来越复杂。
早期电子运行维护系统但OMS)主要是通过手工编写
代码来实现业务处理流程的,这种实现方式将流程处理
代码与业务功能
代码相互混杂,使得系统的控制逻辑变得模糊,系统功能的实现也更为复杂,而且若业务流程稍有变动将会导致功能
代码的重新编写。
所以,早期EOMS系统的业务流程实现方式已经不能满足日益快速发展的运维工作的需要。
为了解决上述问题,迫切需要开发一套行之有效的业务流程管理系统,用于管理和监控越来越复杂的运维工作流程。
因此,电子运行维护系统流程管理平台应运而生。
EOMS流程管理平台是一个针对电信企业运维业务流程、符合WFMC标准的工作流管理系统(WFMS)。
此流程管理平台通过底层对标准工作流引擎的封装,上层结合电子运行维护系统在电信领域多年的流程实现经验和ACN的最佳实现,形成了数十个电信业务的标准流程。
通过对这些标准流程的自行组装, 四川大学硕士学位
论文即可快速完成新业务流程的实现。
在设计和开发EOMS流程管理平台的过程中,本文作者主要完成了以下工作: 一.提出了EOMS流程管理平台的整体设计架构。
本文作者通过分析大量实际运维业务的处理流程,并结合
网络运维业务的自身特点,提出了EOMS流程管理平台的整体设计架构。
该架构主要包括两个部分:Web应用和流程引擎。
Web应用部分主要完成系统用户交互、业务数据管理等功能,它是基于Struts框架开发的,符合MVC开发模式;流程引擎部分引入第三方工作流引擎 (OSWorkflow),利用工作流引擎的流程设计工具设计业务流程,完成流程控制、任务管理等功能,符合WFMC标准。
并通过流程平台提供的Web应用访问工作流引擎的接口,将两者有机结合在一起,协同工作,共同实现运维业务流程的处理。
二.设计开发了流程设计器和
代码生成器。
流程设计器负责业务流程的设计,通过可视化方式将用户提供的业务流程图转换成流程平台所需的流程软件示例图,同时生成流程运行时所需的流程配置文件。
从而避免了开发人员因不熟悉业务流程,编写流程配置文件时错写和漏写流程步骤的情况出现。
代码生成器是一个为流程批量生成在流程管理平台上运行所需的业务层
代码的工具。
通过该工具,开发人员只需为流程的动作(Action)配置相应的数据项,就可以为流程生成JSP、JAVA等
代码和应用层所需的配置文件;将这些
代码和文件放入Web应用相应的目录下,就可以为Web应用增添一类新的流程。
流程设计器和
代码生成器的设计开发,使得流程的新增或修改变得十分简单、方便,减少了开发工作的难度和复杂度,提高了系统的灵活性和便捷性。
三.采用了。
模板方法模式(template method pattern)”和Hibernate框架.本文作者在完成Web应用模块开发工作时,在设计中采用了“模板方法模式”,使得
代码可以最大限度地被复用,减少了
代码编写量,减轻了开发人员的开发工作;同时采用Hibernate框架实现对数据库数据的持久化操作,简化了数据库访问
代码,提高了开发效率。
该模块约110个类,
代码量超过30000行。
Ⅱ 四川大学硕士学位
论文关键字:MVC,Struts,工作流,工作流管理系统,工作流引擎,EOMS Ill 一一一.. 婴型查兰堡主兰竺丝苎 Building Process Management Platform of Electronic Operation and Maintenance System Based on Struts and Workflow Specialty ofComputer Application PostGraduate:Min Qin Supervisor.Zhishu Li Abstract:With the development of the communication enterprises andconsmwtion of the foundational communications equipments in China,the scale ofcommunication network expands rapidly,and the competitions among domestictelecommunications markets become more and more intensive.The businessprocesses ofnetwork operation and maintenance,as the core business ofthe traders,will be on the increase.Meanwhile,the transaction ofthe business processes will alsobecome more and mo∞complicated.In the earlier periods of electronic operationmaintenance system(EOMS),developers wrote codes to implement the businessprocesses,which mingJcd the business processing codes and the business functioncodes,maded the control logic of the system bP_y.ome ambiguous and the realizationof tlle function of the system more complicated.If the business processes hadchanged only a little,the developers would have to remn’ite codes.Therefore,theu-aditional models cannot satisfy the needs of development of communicationenterprises.In order to solve these problems,it is necessary to develop a set ofeffective business process management systems used to manage and supervise themo∞and more complicated business processes.So,the process managementplatform of electronic operation and maintenance system emerges船the timesrequke. · The process management platform ofEOMS is a workflow management system Ⅳ 四川大学硕士学位
论文aimed at the business processes of the telecommunication enterprise and accordedwith the criteria of Workflow Management Coalition(WFMO.It encapsulatesstandard workflow engine at the bottom layer,combines large numbers of businessprocessing expedenee of EOMS in the telecommunication realm and the bestrealizations of CAN at the upper layer,and forms several standard processes oftelecommtmication business.The developer will l’eaii7配the new business processesquickly through assembling these standard pI硼20SSeS.During the designing anddeveloping of process management platform of EOMS,the author mainly completesthe following work: First,put forward the design sllalcture of the process management platform ofEOMS.During the designing,the author analyzes some processing of businessprocesses and the actual charaeteristics of network operation and maintenanoe,andputs forward the design structure of the process management platform of EOMS.This design structure includes two parts:web application and flow eilgine. mainlyThe former mainly completes some functions.such as intereommunion betweensystem and use船、business data management and 80 on,which is based Oil Strutsframe and MVC model.The latter introduces the third-party of workflowengine--OSWorkflow,us船the process design tool to design business processes.completes the functions like process control、task management,which coincides withWFMC standard.Moreover,web application and flow engine al’e combined togetherto deal with the business processes of the network operation and maintenancethrough the interface of web application accessing workflow engine provided byprocess management platform. Second。
design and develop the process designer and code n姐慨The processdesigner completes the design of the business processes.It Can convert the businessflow chart into the process software example diagram,and offer the processconfiguration flies which the process management platform need8.Therefore。
it callavoid situations of programming in the wrong way and missing the flow step whenthe developer edits the flow configuration files,for the reason that the developer isnot familiar with the business processes.The code maker is a tool which could V 四}1I大学硕士学位论支generate a batch of business codes running 011 the process management platform.Byusing this tool,the developer merely needs to configure the homologous data itemsfor the actions of the process,and tO generate the business codes of the process andthe confignratioa fries of the application layer.A new business process would beadded into web application through putting the business codDs and configurationfries into the relevant catalogs of web application.The designing and developing ofthe process designer and code maker simplifies the increase or modification of theprocess,reduces the difficulty and complexity of development task,and promotesflexibility and convenience ofthe system. Third,adopt the template method pattern and the hibernate frame.According tothe features of web application modules,the template method pattern is used in thedesigning of this module,which inakes the maximal reuse of codes possible.Besides,Hibernate is applied to operale the data of the database persistently,which predigestscodes of database accessing and improves the devdopment efficiency.This moduleincludes 11 O elasses and 30000 lines.Keywords:MVC,Struts,workflow,workflow management system,worldlow engine,EOMS VI 四Jil大学硕士学位
论文1引言 受根深蒂固“分工”思想的影响,传统的办公系统主要是基于部门职能和管理层次等方面来设计系统的功能和结构的。
这种办公系统虽然具有很好的业务逻辑处理能力,但是对企业内部各部门之间业务流程的控制缺乏强有力的支持。
一个企业业务的实现必定是其内部各个部门相互协调工作的结果,也是以它特有的顺序贯穿于企业各个部门的。
传统的办公系统,各部门之间业务流程的处理通常是直接通过编写程序
代码来实现的,这种实现方式导致业务处理
代码与业务功能
代码相互混杂在一起,使得
系统的业务流程控制逻辑变得模糊,系统功能的实现更为复杂。
若企业的业务流程稍有变化,将导致程序
代码的重新编写,从而使系统的可靠性、稳定性和与外界的兼容性下降。
基于传统办公系统缺乏对企业业务流程的支持和管理功能,人们开始运用工作流技术来解决这些问题。
工作流是一种企业流程认知论,它是企业中数据流、信息流、流程流、协作流、资源流等各种要素流的综合集成。
工作流技术是一种能够支持过程建模、过程重组以及过程自动化的技术.该技术以信息集成为基础,以流程控制为中心,对有关的物质过程和信息过程进行统一的管理和控制,从而支持企业的行为和目标。
工作流技术通过对流程的识别来识别相应的功能和数据,将业务流程的控制逻辑和具体业务功能的实现逻辑及其使用的业务数据进行分离,使得二者相对独立。
由此可见,运用工作流技术设计出的办公系统,不仅具有强大的业务处理能力,更强调了企业的业务流程,从而解决了传统办公系统缺乏对企业业务流程的支持、管理和控制的
问题。
另一方面,Struts框架是基于MVC设计模式的Web应用架构,它将业务数据、业务逻辑和页面显示划分成三个不同的组件:模型一控制器一视图。
其中,模型用来表示业务数据;控制器接收客户端请求,结合相关的配置信息,执行相应的业务逻辑,最后将处理结果返回给客户端,并通过页面呈现给用户;而视图是与用户界面相关的部分.企业业务功能实现部分采用Struts框架作为 四川大学硕士学位
论文其设计架构,实现了应用数据、处理过程和显示逻辑三者的分离,大大降低了系统各模块之问的耦合性,使系统的层次结构更加清晰,更易于开发人员的分工合作。
也提高了
代码设计的重用性,增强了系统的可维护性和可扩展性。
本文的组织结构如下:首先结合MVC设计模式,简单介绍了Struts框架的基本工作原理和核心组件。
紧接着通过引入工作流技术,介绍了工作流和工作流
管理系统的基本知识,深入分析了工作流管理系统的核心一
工作流引擎,并介绍了目前工作流市场上的三大主流
开源工作流引擎。
然后通过应用Stn.,ts和工作流技术开发电子运行维护系统的流程管理平台的实例,分析了各项技术在实际开发中的应用模式。
最后总结了在项目开发中的体会。
2 四川大学硕士学位
论文2 Struts框架概述2.1 MVc设计模式 “模式是三段值,表示特写情境、问题与方案之间的关系”,即设计模式描述了在面向对象软件设计过程中针对特定问题的简洁而易用的解决
方案【l】。
设计模式是从经验中总结出来的,并在实际系统中得到了多次成功验证的。
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。
模型一视图一控制器(Mvc)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,并在最近几年被推荐为s瑚公司J2EE(java2 enterpriseedition)平台的设计模式圆。
MVC模式弱化 了业务逻辑接口和数据接口之间的耦合,实现了功能模块和显示模块的分离,从而让表现层更为独立和更富于变化,增强了应用系统的可维护性、可扩展性、 以及组件的可复用性。
MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。
其应用架构划分为3个相互协调的核心模块:模型、视图和控制器,它们分别担 负不同的任务【3】。
图2_1显示了这三个模块各自的功能以及它们的相互关系。
——————’方法iJI用 ………’事件 图2_l_
vc设计模式 由上图我们可以清晰地看出整个MVC的处理过程是:首先控制器接收用 户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户的请求进 行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图格式化模型 四川大学硕士学位
论文返回的数据,并通过表示层呈现给用户。
2.2 Struts与MVC 软件开发者开始一个软件项目时,首先应该构思该软件应用的框架,规划软件模块,并定义这些模块之问的接口和关系。
一个好的软件框架可以提高
软件开发的速度和效率,并且更易于软件的后期维护和升级。
但是软件框架的构建是一个复杂而持续改进的过程。
对于软件开发者来说,不可能对每一个项目都设计一个属于该项目的框架,而是尽可能地重用以前的软件框架,或者是开发通用性强的软件框架。
幸运的是,随着Web开发技术的日趋成熟,在Web开发领域出现了一些优秀的软件框架供开发者们采用。
Struts就是其中之一,它是基于MVC的Web应用框架【4】。
Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。
它继承了MVC的各项特性,并根据J2EE的特点,做了适当的变化与扩展,从而缩短了运用MVC设计模型来开发Web应用时所花费的时间【5】。
在Struts架构中,控制器负责接收以HTTP消息形式表示的用户请求,并将该请求转发给Action_Mapping指定的Action对象进行处理。
一旦Action对象处理完毕该用户请求后,就通过JSP页面将处理结果显示给用户,或者让应用程序流转到其他地方做处理。
其中ActionMapping是该架构的核心,用来描述用户请求的路径、处理请求的Action对象以及完成该请求所需的任何其他信息。
控制器(controUcr):在Struts中,控制器是由ActionServlet和ActionMapping 对象构成,其作用是接收客户端的用户请求,选择适当的Action对象执行相应 的业务逻辑,最后将处理结果送回到客户端呈现【q。
Struts-config.xml是Struts 的ActionMapping配置文件,其中每个Action_Mapping对象描述了一个客户端 请求与一个Action处理器对象之间的映射关系。
当Controller接收到客户端请 求后,就会通过此配置文件找到相应的控制逻辑。
控制逻辑是由ActionScrvlet 来承担:ActionServlct是一个通用的控制组件,它处理所有发送到Struts的HTrP 请求,并截取和分发这些请求到相应的Action(通常称之为ActionBean),此外 还负责用相应的请求参数填充Action From(通常称之为FromBean)。
视图(view):就是一组JSP文件,在这些JSP文件中没有业务逻辑,也 没有模型信息,只是一些Struts提供的标签,例如:HTML、Logic、Bean等。
4 四川大学硕士学位
论文 利用这些标签可以简化用户界面的设计,完成与Model部分的ActionForm映射 以及用户数据的封装,实现表现逻辑和业务逻辑的分离,从而大大提高了软件 开发效率,减少了软件开发时间。
模型(model):模型表示应用
程序的状态和业务逻辑。
在Struts中,模型是 以Bean方式存在的,主要分为:Action Form、Action、JavaBean或EJBlrl。
Action Forn尉象主要用于存放用户输入的HTML表单数据,并对其进行校验。
Struts,框架把用户输入的表单数据保存在ActionForm中,把它传递给控制器,控制器 可以对ActionForm中的数据进行修改,JSP文件读取修改后的ActionForm信息, 重新设置HTML表单。
由此可见,Smits框架利用Action Form来实现视图和控制 器之间表单数据的传递。
Action舜I象实现核心商业逻辑,它封装了具体的处理 逻辑,调用业务逻辑模块进行业务逻辑的处理,并将最终处理结果返回给相应 的视图组件以完成页面呈现。
另外,Struts通常建议使用一组JavaBean表示系统 的内部状态,根据系统的复杂度也可以使用像Entity EJB和SessionEJB等组件 来实现系统状态。
2.3 Struts的工作原理 s机lts是Apachejakana项目组提供的一个
开源项目,项目的创立者希望通过 对该项目的研究,改进和提高Java Server Pages(JSPs)、Servlet、标签库以及面 向对象的技术水准,减少运用MVC设计模式来开发w曲应用所花费的时间。
经 过近几年的迅速发展,Struts已经逐步成长为一个成熟、稳定的设计框架,并且 占有MVC最大的市场份额,可以说Struts已经成为MvC领域不争的霸主。
由图 2-2可以看出,Struts的工作原理其实很简单〔Sl:控制器(Controller)获取客户端 HrrP请求信息,并根据配置文件strut-con_fig.xml的配置信息,把请求转发给适 当的Action对象。
Aetion对象根据用户请求,}火AetionForm中读取用户的输入数 据,并调用合适的模型组件来执行相应的业务逻辑。
一旦Aetion对象执行完毕 后,控制器获取业务逻辑执行结果,根据当前状态以及业务逻辑执行结果,选 择合适的视图组件将执行结果返回给用户。
5 四川大学硕士学位
论文 图2-2 struts工作原理2.4 Struts的主要组成部分 s订uts框架主要是由ActionServlet、ActionMapping、Action、ActionForm、Struts标记库这五大部分组成的阴。
ActionServlet: org.apache.struts.action.ActionServlet类是Stmts框架的核心控制器组件,是对javax.servlet.hap.HttpServlet类的扩展,是基于Struts架构的Web应用的调度中心。
控制:器=ActionServlet主要负责获取客户端用户请求,并将用户输入数据封装至lJAction.Form中,同时进行数据验证。
验证成功后,根据ActionMapping映射信息,将存放了用户数据的ActionForm传送到相应的Action对象中进行业务逻辑处理。
业务逻辑处理完毕后,AetionServlet根据处理结果返回一个ActionForword对象,通过j比ActionForvvord对象可以找到相应的JSP呈现页面.ActionMapping: AetionMapping,也就是通常所说的Action映射。
通过它,控制器才能正常地完成其在Struts框架中的流程控制。
它为控制器指挥任务的执行提供了风向标,为ActionServlet指明了具体任务执行路线。
在Struts框架中,配置文件Struts-config.xml就是一组ActionMapping对象集合,每一个AetionMapping对象在用户请求和处理请求的Actiolbx”々j”象间建立了映射关系,其中包括:用户请求 。
6 四川大学硕士学位
论文相对应的ActionForm数据属性、是否需要进行数据校验、Action数据处理以及处理完成后可能跳转的页面等信息,这些信息都需要开发人员根据实际业务需要手动地配置。
AcfionForm: ActionForm类是org.apache.slnlts.action.ActionForm扩展类。
在Smns框架中,ActionForm对象用来封装HTML表单数据,在通过数据验证后,由控制器将该对象传递给相应的Action对象进行业务逻辑的处理,处理完毕后封装用于显示给用户的数据,并返回给视图组件用于页面的呈现【101。
开发人员可以为每一个HTML表单创建一个ActionForn尉象,用于保存Web应用程序的会话信息;同时,一个ActionForm对象也可以对应多个HTML表单,这些表单共享该ActionForm对象,具有很好地重用性。
Action Action类是用户请求和业务逻辑之间的桥梁,每一个Action负责处理一项具体的业务逻辑。
A幽n类是Struts框架的核心组件,其作用在于接收控制器传送给它的封装在ActionForm类中的用户数据,根据用户请求的业务以及配置文件中的信息,完成相应业务逻辑的处理,并根据处理结果指定应用应该流转的方 向。
Action类应该是控制应用程序的流程,而不是控制应用程序的业务逻辑。
Struts标记库: Struts框架为其视图组件提供了十分丰富的Struts标签库。
主要包括: 1.HmⅡ标签:用于生成动态的HTML用户界面和窗体。
2.8ean标签:通过该类标签,网页可以访问已经存在的Java Bean及其属性;也可以定义新的Bean,供网页内其他元素访问。
3.逻辑(Logic)标签:用于根据特定的逻辑条件来控制输出网页内容,或者循环遍历集合中的所有元素。
4.模板(TiIe)标签:使用动态模板构造通用格式的页面模板,实现页面 的继承性和可重用性。
S仇lcs标签库功能非常强大,内容十分丰富。
充分利用这些标签,能最大限度地发挥Struts的作用。
7 四川大学硕士学位
论文3 WorkflOW简介 工作流的概念起源于生产组织和办公自动化领域。
它是针对日常工作中具有固定程序的活动而提出的一个概念。
提出的目的在于通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务,并对它们的执行情况进行监控,以达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目的【ul。
只不过在没有引入
计算机信息系统的支持之前,这些工作都是由人工来完成的。
在计算机网络技术和分布式数据库技术迅速发展、多机协同工作技术日臻成熟的基础上,于20世纪80年代中期发展起来的工作流管理技术为企业更好地实现这些经营目标提供了先进的手段。
如今工作流管理技术已成功地运用到通信、图书馆、医院、保险公司、银行等领域。
并且随着计算机技术的不断发展,更多更新的技术融入到工作流中,提高了工作流产品的性能,使得工作流技术得以不断完善和发展。
3.1工作流和工作流管理系统 r 1993年工作流管理联盟(Workflow Management Coalition,wFMC)的成立标志着工作流技术开始进入相对成熟的阶段。
为了实现不同工作流产品之间的互操作,WFMC在工作流管理系统的相关术语、体系结构及应用编程接口 (WAPI)等方面制定了一系列标准。
工作流管理联盟关于“什么是工作流”这一概念,给出了如下解释:“工作流是指一类能够全部或部分自动执行的经营过程,它根据一系列过程规则,使得
文档、信息或任务能够在不同的执行者之间进行传递和执行。
”【12】简单地说,工作流就.