




已阅读5页,还剩94页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工学硕士学位论文支持ICEMDA的工作流引擎技术与实现董洪梅哈尔滨工业大学2007年7月国内图书分类号:TP315国际图书分类号:681.3工学硕士学位论文支持ICEMDA的工作流引擎技术与实现硕士研究生:董洪梅导师:刘国忠 副教授申请学位:工学硕士学科、专业:计算机科学与技术所在单位:计算机科学与技术学院答辩日期:2007年7月授予学位单位:哈尔滨工业大学Classified Index:TP315U. D. C. :681.3Dissertation for the Master Degree in EngineeringTECHNOLOGY AND IMPLEMENTATION OF WORKFLOW ENGINE FOR ICEMDACandidate:Dong HongmeiSupervisor:Associate Prof. Liu GuozhongAcademic Degree Applied for:Master of EngineeringSpeciality:Computer Science and TechnologyAffiliation:School of Computer Scienceand TechnologyDate of Oral Examination:July, 2007University:Harbin Institute of Technology哈尔滨工业大学工学硕士学位论文摘要随着计算机技术的迅速发展,越来越多的企业采用了信息化手段对企业进行管理,这就标志着许多工作需要靠计算机按照一定的执行规则自动实现,特别是企业业务流程的自动化或半自动化实现。工作流技术为实现这一目标提供了新的技术手段和方法。与此同时,经济的全球化和企业竞争的加剧要求企业应用软件系统具有高度的灵活性,可以按照企业的具体需求,快速灵活地生成应用软件系统,并且在企业业务流程发生变化时,迅速地进行重组来满足客户需求。MDA的提出将一系列新的趋势性技术整合在一起来满足企业复杂多变的需求。本文首先研究了可配置可互操作可执行的模型驱动构架(Interoperable Configurable Executable Model Driven Architecture, ICEMDA)支持下的工作流模型。在基于业务对象概念的基础上,建立以业务活动为中心的PIM(Plat Independent Model)层工作流模型。接着建立了PSM(Plat Specific Model)可执行工作流模型,该模型主要描述了业务构件内部和业务构件之间的依赖关系;而后定义一个形式化的有限自动机和一系列映射规则实现PIM到PSM的自动映射。其次,针对PSM的可执行工作流模型,研究了工作流引擎中的路由算法、条件判断策略和基于负载平衡的任务分配算法,并定义了工作流引擎与应用程序框架的集成模式,将应用程序框架中的角色/用户数据和工作流相关数据集成到工作流引擎中。最后设计和实现了一个采用模块化思想的工作流引擎,并与开源工作流引擎Shark在支持的工作流模型、任务分配策略和耦合性三方面做了比较分析。在实现方面,结合一个具体的采购业务应用案例对ICEMDA中的业务流程开发模式做了详细描述。关键词MDA;工作流模型;工作流引擎AbstractWith the rapid development of the computer technology, more and more enterprises have adopted the information-based means to manage their business processes. This indicates that a lot of work will be done automatically by computers according to certain execution rules, especially the enterprise business processes. The workflow technique provides a new method to achieve this goal.At the same time, enterprise application software systems should have high flexibility as the economic globalization and keen competition. And they also should reengineer themselves to adapt new user-requirements when the business processes are changed. MDA is a right approach to satisfy complicated and various requirements with integrating a series of new trendy technology.Firstly, the workflow model based on ICEMDA (Interoperable Configurable Executable Model Driven Architecture) is talked about. On the basis of the concept of business object, a workflow model which takes business activities as its center at Plat Independent Model (PIM, for short) layer is defined. Then an executable workflow model at Platform Specific Model (PSM, for short) layer is defined. This model describes the dependency relationship inside of a business component and among the business components. After that, a finite automaton is defined to implement the automatic mapping from PIM layer workflow model to PSM executable workflow model.Secondly, according to the PSM executable workflow model, a route algorithm, a conditions evaluation algorithm, and a task assign algorithm used in the workflow engine are researched. Then the paper defines the integration pattern between the workflow engine and the application software framework. This integration indicates the data form and cooperation process between them.Lastly, a moduled workflow engine is designed and implemented. And it is compared with an open source workflow engine Shark from three aspects: workflow model, task assignment strategics and coupling. In respect of realization, an example of purchase business process is described to indicate the development procedure of the business process in the ICEMDA.KeywordsMDA, Workflow Model, Workflow Engine不要删除行尾的分节符,此行不会被打印- III -目录摘要IAbstractII第1章 绪论11.1 课题背景与来源11.2 与课题相关国内外研究进展及成果11.2.1 工作流技术综述11.2.2 现有的工作流建模方法及存在问题31.2.3 工作流引擎综述及其不足41.2.4 MDA的发展51.2.5 工作流与MDA的结合61.3 本硕士论文的研究内容6第2章 支持ICEMDA的工作流模型82.1 ICEMDA简介82.2 ICE-PIM层工作流模型92.2.1 模型需求92.2.2 元模型102.2.3 示例122.2.4 ICE-PIM工作流元模型的形式化定义132.3 ICE-PSM层可执行工作流模型162.3.1 XPDL简介172.3.2 可执行工作流元模型222.3.3 ICE-PSM可执行工作流元模型的形式化定义272.4 PIM到PSM工作流元模型的自动映射292.4.1 基于有限自动机的映射302.4.2 映射规则312.5 本章小结39第3章 支持ICEMDA的工作流引擎研究403.1 功能分析与体系结构403.1.1 WfMC的工作流参考模型403.1.2 ICEMDA的工作流体系结构423.2 工作流引擎的核心算法研究433.2.1 路由算法433.2.2 条件判断策略493.2.3 基于负载平衡的任务分配503.3 工作流引擎与框架的集成模式研究533.3.1 功能定义533.3.2 交互过程543.3.3 集成数据及集成形式553.4 本章小结57第4章 工作流引擎的设计与实现584.1 工作流引擎的系统结构584.2 工作流引擎的设计实现594.2.1 内核设计实现594.2.2 接口定义654.3 工作流引擎效率优化694.3.1 工作流实例缓冲区694.3.2 LRU算法基本思想694.3.3 基于双向链表的LRU算法实现694.4 工作流引擎性能比较分析704.4.1 开源工作流引擎Shark704.4.2 工作流引擎与Shark比较分析724.5 本章小结73第5章 工作流引擎的应用案例745.1 基于ICEMDA的业务流程开发模式745.2 应用案例755.2.1 需求分析和PIM层建模755.2.2 PSM层可执行工作流模型定义文件775.2.3 业务构件业务逻辑代码编写775.2.4 加载包785.2.5 角色/用户信息映射795.2.6 用户操作795.3 本章小结81结 论82参考文献83攻读学位期间发表的学术论文87哈尔滨工业大学硕士学位论文原创性声明88哈尔滨工业大学硕士学位论文使用授权书88哈尔滨工业大学硕士学位涉密论文管理88致 谢89千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空行- VI -第1章 绪论1.1 课题背景与来源本课题来源于863项目“新一代企业资源计划系统研究与开发(2003AA4Z3210)”和高等学校博士学科点专项科研基金资助课题“大型企业管理应用软件的可重构模式、过程与实现技术研究(20030213027)”。随着经济全球化和信息技术的迅速发展,越来越多的企业采用了信息化的手段对企业进行管理。企业的业务流程也随之迁移到企业应用软件中。如何在企业应用软件中实现业务流程是企业应用软件必须解决的问题,解决方案的优劣直接导致了企业管理效率的高低,从而也间接影响了企业的效益。实现业务流程自动化的最好的方式之一就是采用工作流技术,工作流技术为业务流程的自动或半自动计算机实现提供了方法。模型驱动构架(Model Driven Architecture, MDA)的出现将基于构件的开发、设计模式等一系列新兴技术整合到一起,为提高软件开发效率、增强软件的可移植性、协同工作能力和可维护性以及文档编制的便利性指明了解决之道。MDA是一个软件开发构架,是由OMG提出并资助的软件开发方法学。在MDA中,模型在软件开发过程中扮演非常重要的角色,软件开发过程是由对软件系统的建模行为驱动的。如何将基于MDA的开发方法和工作流技术结合起来共同实现企业的业务流程,使得软件开发人员能够快速高效地开发企业应用软件并合理实现业务流程,同时,将业务流程从企业应用软件中分离出来使得企业业务流程的改变不会导致应用软件做大面积的改变,是本文研究的一个重要问题。1.2 与课题相关国内外研究进展及成果1.2.1 工作流技术综述工作流起源于办公自动化领域,它是针对日常工作中具有固定程序的活动而提出的一个概念1。提出的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。工作流的标准化工作也取得了一定的进展,目前工作流的规范主要有:工作流管理联盟(Workflow Management Coalition, WfMC)提出的参考模型和XPDL规范,OMG提出的Workflow management facility,微软、BEA、IBM等联合提出的BPEL,ebXMLs BPSS等等。其中以WfMC的贡献最为突出,WfMC是在工作流领域中第一个致力于标准化工作的组织,创建于1993年。 WfMC发布的参考模型定义了工作流管理系统和其他相关部分之间的接口,WfMC的另一项成果XPDL规范定义了描述工作流声明部分的XML结构。目前在国内外,参考模型和XPDL被大多数学者和企业认为是目前最好的规范。由于研究工作流的组织和机构非常庞大,导致了工作流的定义也存在多种。WfMC对工作流的定义为:工作流是一类能够完全或者部分自动化执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行2。Georgakopoulos给出的工作流定义是将一组任务组织起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。任务的触发顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流的传递3。IBM Almaden研究中心给出的工作流定义为:工作流是经营过程的一种计算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序4。而工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行5,6。工作流管理系统在最高层上可表现为提供三个功能块的支持7:(1)系统创建时间功能 工作流过程及其组成活动的定义和建模。(2)系统运行时间的控制功能 在其运行环境中管理工作流过程,并连续地处理组成一个过程的各活动。(3)系统运行时间功能 用户与处理各活动步骤的外部应用程序或者IT应用工具之间的交互。1.2.2 现有的工作流建模方法及存在问题模型是用文字、图形、图表、符号关系式以及实体模样等描述所认识到的客观对象的一种简化表示形式。它是人们为了研究和解决客观世界中存在的各种问题而对客观现实经过抽象思维后得到的8。工作流模型是对工作流的抽象表示,也就是对业务过程的抽象表示。工作流管理建立阶段的功能主要是完成经营过程的计算机化的定义,也就是完成过程建模的任务9。由于需要在计算机环境下运行,所以,工作流模型既要让人读懂,也要让计算机能够读懂并能解释所定义的业务过程。也正是因为如此,简单的业务过程通过语言或文字就可以表达完全,无需建立明确的模型,而描述企业经营过程的工作流则必须建立相应的工作流模型才能实现企业业务流程的工作流管理,尤其是对那些实现许多复杂的并行执行流程的业务过程,只有建立它们的计算机化的模型才可能对流程的执行情况进行有效的监控。现今的工作流建模方法主要有基于活动网络、Petri网、语言行为理论、活动与状态图以及扩展事务模型的建模方法。大多数工作流研究都是从描述过程开始的,比如流程图、状态图、活动网络图以及Keller等人提出的事件过程链模型(Event-driven Process Chain, EPC)等等。基于XML的典型业务过程定义语言是BPMI维护的BPML,其他类似的语言还包括:BPQL、WSFL、XLANG、BPEL、WSCDL、XPDL等。基于活动网络的建模方法是以活动和活动之间的关系为基础对工作流进行建模。这种方法的优点是直观并且易于理解,因此目前很多工作流管理系统都采用这种方法建立工作流模型。这种方法的缺点是其相关理论研究偏少,因为这种方法强调了工作流墨西哥能的直观性和易理解性,而直观性和易理解性通常与系统的具体实现关系密切10,11。Petri网是完全形式化的,可以对模型进行准确的判断和分析,非常易于计算机理解和自动实现。因此基于Petri网的工作流建模和分析得到了广泛的发展。但基于Pertri网的工作流模型有着模型不直观的缺点,导致了其不易被非专业人员理解和沟通1215。基于状态和活动图的建模方法是一种介于Petri网模型和图形化模型之间的建模方法。这种方法的优点是易学习和易理解,并且比图形化模型容易验证和实现。缺点是可视性效果和可理解性较差,模型验证工作也比基于Petri网的建模方法复杂16。基于事务模型的建模方法来源于数据库研究领域,事务处理对于维护数据库的正确性、一致性和出错恢复都具有重要意义1719,在工作流模型中引入事务概念可以提高工作流管理系统的可靠性。基于语言行为理论的建模方法20是从客户方和服务方之间的语言行为交互上对工作流进行建模,ActionFlow就是采用语言行为理论的工作流模型。1.2.3 工作流引擎综述及其不足工作流引擎是一个为工作流实例的执行提供运行服务环境的软件,它是工作流执行服务的核心,是执行企业经营流程的“业务操作系统”的内核。工作流引擎主要提供两类工作流执行服务:一类是负责响应来自工作流管理器接口的所有消息,这种工作流执行服务是常驻的;另一类负责维护各自的流程实例的执行,这种服务则是随着流程实例的产生而开始,随着流程实例的结束而终止的1。目前工作流引擎产品数量相当多,其中有软件制造商所提供的商业产品,也有一些由个人或自由组织所发起的开源项目。可以从四个方面进行分类2:按工作流模型分析,根据工作流引擎支持的工作流模型,可将其分为符合XPDL和不符合XPDL的。前者的商业产品代表有Action Technologies ActionWorks Metor、IBM Websphere MQ Workflow、SAP Business Workflow等著名软件。开源的主要有Shark等。后者现在主要包括了一些使用BPEL的产品。按应用级别分类,可将工作流引擎分为嵌入式工作流引擎和独立式工作流引擎。嵌入式工作流引擎不能单独运行,只能嵌入到系统内部作为系统的一个组件运行。而独立式工作流引擎可单独存在,并且对远过程调用等都提供统一支持。嵌入式工作流引擎的一个代表是开源工作流引擎OSWorkflow,它可看作是一个嵌入在系统内部的有限状态机,简单灵活。按实现框架分类,又可将工作流引擎分为基于关系数据库的、基于.net的、基于J2EE的、基于CORBA的等等。按代码是否开源分类,可将工作流引擎分为开源工作流引擎与商业工作流引擎。前者的主流代表主要有Shark、jBPM和OSWorkflow等。后者的主要代表有国内的西安协同、中唐、有生博大、东方易维等。分析现在的工作流引擎主要存在如下四点问题。(1)没有通用的工作流引擎 现今的工作流引擎产品大多数都限定在一个具体的领域,没有一个适合所有领域的产品。(2)所支持的工作流模型种类繁多 由于工作流模型没有统一的标准,尽管WfMC制定了统一的XPDL规范,但仍有很大数量的工作流引擎所执行的工作流模型不是符合XPDL规范的,比如支持Petri网等。(3)内部执行机制各不相同 由于工作流引擎输入的模型不尽相同,也导致了各种工作流引擎的内部执行机制各不一样,有的采用Petri网的令牌机制,有的则采用了有限状态机的执行方法。(4)可集成程度差 工作流引擎不可避免得需要与外部应用程序进行交互。当工作流引擎作为嵌入式工作时,使得工作流引擎与所嵌入的系统是紧耦合的。而如果作为独立式工作时,工作流引擎与原先的企业业务系统的集成是一个很大的挑战。1.2.4 MDA的发展OMG在2002年初宣告了模型驱动构架(Model Driven Architecture, MDA)为它的战略方向。MDA以计算机可以理解的模型为中心,把软件开发提升到更高一级的抽象级别模型级别,从而达到分离问题与业务逻辑和具体实现平台的目的,保护开发者已建立的“业务逻辑”安然无恙,避免了“平台易变性”的风险22。在基于MDA的开发过程中,开发人员把注意力转移到开发模型上,将更多的精力用到功能性需求的分析和设计,而不是过早的陷入具体的实现细节当中。MDA最主要的特点23,24就是软件开发的重点是各种模型,而不再是程序和输出,软件开发人员的关键工作是不断拓展各种模型,只有到了最后阶段才会考虑其实现。MDA把建模语言当作是编程语言来用,而不致使当作设计语言来用。它能够创造出机器可读以及高度抽象的模型,这些模型独立于实现的技术,以标准化的方式存储。MDA以一种全新的方式将IT技术的一系列新的趋势性技术整合在一起,这些技术包括基于组件的软件开发(Component-Based Software Development, CBSD)、设计模式、中间件、说明性规约、多层系统、企业应用集成以及契约式设计等等25。总之,MDA为企业应用在不同生命周期阶段的集成提供了完备的解决方案,它提倡使用形式化的系统模型作为解决企业应用系统集成的核心,通过使用软件工程方法和工具去理解、设计、操作、发展企业软件系统的所有方面,为提高软件开发效率、增强软件的可移植性、互操作性、可维护性和文档的可编制性提供了统一的途径。国内外对于MDA的研究主要集中在两方面。一方面是研究如何提供模型定义和转换的高自动化工具,通常是针对特定领域的,其复杂的转换规则是可以预定义的。另外一方面是开发各种MDA的通用工具,它可以通过配置第三方的插件或者扩展来支持MDA的实现,针对广阔的应用领域实现MDA的解决方案。1.2.5 工作流与MDA的结合通过以上的分析,传统的工作流模型都有一个共有的缺点:直观性和形式化不可兼而有之。有的模型是直观的、容易被人理解的,例如活动图等;而有的模型是形式化的,很容易被计算机所理解,Petri网是一个典型的代表。此外,传统的工作流模型由于追求通用性,因而没有特殊考虑企业应用中业务流程的持久化数据多、多用户、业务逻辑复杂等专有的特点。针对上述缺点分析,可采用MDA的开发方法处理,平台无关模型(Platform Independent Model, PIM)层的工作流模型追求模型的直观性,采用图形化表述,平台相关模型(Platform Specific Model, PSM)层的工作流模型面向平台,采用XML文件形式描述,最后在代码(code)层实现一个工作流引擎解释执行模型。工作流建模技术在MDA领域的应用,使得软件开发者在业务流程的建模、映射和代码生成的时候,不必关注业务建模中的一些细节,摆脱了很多在构建业务逻辑流程时技术细节的困扰26。这样大大减少了程序员在进行业务逻辑编程时的工作量。在使用了这种方法后,可以实现基于工作流技术,从PIM自动生成相应的PSM可执行工作流模型定义。1.3 本硕士论文的研究内容本论文的主要工作是采用ICEMDA的方法对工作流建模,并设计实现一个工作流引擎对其提供执行服务,主要的工作如下所述:(1)ICEMDA的工作流建模 在ICEMDA的环境下,建立ICE-PIM层工作流模型,它采用了UML+的图形对企业的业务流程建立模型;而后通过扩展XPDL定义了PSM层可执行工作流模型;最后在两层工作流模型的基础上,定义了一系列的自动映射规则实现转换。(2)支持ICEMDA的工作流引擎研究 工作流引擎以可执行工作流模型为输入,对模型定义进行解释执行。重点研究了工作流引擎中的路由算法和条件判断策略。同时,定义了工作流引擎与框架和业务构件之间的交互模式,对三者之间的交互数据、交互格式以及交互过程做了详细描述。(3)设计实现支持ICEMDA的工作流引擎 首先总体设计了工作流引擎的体系结构,对工作流引擎进行了模块划分,方便以后的扩展和改进。然后分别设计和实现了工作流引擎的对外接口定义和核心功能模块。接口定义主要包括角色/用户数据映射、工作流相关数据以及任务列表。核心功能包括了工作流实例管理器、转移路径选择器、条件判断器、任务分配器等模块。接着分析比较了此工作流引擎和开源工作流引擎Shark。最后结合一个应用案例描述了一个典型的业务流程的开发模式。图1-1是本文的研究思路和问题链。图1-1研究思路及问题链Figure 1-1 The research route and problem chain第2章 支持ICEMDA的工作流模型2.1 ICEMDA简介ICEMDA的全称是Interoperable Configurable Executable Model Driven Architecture,即可配置的可互操作的可执行的模型驱动构架。它是在MDA方法的基础上,提出了一系列模型、视图和方法对企业应用软件进行描述,以便达到快速、准确、高效地开发应用系统的方法。ICEMDA的总体框架如图2-1所示,其中竖式虚线矩形框包含的内容是本文所要研究的内容。图2-1 基于ICEMDA的工作流系统Figure 2-1 The workflow system based on ICEMDAICEMDA分为四层架构ICE-CIM(Computing Independent Model)、ICE-PIM(Platform Independent Model)、ICE-PSM(Platform Specific Model)和ICE-Code层四层架构。ICE-CIM层是计算无关模型,通过GRAI建模方法对现实世界的企业业务抽象成企业软件应用中的一系列过程,形成了一系列的模型和视图。每一个模型描述了由企业业务到企业软件应用这一过程抽象中某一个阶段的成果,每一个视图描述了某一特定模型的某个侧面。ICE-PIM是平台无关模型,它以业务对象(Business Object, BO)为中心,通过识别和定义一个个BO,转换ICE-CIM的过程模型形成工作流模型。其中BO27是融数据和方法于一体的,具有一定生命周期的对象。因此,ICE-PIM是面向对象的模型。ICE-PSM是平台相关模型。ICE-PSM模型将PIM层的BO转换成基于特定软件模式的构件模型。该构件被称为业务构件(Business Component, BC)28,其模型被称为BC 模型。进一步,以BC模型为基础,转换或建立ESA的静态配置模型和执行工作流模型(Execute WorkFlow Model)。ICEMDA的Code层是在平台基础上的,基于框架和工作流引擎的可配置的构件化系统。2.2 ICE-PIM层工作流模型在ICEMDA中,将企业日常经营活动中涉及到的相关信息实体与物理实体抽象成业务对象29。订单、报表、设备、员工等都可以称为业务对象。业务对象是指企业中所有物理资源和信息资源在信息系统中的抽象,通过一组连续的操作,使得业务对象的属性不断改变,最终完成对一个业务对象的处理过程。业务活动是一个角色处理表单全部或者部分数据项的一系列业务操作的集合。PIM层工作流模型描述一个业务对象BO的多个业务活动之间以及多个业务对象BO之间的运行关系,是CIM层过程模型的细化。2.2.1 模型需求业务对象的概念来源于企业日常业务处理的单据和报表,对单据和报表的处理过程使业务对象的状态不断发生变化。基于业务对象的概念,ICE-PIM工作流模型需要描述三个方面的内容。(1)确定业务活动的时序关系 业务对象所包含的业务活动之间的时序关系不一定都是顺序的,所以工作流模型需要描述业务对象内部以及业务对象之间各业务活动间的时序关系。(2)模型的约束 业务活动的流转次序并不是一成不变的,应该能随着执行时期具体的数据而随之改变;此外,业务活动的触发和结束也可能有约束条件。因此,这些约束条件也该在图形化的工作流模型中表达出来。(3)业务活动的执行者 业务活动由执行者完成,在ICEMDA建模体系中,此执行者是来自角色模型中的角色。除以上三个方面,ICEPIM工作流模型还应该能够向下转换成ICE-PSM工作流执行模型。2.2.2 元模型为了满足2.2.1节所提出的需求,并且能够完整准确地将CIM层过程模型细化成PIM层工作流模型,本节定义了PIM层工作流模型的元模型。如图2-2所示,图中详细描述了PIM层工作流模型包含的元素以及元素之间的关系。图2-2 PIM层工作流元模型Figure 2-2 Meta-model of the ICE-PIM workflow model在PIM层工作流模型中,无论是表单的处理顺序,还是抽象的信息处理动作与决策过程,都可以通过其基本组成元素业务活动来统一进行描述。同样,不同业务活动之间的关系都可以用工作流的基本组成元素控制流来统一地进行描述。控制流反映了对企业业务经营过程的一种控制逻辑,它定义了业务活动之间的连接关系和执行顺序。下面分别介绍PIM工作流元模型中的各个元素。(1)业务活动 业务活动是由一系列具有一定逻辑关系的业务操作组成的功能实体,是使业务对象状态发生变迁的业务操作的有限集合构成。业务活动一般表示某岗位对一个表单、文档或者报表中的部分或者全部的数据项进行的一次处理。分四类:关联业务活动、集成业务活动、关联集成业务活动和一般业务活动。(2)事件 业务活动执行完毕后,由执行人发出事件,用于触发下一个活动,充当了业务活动的触发器。广义的事件是由外部环境、用户或业务活动产生的、表示特定的业务原因或业务时刻的一条消息,并触发其他的业务活动或业务过程的执行。根据事件源可将事件分为两类:时间事件和人工事件。(3)控制流 控制流描述了工作流模型中各个节点之间的时序控制关系。从形式上,连接了活动与活动、活动与连接器、决策节点和连接器、决策节点和业务活动等之间的关系,最终使整个工作量模型形成一个有向图事件和功能或业务过程之间的执行顺序关系。(4)连接器 描述了控制流间的逻辑关系。常见的逻辑连接符包括:异或XOR、与AND、或OR。通过连接器可表示四种基本的工作流模式:顺序模式、并发模式、选择模式、排他选择模式。在顺序模式下,活动只产生一个事件,一个事件只触发一个活动。AND表示并发模式,在此模式中,多个控制流分支被无条件地并发执行。OR表示多选多控制模式,在多选多模式下,可能有多个满足条件的控制流分支被选中执行。XOR表示派它选择模式,在此模式中,只有一个满足条件的控制流分支被选中执行。(5)角色 角色是对能够区分不同责任的一类用户的抽象描述,在软件系统中,角色往往体现的是权限。角色权限主要体现在业务对象、属性和业务活动三个方面。在PIM层工作流模型中,对角色的复杂信息并不定义,因为这些信息会在角色模型中描述。在工作流模型中,只描述角色的标示符和角色名称。(6)条件表达式 条件表达式根据应用的位置可分为三类:转移条件、前置条件和后置条件。转移条件是附加在控制流上的条件表达式,含义为只有条件表达式结果为真的条件下其所附加的控制流才能被执行,否则不执行。前置条件是业务活动执行前需要满足的条件。后置条件是业务活动需要满足一定的条件才能结束。(7)业务活动输入输出数据 每个业务活动都包含一个输入数据或者输出数据,例如采购订单需要根据采购需求或者采购计划制定,输出结果是采购订单。业务活动的输入输出数据在工作流模型中直接和业务活动相连。为了便于PIM层各个模型间的互操作,ICE-PIM层模型用UML+图表示。因此,对各个元素的图形化表示如图2-3所示。图2-3 ICE-PIM工作流元模型元素图形化Figure 2-3 The graph of the ICE-PIM workflow meta-model2.2.3 示例采购需求单有制定和审批两个活动,但根据审批金额的不同,所需要的审批人员也不同,图2-4描述了采购需求单的内部业务流程。首先由需求填写人制定一个采购需求单,而后交由处长审批,最后根据处长的审批结果和审批金额分成副经理审批、重新制定和审批结束三个分支。图2-4 采购需求单的制定审批流程Figure 2-4 Making and auditing process of the purchase requirement order2.2.4 ICE-PIM工作流元模型的形式化定义PIM层工作流模型以业务活动为中心,通过控制流和连接器描述业务活动时序关系,从而表示一个业务流程。此外,控制流的通过可以附加一定的条件、事件或状态,只有满足这些因素,控制流才允许执行,完成业务活动的流转。PIM层工作流模型可由一个二十三元组描述。其中,各分量描述如下:(1)BusinessActivities表示PIM层工作流模型的业务活动BusinessActivity集合。(2)每一个业务活动BusinessActivity是一个五元组:其中,ID是业务活动的唯一标识;Name是业务活动的名称;Description是业务活动的描述性文字;PreExecCtrl是业务活动的执行前控制模式,描述了活动的执行是需要人工干预还是自动启动;PreExecCtrl是业务活动的执行前控制模式;Deadline是业务活动的期限,描述业务活动被执行的最大次数或者最后时间。(3)Events是PIM层工作流模型的事件集合。(4)Flows是PIM层工作流模型的控制流集合。(5)Roles是PIM层工作流模型的角色集合。(6)Decisions是PIM层工作流模型的决策集合。(7)Decision又是一个二元组:。其中,n表示Decision包含的条件表达式的个数;DeciCond是一个函数:(8)Conditions是PIM层工作流模型的约束条件集合。(9)Connectors是PIM层工作流模型的连接器集合。而每一个连接器只有取值:XOR、OR、AND。因此:(10)Start是PIM层工作流模型的开始节点。(11)Finish是PIM层工作流模型的结束节点。(12)ActType是一个为每一个业务活动指定活动类型函数:其中,活动类型包括:一般活动、关联活动、集成活动、关联集成活动、子流程活动。(13)ActBOID是一个为业务活动指定其所对应的业务对象ID的函数:上式中是一个部分函数,表明了业务活动也可不与任何业务对象相关联,此为可选项。(14)ActExecuteRole是为业务活动指定执行角色的函数:采用部分函数的原因在于有些业务活动并不需要指定角色执行,比如subflow类型的活动无需角色人员的参与便可完成。(15)ActPreCond也是一个函数,为业务活动指定前置条件,类似的,前置条件是业务活动的可选项,因此也是一个部分函数:(16)ActPostCond与ActPreCond类似,是一个为业务活动指定后置条件的函数,类似的,后置条件也是业务活动的可选项,因此也是一个部分函数:(17)EventType描述event类型的函数:(18)FlowType是将每一个控制流Flow指定类型的函数,控制流有三种类型:附加事件型、附加条件型以及无任何附加型。(19)SourceFlow和TargetFlow分别是为控制流Flow指定源和目标的函数,控制流的流向有五种组合:业务活动连接器,连接器业务活动,业务活动条件表达式,条件表达式连接器,业务活动业务活动,表示流向的意思。因此,SourceFlow和TargetFlow两个函数如下所示:(20)FlowEvent为一个函数,它为附加事件型的控制流指定附加的事件,只有在产生相应的事件后,控制流才能被经过执行:(21)FlowResult为变迁附加决策结果的函数,从而可以根据决策中心的结果判断出可执行的分支:(22)FlowCond也为一个函数,它为附加条件型的控制流指定附加的条件,只有在满足指定的条件后,控制流才能被经过执行:(23)DeciCond是一个函数,它为每一个决策中心指定其所包含的条件表达式。(24)StartAct是一个将开始节点映射到活动的函数,描述了模型的开始业务活动。(25)FinishAct是一个将活动或者连接器映射到结束节点的函数,描述了模型的结束业务活动。工作流模型必须遵循一定的约束,图形元素之间的连接也会存在一定的约束,把这些无法用图形化的方法表达出来的约束形式化定义如下:(1)只有连接器可以拥有多个发出控制流,而业务活动和决策点只能有一个发出控制流;结束节点和其他元素都没有发出控制流。(2)只有连接器可以拥有多个进入控制流,而业务活动和决策点只能有一个进入控制流;开始节点和其他元素都没有进入控制流。(3)决策中心必须通过一个无任何附件条件的发出控制流,而此控制流流向一个连接器,并且此连接器是一个XOR。2.3 ICE-PSM层可执行工作流模型ICE-PSM层可执行工作流模型是以业务构件(Business Component, 简称BC)的业务活动为中心的,描述了一个业务构件间的业务活动的流转次序以及业务构件之间的时序执行关系。ICE-PSM层各种模型的交互语言是XML,因此,可执行工作流模型采用XML语言描述,以便为ICE-PSM层其他模型提供互操作和转换的方便,体现了ICEMDA体系的可互操作性。而XPDL作为一种工作流过程定义之间的公共交互格式,它的通用性和可转换性符合现代软件开发的形式,为工作流过程定义互相转换提供了规范。因此,ICE-PSM层的可执行工作流模型应符合XPDL规范,以便各个组织和企业能够协同工作。通过以上分析,ICE-PSM层可执行工作流模型采用XML语言描述,并且采用的XML语言遵循XPDL规范,对于XPDL不能描述的信息,通过扩展属性的方式描述,这样通过扩展的XPDL形成了可执行工作流
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 31201-2014复合肥(缓控释)生产成套设备》
- 进口煤合同范本
- 特质车辆加油合同范本
- 展会样品购销合同范本
- 网上合同范本怎么
- 劳务合同范本图库
- 丽江庭院租赁合同范本
- 合股经营钢材合同范本
- 田螺回收合同范本
- 装修质量保障合同范本
- 2025秋外研新版三起点小学英语四年级上册教学计划
- 2025-2026学年人教版(2024)初中数学八年级上册教学计划及进度表
- 2025秋部编版二年级上册语文教学计划+教学进度表
- 智慧城市管理技术专业教学标准(高等职业教育专科)2025修订
- 南京市2025届高三年级学情调研(零模)物理试卷(含答案详解)
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- 人教版部编四年级道德与法治上册全册课件
- 《高等数学》全册教案教学设计
- 血栓弹力图-PPT课件
- 十八项核心制度完整版
- 一、问题解决型课题QC小组成果案例
评论
0/150
提交评论