用户名: 密码: 验证码:
工作流技术的研究和工作流引擎的实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着社会生产的流程化,工作流(Workflow)技术起着越来越重要的作用。工作流引擎作为工作流管理系统的核心,在不同的应用环境中,根据角色、分工和条件的不同,为工作流管理系统提供决定信息传递的路由,从而显著地改进和优化了业务流程,更好的实现了业务流程控制。要达到以上目的,工作流引擎还必须包括工作流过程定义,过程转换的解释执行,工作流管理,以及工作流执行过程中的一些信息交互等功能。
     本文就工作流技术和工作流系统的核心部分工作流引擎技术作出研究,给出了一套轻量级工作流引擎具体设计原理和实现方法,利用该引擎,开发者可以根据不同的业务需求自定义不同的工作流,实现具有工作流性质的业务系统。本文主要从以下方面展开探讨:
     本文第二章研究了工作流管理系统。在工作流参考模型中,工作流引擎是工作流管理系统的核心。工作流引擎是为工作流管理系统在定义时提供支持、同时在运行时提供解释和执行服务的一组数据模型和软件。这一部分从工作流管理系统的功能、体系结构和工作流参考模型几个方面展开论述和分析,详细分析工作流系统。
     第三章介绍本课题的技术背景J2EE、XML、DTD和Schema、DOM、SAX、XPDL和FSM。J2EE是一种利用Java 2平台简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。可扩展标记语言——XML是元标记语言,它提供描述结构化数据的格式。DTD和Schema是对XML文档格式进行定义的语言,决定了文档的内容应该是些什么类型的东西。DOM和SAX是XML解析器,用来分析XML文档的内容是否符合XML标准。XPDL作为一个标准、通用的工作流定义语言,定义了一个最小集合的工作流建模实体与属性。FSM有限状态机是包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型。该模型是实现本文轻量级工作流模型的理论基础。本课题在以上技术背景和理论基础上展开讨论。
     第四章在研究工作流定义模型的基础上,结合XML,XPDL和DTD等技术背景,给出轻量级工作流引擎的基于XPDL的过程定义表示。并对该过程定义模板的含义作出了详细阐述。
     第五章在分析工作流引擎所需具备的功能作用基础上,结合第四章的过程定义模板,给出了轻量级工作流引擎的设计模型。
     第六章则在过程定义模板和引擎设计模型的基础上,对整个轻量级工作流引擎作出了详细设计。包括数据库设计、静态配置数据设计、引擎调度器设计、配置器设计、解析器设计以及查询器设计。并着重讨论了引擎调度器和查询器的核心算法。
     最后给出一个综合应用实例,对工作流引擎加以应用。
As the development of workflow automation, workflow system plays more and more important role. As the core of workflow management, workflow engine distinctly perfects the business flow by automatically transferring data according to the pre-defined logical routine and permission conditions under various environments. For better managing business flow, the followed functions should be included in the workflow engine: definite workflow, parse workflow logic routine, run workflow, manage workflow and transfer some important information inside the workflow engine.
     On the basis of analysing the workflow technology and workflow engine, I describe how to design and realize an agile workflow engine. Developer can make use of this engine to develop a business system with workflow property. Please look into the followed paragraph to the realization of the agile workflow engine.
     In the second paragraph, I discuss the workflow management system. As core of the workflow reference model, the workflow engine is the model and software that supports the workflow management in workflow definition, parsing and running. In this part, I discuss the workflow management system in details from the functions required, system structure and reference model.
     The third paragraph describes the related technology and theory developing agile workflow engine, such as J2EE, XML, DTD, Schema, DOM, SAX, XPDL and FSM. J2EE is short for Java 2 Platform Enterprise Edition. J2EE is a platform-independent, Java-centric environment/standard for developing, building and deploying component-based multi-tiered/Web-based enterprise applications. Extensible Markup Language (XML) is actually a meta-language for describing other languages—which lets one design his own markup languages for limitless different types of documents. Document Type Definition (DTD) and XML Schema include the constructs for declaring, extending, and restricting the structure of XML. DOM and SAX are widely used APIs for parsing XML. XML Process Definition Language (XPDL) presents a business process in a form that supports automated manipulation, such as modeling, or enactment by a workflow management system base on XML. Finite state machine (FSM) consists of a set of states (current states) and directions on how to change states to next states. That is, finite state machine accepts current state and inputs variables as input, and then finite state machine outputs next state and results. The agile workflow engine discussed in this article is based on FSM theory.
     I analyze the workflow definition model first in the fourth paragraph, then offer the definition representation of the agile workflow, and explain the definition templates in details.
     In the fifth paragraph, I give the design model of the agile workflow after summarizing the required functions in workflow engine.
     The detailed realization of the agile workflow engine is offered in the sixth paragraph including database design, static configuration data design, control center design, configuration module design, parser design, data persistence design and query design.
     At last, I show an integrated case to apply the agile workflow engine.
引文
[1]何清法,李国杰,焦丽梅,刘力力.基于关系数据库的轻量级工作流引擎的研究与实现.2003,2. http://www.chinaitpower.com/A/2003-02-07/49382.html
    [2]Karl R.P.H. Leung et al. The Liaision Workflow Engine Architecture. In: Proc of the 32nd Hawaii Int'l Conf on System Sciences, Hawaii, Jan. 1999. http://www.computer.org/proceedings/Hiccs2/
    [3]李一江.基于.NET的工作流引擎设计与实现[D].武汉:华中科技大学计算机应用技术,2004.
    [4]Hollingsworth D. Workflow Management Coalition: The Workflow Reference Model. Document Number WFMC-TC00-1003, Brussels, 1994
    [5]WfMC. Workflow Management Coalition Specification: Terminology & Glossary. Document Number WFMC-TC-1011, Brussels, 1996
    [6]R.Tagg et.al. Preliminary Design of a Lightweight Workflow Server. In: 8th Australasian Conf on Information Systems, Australia, 1997. http://business.unisa.edu.au/acis97/
    [7]Dider Martin著.李品,严春莹,马琳译.XML高级编程[M].北京:机械工业出版社,2001:56~133
    [8]谭支鹏.基于工作流技术MIS系统的分析与设计[J].华中科技大学学报,2001,29(7):7~9
    [9]严云涛,杨扬.工作流管理系统中的过程定义模型[J].微机发展,1999,4(1):28~31
    [10]胡卫军,陈传波.通用工作流管理模式的分析与研究[J].计算机工程与应用,1999,7(3):32~34
    [11]牛军针,赵大哲,赵宏.开放集成的工作流管理系统模型[J].计算机科学,1999,26(8):39~42
    [12]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001:121~256
    [13]王辅东,魏峻.面向web服务的工作流建模语言比较[J].计算机应用,2002,22(11):26~29
    [14]汪涛,吴耿锋,黄力芹.工作流管理的现状和未来趋势[J].小型计算机系统,2001,22(2):232~235
    [15]刘铁铭,范玉顺.基于工作流的企业过程的建模和仿真技术研究[J].清华大学学报(自然科学版),2000,40(1):107~108
    [16]曹化工,魏末平.工作流管理系统中的版本管理应用研究.华中科技大学学报,2001,29(7):10~12
    [17]朱瑜.工作流引擎研究与实现[D].成都:电子科技大学,2005.1
    [18]谢子松.基于J2EE的工作流引擎研究与实现[D].南昌:南昌大学信息工程学院,2005
    [19]常飞.工作流引擎中间件的设计与实现[D].内蒙古:内蒙古大学计算机学院,2006
    [20]李伟平.工作流管理系统的建模方法和实现技术研究[D].中国科学院沈阳自动化研究所,2002
    [21]Workflow Management Coalition. Workflow Client Application Programming Interface(WAPI)Specification. WflVIC-TC-1009, Version 1.2, October 1996. http://www.wfmc.org/
    [22]阎宏.JAVA与模式[M].北京:机械工业出版社,2002.10
    [23]Workflow Management Coalition. Reference Model-The Workflow Reference Model. WFMC-TC-1003, Version 1.1,19 Jan 1995. http://www.wfmc.org/standards/docs/tc003v11.pdf
    [24]Michael Zur Muehlen, Rob Allen. Stand-alone and embedded workflow management systems. March 10, 2000. http://www.wfmc.org/standards/docs/MzM_RA_WfMC_WP_ Embedded_and_Autonomous_Workflow.pdf
    [25]David Hollingsworth, ICL A&TC. A Common Object Model. WfMC-TC-1023, March 1999.http://www.wfmc.org/standards/docs/TC-1022_commom_Object%20Model_Paper.pdf
    [26]Rob Allen. Workflow: An Introduction. Workflow Handbook, 2001.http://www, wfmc.org/standards/docs/Workfiow_An_Introduction.pdf
    [27]Carol Prior. Workflow and Process Management. Workflow Handbook,2003.http://www.wfmc.org/information/Workflow_and_Process_Management.pdf
    [28]侯美玲.基于工作流技术的管理信息系统的开发研究[D].太原:太原理工大学,2006,5
    [29]姜新华.基于web service的工作流引擎集成[D].内蒙古:内蒙古大学计算机学院,2005,5
    [30]Brett McLaughli.Java and XML Data Binding[M]. O'Reilly & Associates,2002
    [31](美)Mike jasnowski等著,盖江南,王勇等译.Java,XML和Web服务宝典[M]北京:电子工业出版社,2002
    [32]R.Tagg et al. Preliminary Design of a Lightweight Workflow Server[M].Australasian conference Information Systems, Australia, 1997
    [33]Brett McLaughlin. Building Java Enterprise Applications, Vol.1: Architecture[M]. O'Reilly & Associates, 2002
    [34]Brett Spell. Professional Java Programming: Class Design, Threads, Event Handling, Layout Man[M]. Wrox Press Inc,2000
    [35]Gregor Joeris, Otthein Herzog. Towards Object-oriented Modeling and Enacting of Processes. http://wwwinformatik.uni-bremen.de/joeris/pub/tzi07-98.ps.gz.
    [36]Teresa L.Ju. Process Definition for Adaptable Workflow Management Systems. http://wwwgca.org/papers/xmleurope2001/papers/html/s15-1.html
    
    [37] Erik T.Ray. Learning XML, Second Edition[M]. O'Reilly & Associates, September 2003
    
    [38] Bruce W. Perry. Java Servlet & JSP Cookbook[M]. O'Reilly & Associates, January 2004
    
    [39] Bryan Basham, Kathy Sierra, Bert Bates. Head First Servlets and JSP[M]. O'Reilly & Associates, August 2004
    
    [40] Ellis C A, Gibbs S J. Concurrency control in groupware systems[J]. In: Proc ACM SIGMOD Conf. on Management of data, Seattle, 1989:399~407
    
    [41] Christoph Bussler. Enterprise-wide workflow management[J]. IEEE Concurrence, July~ September 1999: 32~43

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700