第一篇:面向钢铁集团测量过程的工作流管理系统设计
面向钢铁集团测量过程的工作流管理系统设计
赵晓东陶晓磊,张凯,(1.中国计量学院 计测学院,浙江 杭州 310018;2.浙江大学 信息学院,浙江 杭州 310058)摘要:为实现测量过程在钢铁集团计量管理工作中的流程化管理,采用了工作流技术,提出了一种基于扩展有限状态机理论的工作流设计原理,并给出了工作流元模型的定义和工作流迁移原理。根据设计原理对测量过程进行了工作流设计和角色权限设计,给出了浏览器/服务器的三层工作流体系结构,并采用面向对象的JAVA语言设计了基本接口及扩展类框架。通过分析表明该方案能够满足测量管理体系对测量过程的控制要求。关键词:测量过程;钢铁集团;有限状态机;工作流;测量管理体系 中图分类号:TP391
文献标识码:A Workflow Management System for Measurement Process
in Steel Enterprise ZHAO Xiao-dong1,2,TAO Xiao-lei1,ZHANG Kai1
(College of Metrological and Measurement Engineering, China Jiliang University , Hangzhou
310018 , China)Abstract: In order to realize process centering during the metrological management work in steel enterprise, by adopting the workflow technology, a kind of workflow model base on extend Finite State Machine(FSM)theory was proposed.it also defined workflow metamodel ,and introduced the transition principle.an instance of workflow and role right for measurement process were constructed.Browser/Server(B/S)three-tier workflow architecture were developed, also the framework of interface and extend class was projected using language of java based on Orient-Object technology.The workflow systems were proved to satisfy the control requirement of measurement process for measurement management system by analysis.key words: measurement process;steel enterprise;finite state machine;workflow;measurement management system
基金项目:浙江省科技计划项目(2009C31164)
作者简介:赵晓东(1975-),男,辽宁丹东人,讲师,博士研究生,主研方向:工作流技术;Email:zhaoxd@cjlu.edu.cn 陶小磊,硕士研究生;张凯,博士 1 引言
近些年来,大多钢铁企业的计量管理工作都是在围绕ISO10012的测量管理体系[1]展开,测量管理体系要求对测量过程进行策划、确认、实施、形成文件和加以控制。每一个测量过程的完整规范应包括所有有关设备的标识、测量程序、测量软件、使用条件、操作者能力和影响测量结果可靠性的其他因素。测量过程的控制应根据形成文件的程序进行,但目前企业对测量过程的控制只停留在程序文件的建立和完善上,过程监控可操作性差,执行效率低。管理人员无法对测量过程的各个工序进行有效评估,难以实现细粒度的过程控制。这些都与测量管理体系的要求相背离,因此对测量过程重新进行流程化设计将成为把计量管理工作融入企业信息化进程的关键。流程化设计多以工作流技术实现,工作流的实现技术也形式多样,如基于Agent[2]、Web Service[3]和Petrl网[4]等的工作流设计,但目前针对测量过程的工作流元模型设计模式、角色权限分配以及数据操作层的访问控制等关键问题并未有文献提出完整有效的工作流解决方案。本文针对上述等问题,提出了一种适用于测量过程的工作流管理系统设计模式。即根据有限状态机(Finite State Machine,简称FSM)理论设计出一种基于XML语言描述的轻量级工作流元模型,在元模型设计的基础上通过自定义多条件组合的权限访问控制方式,有效解决了测量过程中角色权限分配和检校项目的复杂多样化问题。文中最后给出了工作流系统体系结构和类设计框架。基于FSM的工作流元模型设计
2.1 FSM理论 FSM 是一种概念性机器,由一定数目的状态和相互之间的转移构成,在采用FSM理论对进行工作流元模型定义过程中可对FSM定义进行扩展[5, 6],以满足实际工作流设计的需要。作者根据测量过程中测量环节的权限控制及测量项目的复杂多变的特点,设计了一种七元组的FSM,表示为M={S,A,C,F,R,Si,Sf}。其中S表示有穷状态集合;A表示引起状态改变的有穷动作集合;C表示判断条件的有穷集合;F表示外部功能函数的集合,R为结果输出的集合,可表示为S×A→S,Si表示唯一的初始状态,Si∈S,Sf表示唯一的终止状态,Sf∈S;对于S,它的元素可表示为s=(a,c),a∈A,c∈C;对于A,其元素可表示为a=(c,f,r),c∈C,f∈F,r∈R; 2.2 元模型设计原理 在FSM理论的基础上采用XML语言对元模型进行描述,元模型各元素关系框架如图1所示,具体主要元素定义说明如下:
图1工作流元模型中各元素的层次关系图
定义1 root={workflow},workflow作为xml文档的根元素位于文档开始部分,只能唯一存在。
定义2 step={ID,NAME,action,conditions},ID表示step的唯一数值标识属性;NAME表示工序步骤名称,如“设备收发”;action和condition为step的子元素。
定义3 action={ID,NAME,conditions,function,result},ID表示action的唯一数值标识属性,NAME表示执行动作的名称,如“确定”;conditon、funciton和result为action的子元素。定义4 condtions={TYPE,sub-conditon},TYPE表示条件的逻辑关系,定义为TYPE∈(AND,OR,NOT)。sub-condition={TYPE,item}表示的condtions的子元素,可用于表示单一条件。其中TYPE∈(bean,class,scrpit)。item表示具体的子项。
定义5 results={conditions,unconditional-result,conditional-result,function},其子元素包括unconditional-result、conditional-result、condition和function。其中unconditional-result和conditional-result属性相同,unconditional-result={PRE_STATUS,STATUS,OPER,STEP,SPLIT,JOIN},PRE_STATUS表示前一流程状态属性,STATUS表示当前状态属性,两者具有同样的属性定义值,即STATUS∈(queued,underway,finished),OPER为流程操作人,STEP,SPLIT和JOIN为迁移目标值。
定义6 funciton={TYPE,pre_function,post_function},TYPE表示调用外部函数的方式,其TYPE∈(bean,class,scrpit,ejb),pre_function和post_function为子元素。
定义7 split={ID,conditions,conditional-result,unconditional-result},ID表示split的唯一数值标识属性。conditions,conditional-result和unconditional-result为子元素。
定义8 join={ID,conditions,conditional-result,unconditional-result},同split定义说明 2.3 工作流迁移原理 工作流迁移是指工作流实例从一种状态迁移到另一种状态,每一次迁移过程以新状态流程的创建开始,以生成旧状态历史记录结束。每一个工作流实例的状态可描述为:state∈{CREATED,ACTIVATED,SUSPENDED,KILLED,COMPLETED},工作流实由初始化动作(initial-action)引发创建(CREATED)状态。对于任何动作(action)的执行都会使这个工作流实例转换到激活(ACTIVATED)状态。另外,激活状态通常是整个工作流实例生命周期内停留时间最长的状态。挂起(SUSPENDED)和终止(KILLED)这两个状态都是由外部系统通过工作流所提供的接口达到的。由于业务的需要,某些工作流实例有挂起甚至中途终止的要求,挂起和终止就是对应的两个状态。完成(COMPLETED)状态是工作流实例正常结束后的状态。工作流实例流转原理如图2所示:
图2工作流迁移原理图 测量过程工作流设计与实现
测量过程应对过程要素进行识别和控制,包括操作者、设备、环境条件、影响量和应用方法,测量过程要根据经计量确定的测量方法,使用规定的测量所需的设备,测量人员应具备测量过程所要求的技能和资格。这些要求构成了测量过程的受控条件,工作流设计应能满足这些受控要求,这些条件包括[1]:
条件1:使用经确认的设备,测量过程中的测量设备需要经过计量确认才能使用。条件2:应用经确认有效的测量程序,每一种测量过程必须按照确认过的测量程序执行。条件3:可获得所要求的信息资源,除了测量过程中的检测和处理数据外,测量设备和被检设备的基本信息等其他资源也可以获得。
条件4:保持所要求的环境条件,环境条件包括检测的环境温度、压力以及湿度等实验室条件。
条件5:使用具备能力的人员,要求测量人员具有相应的资质。
条件6:合适的结果报告形式,根据测量程序和用户形成文件形式的测量过程记录。条件7:按规定实施监视,对测量过程实行监控。3.1 工作流程设计 根据测量过程的受控条件,其工作流程设计如图3所示。
图3测量过程工作流设计流程图
测量过程的主要进程与工作流模型的关联说明如下:(1)initional-action initional-action是仅作为工作流模型的必要元素存在的,它的功能是启动代表某个实际测量过程工作流实例的有限状态机,在钢铁集团的实际测量过程中将不能够找到与其对应的的客观存在。(2)Step1:收件
收件步骤通过initional-action的动作(action)创建,该步骤记录顾客的要求,并可整合针对设备的相关规程和基本信息,为下一步的检校步骤提供参考。检校人员可方便地获得与所要检校的设备相关的诸多信息,这一点相对于传统的纸质的业务流转是计算机集成制造方式的一大突出优势。(3)Step:检校
检校步骤由记录采集、不确定度采集、证书采集等多部分组成,由于其在钢铁集团测量过程中的特点——各部分采集的数据有直接关联,所以将各部分检校采集工作交予同一人员处理。检校步骤的这个要求完全可以通过我们定义的工作流模型中的多动作(action)的单一步骤来实现。我们将人员绑定到步骤,将各项检校采集工作绑定到多个动作(action)即可。另外,检校步骤的动作(action)执行权限可以根据条件(condition)来判断,这里就可以结合钢铁集团测量过程中的人员资质的判断,防止无对应资格的人员检校此设备。最后,每个动作的执行结果生成相应的核验步骤。(4)Step4x:XX核验和Step5x:XX审核
核验环节原则上不要求同一人完成,因此将这个环节设计成多步骤,多个步骤可以有多个核验人员来完成。每个步骤都有条件(condition)可以判断是否所有必要条件已达到,比如将欲执行此步骤的人员是否与上一步的检校人员重复。核验环节的多个步骤合并(join)后,通过条件(condition)判断其结果的指向。条件验证通过后(多个核验步骤都已通过且没有任何不满足规程的条件存在),指向分离(split)环节,同时创建相应的审核步骤;否则(一个或多个核验步骤不合格,或者尚存在任何不满足规程的条件),指向重检步骤。审核环节与核验环节类似,审核条件满足后,流向发件步骤,发件完毕,流程结束。该工作流通过核验,审核,检修环节的设计能防止出现错误的测量结果,并确保能迅速检测出存在的问题和及时采取纠正措施。而且能够随时掌握设备所处的流程状态(条件7)。(5)Step6:发件 发件步骤处理所有审核通过的测量过程工作流实例。在这里系统可以自动通知收件人领件,并可将整个测量过程的记录存入数据库供以后统计时使用。发件步骤还可以通过系统自动生成最终的不确定度报告、证书报告和各种复杂的报表,通过系统暴露的接口供钢铁集团内的其它系统调用。可见,“发件步骤”远远不只有“发件”的功能,通过步骤中的功能函数(function)可以实现很多外围的功能,本文定义的工作流模型有很强的扩展性。(6)Step0:重检 重检步骤是是对检校步骤的补充,它的本质与检校步骤相似。其不同于检校步骤的是重检步骤里条件(condition)需要判断执行重检的人员是否与检校步骤的人员是相同的。另外,检校步骤的来向为收件步骤,而重检步骤的来向为核验步骤或者审核步骤;去向相同,都是核验步骤。3.2 权限设计 工作流权限模型根据角色的访问控制(Role-Based Access Control,RBAC)模型[7, 8]扩展,如图4所示。用户、角色、许可条件集、对象集、流程组、动作组、功能组、设备组分别表示为User(U)、Role(R)、Condition(C)、Object(O)、Step(S)、Action(A)、Function(F)、Device(D)。角色层次表示了角色之间的继承关系,如本工作流中的角色审核员(r1)、核验员(r2)、检校员(r3)之间的关系r1r2r3。用户和角色的关系表示为URU×R,即用户和角色之间可以为一对多或多对多关系。许可条件集CR×O,表示许可条件由角色与对象之间的授权关系组成,即只有授权之人才能进行相应的操作(条件5)。对象集包括四部分,即O∈{S,A,F,D},其中S{step},A{action},F∈{function}设备组(D)中包括测量设备和被测设备。功能组(F)中包含针对各测量项目的数据采集模块,其中包括设备检校记录、证书和不确定度采集模块。功能组和设备组之间建立了对应关系,即FDF×D,这种对应关系指定某项数据采集模块对应某种满足计量确认要求的测量设备(条件1),并可对应于多个被测设备。功能组中的数据采集模块是按检校规程设计测量流程(条件2);模块中可以调用测量设备和被检设备等相关数据信息(条件3);数据采集模块可以进行根据用户需要进行自定义添加(条件6)。
图4角色权限授权模型
文中针对测量过程中的某些特殊要求通过约束条件来定义,并将约束条件可与许可条件形成组合条件应用于角色授权,约束条件规则如下:
(1)检校人员u1、核验人员u2、审核人员u3依次进行操作过程中,对于每一次测量过程,要求u1u2=,u2u3=;
(2)对于需要重检的操作,要求检校人员只能重检本人检校过的项目。即重检操作人员u4=u1;
测量过程的权限设计中包含了设备对象,满足测量过程要求的同时,也与钢铁集团其他管理系统如ERP实现了很好的信息交换。设备信息可以从ERP系统中得到共享,而由测量过程获得检校信息也可以反馈回ERP系统。由此可见,该权限设计即可满足测量管理体系对测量过程的控制要求,也可实现钢铁集团内部的系统互联互通。3.3 工作流系统实现 系统采用基于B/S(browser/server)三层结构模式设计,如图5所示。(1)客户层:由浏览器或其他网络系统组成。用户通过浏览器与web层的工作流引擎实现人机交互。(2)Web层:由工作流引擎组成。实现工作流管理系统的功能,负责处理客户层的请求,实现与系统层的交互。(3)系统层:由应用系统和数据库系统组成。应用系统为工作流系统提供了用户所需要调用的功能函数,并实现与数据库的信息交互。
图5工作流体系结构图
系统采用面向对象的java语言对工作流引擎进行了类设计,其主要类结构设计如图6所示。其核心类包括四部分:
(1)XmlWorkflow接口及其扩展类:定义了各种元素的描述类,主要用于解析工作流xml设计文档。
(2)Condition条件接口及扩展类:定义和实现各种条件,可通过元素condition调用这些类,实现多条件组合。
(3)FunctionProvider函数接口及扩展类:定义各种应用接口,满足测量过程中对各种应用的调用。
(4)WorkflowDatabase数据库接口及扩展类:通过jdbc实现与oracle或mysql等数据库系统的交互。
图6接口与扩展类框架图 总结
本文针对钢铁集团计量管理工作中的测量过程提出了基于有限状态机的轻量级工作流管理系统模型,并给出了设计原理和实现方法。该模型能够满足测量过程的受控条件,符合ISO10012测量管理体系[1]的要求。该模型的成功应用能为计量管理工作的规范化和流程化起到重要的支撑作用。
参考文献:
[1] International Organization for Standardization.ISO 10012:2003 Measurement mangement systems-Requirements for measurement processes and measuring equipment [S].New York:American National Standards Institute,2003.[2] HU Jingjing, Cao Yuanda, Xu li.Research on distributed workflow control model based on
Agent[J].Computer Integrated Manufacturing Systems, 2006, 2006, 12(4): 481-486(in Chinese).[胡晶晶, 曹元大, 徐丽.基于Agent的分布式工作流控制模型研究[J].计算机集成制造系统.2006, 2006, 12(4): 481-486.] [3] MU Zhansheng, Zhou yun.Design and realization of distributed workflow based on web service[J].Computer Applications and Software, 2008, 25(12): 99-102(in Chinese).[牟占生, 周 运.基于Web Service的分布式工作流系统的设计与实现[J].计算机应用与软件, 2008, 25(12): 99-102.] [4] CHEN Huiling, Wang xianzeng., Zhou kuancheng.Workflow Process Modeling Based on Petri Net s[J].Computer Engineering & Science, 2008, 30(5): 92-94,105(in Chinese).[陈慧灵, 王宪增, 邹宽城.基于Petri网的工作流过程建模[J].计算机工程与科学, 2008, 30(5): 92-94,105.] [5] LIU Yang, Cao Baoxiang,.Design and Implementation of Workflow Engine Based on Extensible-FSM[J].Computer Engineering and Application, 2006,(32): 93-96(in Chinese).[刘阳, 曹宝香.基于扩展有限状态机的工作流引擎设计与实现[J].计算机工程与应用, 2006,(32): 93-96.] [6] XU Xiuhua, Wang Yajie, Qiao Mindong.Description and design of interface flow based on
FSM[J].Computer Engineering and Design, 2007,(6): 1255-1256,1357(in Chinese).[徐秀华, 王亚杰, 乔敏东.基于有限状态机的界面流描述与设计[J].计算机工程与设计, 2007,(6): 1255-1256,1357.] [7] YANG Shuxin ,WANG Jian.Monitor permission control for process in workflow system[J].Computer Integrated Manufacturing Systems, 2007, 13(11): 2224-2228(in Chinese).[杨书新, 王坚.工作流系统流程监控权限控制研究[J].计算机集成制造系统, 2007, 13(11): 2224-2228.] [8] FERRAIOLO D, CUGINI J, KUHN D.Role-Based Access Control(RBAC): Features and
Motivations[C] //Proceedings of the 11th Annual Computer Security Application Conference.Los Alamitos, Cal., USA: 1995.241-248.
第二篇:工作流管理系统体系结构设计
工作流管理系统体系结构设计
2010-04-30
清华领导力培训
机电之家
本文主要从三个层次深入介绍了工作流管理系统结构,工作流管理系统将最终成为覆盖于各类台式机与网络操作系统之上的业务操作系统,但工作流技术目前还不够完善。深入研究工作流管理系统模型和各大主流工作流管理系统基础上设计一套全面系统结构。
工作流管理系统是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。
目前已有上百种声称具有工作流管理功能的商品化软件或原型系统。为了对这些系统的功能、特点等有一具清晰的认识,可以根据工作流过程本身的特点、系统建模的方式、所使用的底层支撑技术、以及工作流过程的执行方式等的不同而对它们进行相应的分类如下:
1、结构化的与即席的
结构化工作流指的是在实际工作过程中会反复重复、严格按照某个固定的步骤进行的业务过程。定义此种工作流所需要的各种类型的信息可以通过对业务过程进行详细的分析而得到,从而得到完整的过程定义并在以后的应用过程中反复使用。大量的办公程序,如公文处理、审批等都属此类。即席工作流则是针对那些重复性不是很强或没有重复性的工作流程的,关于这类流程执行所需的有关参数(如参加者等)事先无法确定,而必须推迟到过程实例运行时才能确定,同时在执行过程中间还可能会发生一些意外的情况。这种动态多变的特点在提供更高灵活性的同时,也为过程的建模与执行带来更多的复杂性。
2、面向文档的与面向过程的
前者的侧着点在于将电子形式的文档、图像等在有关的人员之间进行分发,以便能够得到不同人的处理与审阅。现有的文档管理与映像管理系统均属此类。在面向过程的WfMS中,工作流被描述成一序列执行环节。与各环节相应都有待处理的数据对象。各环节的数据对象可以按不同的方式分发到其他环节中去,如可以将数据对象的值作为控制条件、或者依此数据对象组装成其他的数据对象等。高端的WfMS一般都属此类系统。
3、基于邮件和基于数据库
前者使用电子邮件来完成过程实例执行过程中消息的传递、数据的分发与事件的通知。低端的系统所使用的经常就是此种方法,它可以充分发挥电子邮件系统在广域环境下的数据分发功能,但整个系统将运行于一种松散耦合的模式下。在基于数据库的WfMS中,所有的数据都保存在某种类型的DBMS中,过程的执行实际上就是对这些数据的查询与处理。高端的大规模系统所使用的一般都是此种方法。
4、任务推动的与目标拉动的
前者指的是从过程的开始逐步地一个环节一个环节的执行,当某个活动实例被处理完之后,后续的有关活动将被创建并被激活,由此直至整个工作流程的完成。这是目前大多数面向过程的WfMS所使用的执行方式。而在目标拉动的WfMS中,一个业务流程被看成是一个目标。过程实例执行时,该目标将被分解得到多个相互之间按一定约束条件的关联起来的可执行的多个环节,其中各环节还可以当成是子目标而进一步进行分解。在各环节均执行完毕之后,整个过程也就完成了。目标拉动是一种全新的执行方式,下一代的WfMS将具有此种特征。应该说明的是:上述分类只是从不同的角度入手的。一般来说,后面那些特点将给WfMS带来更好的灵活性,同时也将成为那些能够支持跨机构的大规模复杂工作流管理、面向关键任务的WfMS不可缺少的特征。
工作流管理系统将最终成为覆盖于各类台式机与网络操作系统之上的业务操作系统,但工作流技术目前还不够完善。本文深入研究工作流管理系统模型和各大主流工作流管理系统的基础上设计了一套功能全面的工作流管理系统体系结构。本文主要从该体系结构的三个层次深入介绍了该系统结构。
1、引言
在一个组织内部存在着两种信息:一种是数据信息,另一种是业务信息。在组织之间也同样存在着两种信息:一种是数据信息,另一种是业务往来信息。如果这两种信息用计算机系统来管理,前一种属于组织内部的信息系统,后一种属于B2B电子商务系统。目前对数据信息的计算机管理系统(即:数据库管理系统)经过多年的发展已经成熟。对业务过程的计算机管理系统由于比较复杂,可变因素较多,难度大,因此发展还不成熟。工作流技术作为现代组织实现过程管理与过程控制的一项关键技术,为组织的业务处理过程提供了一个从模型建立、管理到运行、分析的完整框架。同时,工作流管理系统(Workflow Management System,WFMS)通过一套集成化、可互操作的软件工具为这个框架提供了全过程的支持。Thomas Koulopoulos曾预言:工作流管理系统将最终成为覆盖于各类台式机与网络操作系统(如:Windows,Unix,Windows NT)之上的业务操作系统BOS(Business Operating System),它将带来操作系统的一次革命。但是目前工作流技术无论从理论上还是从实践都还不够完善,要实现Thomas Koulopoulos的预言可能还需有一段路要走。本文主要介绍了由作者独立设计一套工作流管理系统体系结构,以供工作流技术爱好者参考。
2、工作流管理系统的基本概念
顾名思义,工作流就是工作任务在多个人或单位之间的流转。在计算机网络环境下,这种流转实际上表现为信息或数据在多个人之间的传送。工作流管理联盟(Workflow Management Coalition,WfMC)对工作流的定义是:“业务过程的部分或全部在计算机应用环境下的自动化”。她所要解决的主要问题是,“使在多个参与者之间按照某种预定义规则传递的文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者是促使此目标的实现”。
工作流管理系统就是通过管理一序列的工作活动以及相关人员、资源、信息技术资料来提供业务处理程序上的自动控制。工作流管理系统通过计算机软件来定义、管理和执行工作流程。在工作流管理系统中计算机运用程序的执行顺序是由工作流逻辑的计算机描述来驱动的。她的主要目标是对业务过程中各步骤(或称活动、环节)发生的先后次序,以及同各个步骤相关的人力、资源、信息资料的调用等进行管理,从而实现业务过程的自动化。当然这种管理可能会在不同的信息及通信环境下实现,所涉及的范围可以小至一个只有几人的工作组,也可以大到政府、企业组织各个机构之间。工作流管理系统将人员、组织结构、设备资源、信息源(如数据库、文件系统、电子邮件、计算机辅助设计工具等)整和成一个整体。这样,工作流管理系统就成为了一个理想的用来收容业务逻辑的业务知识仓库,并给予业务逻辑一个易操作易控制的界面。
工作流管理系统的最大优点就是实现具体应用逻辑和过程逻辑的分离,实现在不修改具体功能的情况下,通过修改业务流程模板来改变系统的功能,完成对组织生产经营过程的部分业务或全部业务的集成管理,有效的把人力资源、物质资源和信息组织在一起,发挥最大的效能。
3、工作流管理系统体系结构
工作流管理系统在实际运用中一般分为三个阶段:工作流建模阶段,工作流模型实例化阶段和工作流执行阶段,如图1。在工作流建模阶段主要通过工作流建模工具完成业务流程的模型建立,将实际的业务操作流程转为为计算机可模拟处理的工作流模型;在模型实例化阶段主要通过工作流引擎完成具体业务流程的实例化,为具体业务流程办理流转提供工作流相关数据和工作流控制数据,并为业务流程的办理提供所需要资源(如人力资源和物料、设备资源等); 工作流执行阶段主要完成业务流程的执行,重点是完成人机交互和系统内部应用或外部应用程序的调用。
图
1、实施的三个步骤
根据工作流的三个阶段的分工,工作流管理系统结构可以分为过程设计定义功能、运行控制功能和运行交互接口三个层次的功能,如图2。
4、过程设计定义功能
过程设计定义功能主要作业务处理流程的计算机定义,她提供了一种分析、建模、系统定义技术,将一个现实世界的业务处理过程转换成计算机可处理的定义;最终的定义叫作工作流模型、过程模版或过程定义,她可以用图形符号进行表示。工作流管理系统结构这一层次主要包括以下功能:业务建模与信息建模、组织管理、资源管理、内部应用开发工具、数据窗口开发工具、工作流定义等功能。
4.1业务建模与信息建模
业务流程是由各业务环节连接而成,而每一个业务环节都由多个相互关联、不同层次的要素构成。在业务建模时可自顶向下的将业务流程中各个业务环节最终分解成一系列的原子任务。所谓原子任务,即将有可能发生的每笔业务进行原子化分解,细分到不能再分割的操作单元,每个操作单元即是一个原子任务。任务之间的相互联结也将最终转化为数据流、信息流、协作流、资源流。这样各个原子任务的控制连接,就成为了工作流模型。因此,工作流是企业中过程流、数据流、信息流、协作流、资源流等各种流的综合集成。业务建模工具主要提供流程定义开发人员便捷的与数据流图工具或活动图等流程描述工具类似的业务流程分析工具。
业务模型是信息模型的出发点。信息模型说明了业务处理对象中所包含的信息,或者说执行具体功能的活动的输入、输出数据、以及这些数据之间的逻辑关系。信息建模工具可提供使用E-R图方法构建信息系统的逻辑数据模型;根据实际选用的数据库管理系统,建立适用于该数据库管理系统的物理数据模型,同时可生成目标数据库管理系统的数据库创建脚本。信息模型是个两层次的建立过程,先建立逻辑模型,再建立物理模型。逻辑模型支持数据的概念模式,它从抽象的层次上反映内部数据间的关联,不管具体的数据结构及数据存储方式等等。物理模型支持数据库的物理设计,它与具体选定的数据库类型密切相关。
4.2组织管理
在组织单位中组织结构是信息决策、任务执行和监督管理等重要活动的载体,组织结构揭示了组织单位人员管理的层次,反映了人与工作、决策、责权之间的联系。因此,组织结构对于一个组织单位中如何完成业务流程的建模和提高管理、生产效率是至关重要的。组织结构、工作流、过程建模等概念的提出,为描述组织单位业务流程提供了有力的工具,也使过程到组织的映射模型的建立成为可能。
工作流管理系统结构提供了组织管理功能,用于定义业务单位的组织架构和人员管理职责分配等工作。为工作流模型的定义和工作流的实例化、执行提供人力资源约束和支持。
4.3资源管理
资源是进行生产经营不可缺少的物资因素,在工作流的执行过程,必须得到企业资源的支持,相应的组织实体才能够按照要求完成活动。同时,工作流要保证将正确的信息和资源在正确的时刻以正确的方式送给正确的小组或成员。
工作流管理系统结构提供了资源管理功能,用于建立组织单位的资源模型,表示组织单位的资源结构和配置情况,描述组织单位各种资源对象之间的联系和关系,为工作流模型提供资源约束和支持。
4.4内部应用开发工具
工作流管理系统结构提供了图形化应用开发工具,用户可以使用图形化设计方法,开发出动态页面应用,其结果可保存为html或jsp或其他可直接调度执行的运用程序。这些内部应用程序具有数据库访问能力,能够访问或存储工作流相关数据和控制数据。在流程定义时流程开发人员可以直接设计并提供流程节点预调用。运行时用户可以在任务列表中直接调用,执行所需完成的工作。它的最大的优点是让开发人员避免了复杂业务处理应用程序的开发。
4.5数据窗口开发工具
工作流管理系统结构提供了图形化设计复杂报表页面的能力,可设计任意复杂的报表,并可画出各种统计分析图并能够使用多种形式输出。在流程定义时数据窗口开发工具就像内部应用开发工具一样可以由用户自行定义并提供流程节点预调用。当流程实例运用到指定节点时,用户可以直接调用该数据窗口以用户所需要的形式展现相关信息内容。
4.6工作流建模工具
工作流建模工具以工作流元模型为基础,通过分析不同类型的业务过程,采用有向图的方法对现实的业务活动进行形式化描述,建立业务过程到工作流模型的映射机制。对于建模工具而言一方面为用户提供了一个建立规范的业务过程的接口,另一方面,所建立的工作流过程可以存储于工作流库中作为工作流引擎的输入,投入运转、执行并接受监控。建模工具的主要包含以下功能:
提供建立工作流模型所需的各类基本元素,比如活动、子过程、连接弧等;
支持图形用户界面的基本操作,比如鼠标的点击与拖动;
提供用户定义各模型单元属性的对话框;
模型的保存与读取;
支持多层次建模;
与外部自动应用的接口;
4.7工作流模型库
工作流模型库主要用于保存和管理已定义完成的工作流模型。在工作流程启动时工作流引擎将直接加载并将其实例化,同时为工作流的流转提供基础模板。
5、运行控制功能
运行控制功能主要对工作流模型的定义进行解释,创建并控制过程的运行实例,调度过程的各种行为步骤,调用适当的人力、资源和应用程序以完成任务的执行。工作流管理系统的核心部件就是工作流管理控制软件——工作流引擎。工作流管理系统结构在这一层次的主要包括:工作流引擎和工作流监控管理2部分。
5.1工作流引擎
工作流引擎可以说是工作流管理系统的心脏。一个工作流管理系统通常可以包括一个或多个工作流引擎,不同工作流引擎通过协作共同执行工作流程。工作流引擎实际上是经营过程的任务调度器,在某种程度上还是资源的分配器。在采用工作流管理系统支持经营过程中,工作流引擎可以看成是一个业务操作系统BOS(Business Operating System)。业务过程在她的管理、监控之下运行,因此工作流引擎的性能和可靠性就直接决定了业务过程的运行效率和安全性。
5.2工作流监控管理
系统管理与监控是工作流系统一个非常重要的功能。工作流系统管理与监控工具能够对工作流在整个组织内部的流动状况进行监视,并提供一系列的管理功能,实现安全性、过程控制和授权操作等方面的管理。它包括以下几个方面的功能:
1)建立、设置和优化组成工作流管理系统的各个软件。
2)对过程模型进行实例化。
3)将过程模型中的角色实例化。
4)将运行中的过程实例、活动实例和数据分发到各个工作流机中。
5)启动、挂起、恢复和终止过程实例。
6)管理正在执行的过程实例,并对正常结束或异常退出的过程实例的历史数据进行统计和分析。
6、运行交互接口
运行交互接口主要提供工作流管理系统与人员或应用程序工具的交互接口来处理各种活动步骤。交互接口对于活动间的控制传递是必须的,如确定过程的状态,调用应用程序工具,传递应用程序数据等。
7、结论
该工作流管理系统体系结构是作者深入研究了工作流管理联盟提供的工作流管理系统模型和各大主流工作流管理系统的基础上设计出来的。以该体系结构为基础作者领导开发了基于J2EE架构的新一代工作流管理系统UniFlow。UniFlow工作流管理系统目前已在电子政务中取得了广泛的运用。
第三篇:基于CSCW的工作流管理系统(范文模版)
基于CSCW的工作流管理系统
摘要:计算机支持协同工作(Computer Supported cooperative work,CSCW)是在信息时代发展起来的一门新兴学科。它是在计算机支持的情况下(即CS),人们协作完成一项共同的任务(即CW)。本文介绍了CSCW技术,及其应用场景。以及工作流技术,工作流管理系统的相关技术与应用。讨论了基于CSCW技术的工作流管理系统结构。关键词:工作流,工作流管理系统,CSCW,计算机支持的协同工作。1 CSCW 计算机技术的发展把人类社会带入了信息化时代, 随着信息化进程的深入, 通信技术与计算机及其网络技术相融合, 产生了一个新的研究领域———计算机支持的协同工作CSCW(Computer Supported Cooperative Work), 简称计算机协同工作。它是信息化进程 发展的一种必然产物, 它将带来人们协作方式的变革, 提高人们协同工作的整体效率。计算机协同工作应用系统的发展和推广会改善人们交流信息进行协作的方式, 而计算机技术的发展也必然走向计算机协同工作的方向。CSCW 是地域分散的一个群体借助计算机及其 网络技术, 共同协调与协作来完成一项任务。它包括协同工作系统的建设、群体工作方式研究和支持群体工作的相关技术研究、应用系统的开发等部分。通过建立协同工作的环境, 改善人们进行信息交流的方式, 消除或减少人们在时间和空间上的相互分隔的障碍, 节省工作人员的时间和精力, 提高群体工作质量和效率, 从而提高企业、机关、团体、乃至整个社会的整体效益和人类的生活质量。一句话定义就是: 在计算机技术支持的环境中(即CS), 一个群体协同工作完成一项共同的任务(即CW)。它的目标是要设计各种各样的协同工作的应用系统。
CSCW涉及的主要成分应当包括技术成分和人文成分两个层面。确切地说,它们是:技术成分,包括:通信系统,如电话、电子邮件、桌面视频会议系统等;共享工作空间设施;共享信息设施(用以存储、存取、安排和管理参与协同的人员的共享信息);共享活动支持设施,这类活动如决策、指挥、教学、设计等;人文成分,包括:人的个性方面,如人们喜欢如何工作和通信、人的服饰习惯如何等;组织方面,包括工作组的大小、组织的管理及变化等;小组工作设计方面(如协同工作的分析、设计CSWC的解决方案等);小组工作的动态性质方面。CSWC系统涉及的要素可以归结为三个,简称为CSWC三要素:通信、合作与协调。其中,通信是CSWC的基础,其实在CSWC系统中使用的通信方式常常可以分为异步通信和同步通信两大类。合作则是CSWC的形式,CSWC关心的是群组在工作中成员之间的协作,所以是CSWC群组活动的重要内容。协调则是CSWC的关键,群组协作结果的好坏取决于群组成员活动的协调。从多媒体手段上看,CSCW的发展可以看作从支持单媒体发展到支持多媒体、从简单媒体到复杂媒体的过程;从非线性形式上看,协同环境中信息从线性方式变成了非线性形式,成了超文本形式,和多媒体技术结合以后,以超媒体的形式出现:当然协同支持是又一方面,它包含了E一mail、Mailing list和工作流等技术的支持。一句话,CSCW是众多技术的集成。工作流技术
工作流的概念起源于生产组织和办公自动化领域。它是针对日常工作中具有固定程序的活动而提出的一个概念。目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力。
不同的研究者和工作流产品供应商从不同的角度给出了工作流的定义,但是这些不同的工作流定义基本上都说明这样一个问题,即工作流是经营过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。使用工作流来作为经营过程的实现技术首先要求工作流系统能够反映经营过程的如下几个方面的问题,即经营过程是什么(由哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、由谁来做(人或者计算机应用程序,也就是组织角色的定义)、做得怎样(通过工作流管理系统对执行过程进行监控)。所以,工作流是一种反应业务流程的计算机化的模型,是为了在先进计算机环境支持下实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务模型。这里强调工作流模型是可被工作流管理系统执行的,这主要是为了区分工作流模型和一般意义上的过程模型。一般的过程模型并不要求它用计算机来进行执行,而工作流模型,从建立的目的来讲:就是为了实现业务过程自动化,要由计算机来执行的。这就要求工作流模型不及能够描述活动及其相互之间的连接关系,而且需要定义许多其他的信息,如组织、资源、数据等,这样才能够由计算机进行解释和执行。另外一方面,由于工作流模型需要由计算机来执行,这就对工作流模型的准确性提出了更高的要求,工作流模型的定义也更加严格和准确。3 工作流管理系统
工作流管理系统是运行在一个或者多个称为工作流机(又称为工作流引擎)的软件上的,用于定义、实现和管理工作流运行的一套软件系统,它和工作流执行者(人、应用)进行交互,推动工作流实例的执行,并监控工作流的运行状态。需要注意的是,工作流管理系统并不是企业的业务系统,而是为企业业务系统的运行提供软件支撑环境。所有的工作流管理系统都提供了三种功能:建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功能。运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成每个过程中活动的排序和调度功能。
目前为止,工作流管理联盟已经在全世界范围内有超过300个的成员组织,从生产商到用户,从理论研究到咨询应用,展现着工作流的各个方面。开发的独立工作流管理系统产品超过了几百种,但实际应用效果并不能太令人满意。根据所实现的业务过程,底层实现技术,所采用的任务项传递机制等分类标准,可以将工作流管理系统分成不同的类别:根据所实现的业务过程,工作流管理系统可分为四类: 1.管理型工作流(AdmnistiartvieWorkflow):在这类工作流中活动可以预定义并且有一套简单的任务协调规则。
2.设定型工作流(AdHocWokroflw):与管理型工作流相似,但一般用来处理异常或发生机会比较小的情况,有时甚至是只出现一次的情况,这与参与的用户有关。
3.协作型工作流(Collaborative Workflow):参与者和协作的次数较多。在一个步骤上可能反复发生几次直到得到某种结果,甚至可能返回到前一阶段。
4.生产型工作流(PorudctofnWorkflow):实现重要的业务过程的工作流,特别是与业务组织的功能直接相关的工作流。与管理型工作流相比,生产型工作流一般应用在大规模、复杂的和异构的环境下,整个过程会涉及许多人和不同的组织。根据底层实现技术,可将工作流产品分为三类: 1.以通讯为中心:以电子邮件为底层的通讯机制。这种类型的工作流管理系统适合于协作型工作流和不确定型工作流,而不适于生产型工作流。
2.以文档为中心:基于文档路由,它同外界应用的交互能力有限。许多基于表的管理型工作流可以用以文档为中心的工作流实现。
3.以过程为中心:这种工作流管理系统对应生产型工作流。它们一般建立在数据库之上,有自己专用的通信机制并且提供了同外部进行交互的接口。根据不同工作流管理系统所采用的任务项传递机制的不同,市场上的工作流产品又可以划分为四类: 1.基于文件的工作流管理系统以共享文件的方式来完成任务项传递。这种类型产品开发得最早、发展最成熟、其产品品种较多。代表产品有FilNeet的VisualWor甘
10、IBM的FofwMark、ICnoncert的ICnoncert。
2.基于消息的工作流管理系统通过用户的电子邮件系统来传递文档信息。这种类型的产品一般都提供与一种或多种电子邮件系统的集成接口。代表产品有Novell开发的Ensemble、eJtFomr公司的ITne哪。、Keyfile公司的Keyflow。
3.基于Wbe的工作流管理系统通过Ini~t来实现任务的协作。这一类产品起步较晚(在95年以后),但是发展迅速,其市场前景十分看好。许多供应商纷纷改进原有产品或开发新产品以增加对Wbe的支持。代表产品有ActofnTecnlioofgesi公司的ActoinW0krsMetor、uh而us公司的Utiimus。
4.群件与套件系统虽然这一类产品与上面介绍的三种产品在任务传递方式上有很大程度的重叠,但是在这里却有必要把它们单独划分成一类,因为这一类产品都需要依赖于自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。代表产品有IBM几。tus公司的LotusNotes、Microsoft公司的office与Exchange、Novell公司的Groupwies。
现有工作流管理系统的缺点。工作流管理系统经过多年的发展,取得了长足的进步,但总的来说,工作流管理系统还是处于一个不成熟的阶段,主要的原因有三点:第一、是在工作流中使用了过多的概念。在这个领域中的大量规范和工具没有一个是相似的。它们相互之间有重叠并且会相互参考引证。这是由于工作流的涉及面太广,很难对工作流的相关内容下一个严格定义,这也制约了工作流管理系统的推广应用。第二、工作流的研究工作还不够深入,缺乏标准,工作流管理系统显得还不成熟。虽然工作流管理联盟为工作流的标准化做了很多努力,但制定的标准仍然不能满足实际的使用需要。而且制定的标准具体化程度不高,很多细节部分没有考虑到,这也造成了现有的工作流产品各自拥有自己的标准,不能通用。第三、工作流管理系统在客户个性化定制方面存在不足,在协同原有客户系统方面做的不好。造成了很多工作流管理系统不是适应客户的需求,而是要更改客户需求来满足工作流管理系统。3 CSCW与工作流结合
现有工作流管理系统大部分都是提供一个工作流平台,进行工作流管理。工作流管理的一个基本特点就是能够预先定义工作流程,总的来说它注重的是完成一项工作的’过程’。这说明现有的工作流管理系统是把现实社会的工作过程映射到计算机中,但这个映射过程只是死板的把现实中的工作过程转换为工作流,而没有考虑到现实社会的工作过程中普遍存在的协作性。这导致现有工作流都是按照预定的一成不变的流程定义流动,在流动过程中不考虑能否与别的工作流进行协作提高效率。而随着现代化大生产的来临,协作性的工作己成为生产的主流模式,作为现实生产的映射,工作流管理系统也越来越需要协同的管理工作流,因此对各个工作流程之间协调的好坏,是系统成功与否的重要标志,而实现协调的重要手段就是对系统内部错综复杂的工作流进行有效管理。工作流由一系列相互协作的任务组成,但是任务的执行次序遵循一定的偏序关系。有些任务由计算机自动执行,有些任务由人用计算机完成。在很多时候人与人之间需要相互协作才能完成一项任务,这时就需要CSCW环境及其工具的支持实现人与人之间的协作。因此,将CSCW与工作流管理系统相互融合,能使工作流管理系统更适应现代化大生产的需求,是工作流管理系统未来的发展方向之一。4 基于CSCW的工作流管理系统
基于CSCW的工作流管理系统,与以往的工作流管理系统相比,更注重协同 工作,可以解决以往工作流管理系统协同性差导致的效率低下问题。但是,也因 为协同工作需要在各个工作流之间的信息交换,互相协作等新操作,对旧的工作 流管理系统提出新的问题。4.1统一的工作流定义
由于工作流管理系统在CSCW环境下,无可避免的要遇到如何处理两个不同的定义格式的工作流之间如何协同的问题,主要体现在:不同定义格式的工作流之间的数据如何互相感知和交换;不同定义格式的工作流如何协作。在大多数的工作流管理系统中,用户不得不对工作流流程的细节进行静态的预定义,使得工作流之间可以交互,但这会大大增加商业流程的复杂度。文采用XPDL作为工作流过程定义工具。XPDL即为XML过程定义语言(XML Process Definition Language),工作流管理联盟在2005年10月3日发布了最新的XPDL第二版,XPDL的出现是为了解决大量不同的工具被用于分析,构建,描述和文档化商业过程导致的格式不统一的问题。XPDL定义了一个统一的交换模式,从而支持了两个独立的产品之间的过程交互。XPDL是基于XML的,由于XML的开放性和结构化的数据表达能力,使之能够在不同的用户和程序之间交换数据,而不论其平台如何。而且由于XML的自定义性及可扩展性,它足以表达各种类型的数据。对于工作流管理系统中需要在不同节点或是不同平台上交互的数据,无论什么格式,都可以把它转化为XML的形式。同时XML格式的数据又可以轻易地转化为系统专有的数据格式。XPDL定义了一套标准的数据类型。4.2工作流感知
旧的工作流管理系统只需要监控工作流引擎中运行的工作流情况就行,但是在CSCW环境下的工作流管理系统要协同各个工作流,所以必须使各个工作流互相了解之间的信息,才能有协同的基础,这里分为两种情况:待加入的工作流与运行中的工作流的相互感知运行中的工作流之间的相互感知基于CSCW的工作流管理系统是通过协同工作流中的活动达到协同的目的的,因此工作流之间的感知主要是活动的执行情况。我们把不能再分解的工作流活动称为原子活动,在原子活动执行期间,不能进行对该原子活动的操作,换句话说,无法在该原子活动执行期间对其进行任何协同操作,而且,最终的协同也是原子活动之间的协同。因此可以以原子活动状况作为工作流之间感知的基础。工作流之间主要感知原子活动的执行情况,包括执行开始,执行进度,执行异常,执行完成等情况。而对于上述的两种情况,需要感知的内容是不相同的,对于待加入的工作流,因为其信息对于其它工作流来说,是完全不知道的,所以应该把组成该工作流的活动,活动的优先级,执行顺序,需要的资源对相关的工作流发布。而对于运行中的工作流,只需在原子活动执行完成后,将这个消息发送到相关的工作流,更新该工作流的信息即可。对于同时需要的感知的信息,要根据感知信息对协同工作的影响程度来决定感知的优先程度。动态感知信息对协同工作的影响程度可以用感知敏感度来描述。一般对协同工作贡献大的动态感知信息,应该赋予高的感知敏感度,反之亦然。如图1所示是工作流感知模型,对于待加入的工作流和运行中的工作流来说,他们的一举一动都是在管理监控工具监视下的,因此把管理监控工作作为待加入的工作流和运行中的工作流之间的桥梁,其中的信息过滤器的作用是过滤不需要的信息,例如,某工作流的活动因为保密的需要,不能被感知,那么该活动的信息就会被信息过滤器过滤,只被管理监控工具感知。
图-1 4.3并发控制
在CSCW环境下的工作流管理系统并发的情况要比普通的工作流管理系统严重,主要是共享资源的使用上,因为如前所述,最终的活动为原子活动,所以使用共享资源的也是原子活动,对于请求共享资源的原子活动,由监控管理工具查看共享资源是否被占用,如被占用,则拒绝使用,如无,这在请求该共享资源的原子活动中,选取优先级别最高的原子活动,分配使用该共享资源,如图2所示。
图-2 4.4死锁
由于协同工作的缘故,很多在单独执行不会出现死锁的工作流,在协同工作的环境下会出现死锁的问题,如图3.5所示,活动B是活动D的前驱活动,活动D是活动E的前驱活动。经过协同后,活动B和活动E合并为同一活动,这个活动既是活动D的前驱活动,又是活动D的后继活动,形成死锁。为了避免基于CSCW的工作流管理系统出现死锁,需要注意以下容易引起死锁的几点:
1、有顺序关联关系的工作流活动
2、循环的工作流活动
3、有多个前驱或者有多个后继活动的工作流活动
管理监控工具在调度工作流活动进行协同,应对协同后的工作流管理活动进行死锁检验,如发现死锁,则取消执行协同。每个工作流活动应有参考的执行时间,如果发现超过执行时间达到一定程度,应看作出现死锁,执行死锁处理。4.5负载平衡
负载平衡是提高性能的重要方法,在CSCW环境下,一般采用两种方法来达到负载平衡:(1)分配工作负载给多个工作流引擎执行,这样,在重负载的情况下,工作流管理系统仍然能保持可以接受的性能水平。
(2)将工作流活动分配到更适合的工作流引擎上执行,提高执行效率。5工作流固定协同策略
工作流固定协同策略是指按照固定的协同规则,将符合条件,能进行协同的工作流协同。在本节中,首先分析了原有工作流管理系统中各种没有考虑协同的工作流执行情况,并根据具体的情况,给出相应的固定执行协同策略。协作策略包括工作流自身的协同策略和工作流之间的协作策略。5.1冗余流程的化简
根据80一20原理,在所有工作流活动中,20%的活动经常执行,占到了执行频率的80%,这也就是说,在工作流管理系统里,正在执行的工作流,以及即将加入执行的工作流中,往往存在相同的活动,在原有的工作流管理系统中,这些相同活动往往反复执行,造成资源浪费,以及效率的低下,在生产型的企业中,这种情况更为严重。如图4.7所示,在工作流1至工作流n中,每个工作流里都有相同的活动,这些相同的活动被重复的执行。解决这种问题的方法是将相同的活动节点合并,如图4.8所示。这样,将原来的多个顺序执行的工作流变为一个或连接和或分支相结合的工作流。工作流中相同活动的任意一个前驱活动就绪后,相同活动即可执行,相同活动节点执行时间没有受到拖延,而执行次数由原来的n次变为了1次,减少了资源的浪费。相同活动节点的执行结果保存,相同活动节点剩下的或连接前驱活动到来时,可以越过执行相同活动节点这一步,直接执行下一步活动,提高了效率。更改活动执行顺序现有的工作流管理系统,有一个特点是工作流流程一旦定义后,不能更改,按照固定的活动顺序执行,这有可能会导致后继工作流活动的无谓等待。如图4.9所示,工作流2中的活动B是与连接逻辑活动,而它的其中一个前驱活动是工作流1中的活动A。假设活动B除了活动A外的别的前驱活动均己完成,只待活动A执行完毕,活动B即可执行。但活动A的执行,必须要等待它的前驱活动的完成,这些活动对于活动B来说,是无谓等待活动。正是因为这些活动,导致整个工作流2需要等待,增加了运行时间。解决上述问题的方法是更改活动执行顺序如图410所示将活动B的无谓等待活动排在活动A后执行,这样,活动A不必等待这些活动的执行完毕即可执行。活动B也相应的消除了无谓等待,提高了效率。执行这种优化的前提条件是:工作流中的活动具有相同优先级别的,并且更换活动的执行顺序对工作流的执行结果没有影响。5.2分解活动
现有工作流管理系统在工作流执行前定义了组成工作流的活动,活动在执行工作流的过程中不能根据协作需要分解,这会带来一些问题。工作流1中的活动A中有两个子活动Al和AZ,子活动Al的后继活动是工作流2中的活动B,子活动A2的前驱活动是工作流3的活动C,因为不进行分解,活动B必须等待整个活动A的执行完毕才可以开始,而活动A的执行必须要等活动C及其前面的活动的执行完成,无形中,工作流2多了很多等待时间。在 这种情况,活动B的直接前驱活动是A,而活动A的前驱活动是活动C,所以活动C可以称为活动B的间接前驱活动。如果可以在工作流执行过程分解活动,则上述问题即可迎刃而解,将工作流1中活动A分解为活动Al和A2,这样,活动B不在需要等待活动A2的执行完成。活动C不再是活动B的间接前驱活动,活动B减少了执行约束,整个工作流2提高了执行效率。应用这种固定协同工作策略,需要注意: 1.将被分解的活动是否有限制,导致不允许活动的分解。2.分解出来的活动彼此之间的顺序。
3.分解出来的活动的前驱和后继活动的关系。5.3并行执行活动
工作流的执行过程中常常出现一种情况,工作流中的各个活动是相关且又可以并行执行的,当由于工作流管理系统的限制,必须以顺序逻辑模型表示和执行,效率低下,如图4.18所示。如果改变为与分支和与连接的逻辑形式,将工作流并行执行,将大大减少工作流的执行时间提高效率如图419所示需要指出的是这种协同方式对减少执行所需要的资源的没有多大的帮助,主要优点是降低工作流执行的时间和提高工作流整体的执行效率。
参考文献
1、范玉顺,工作流管理技术基础,清华大学出版社,施普林格出版社,2001
1、WilVanderAaslt&KeesVanHee,工作流管理,王建民,闻立杰等,清华大学出版社,2004
3、史美林,向勇,杨光信,计算机支持的协同工作理论与应用,电子工业出版社,2000
4、罗海滨,范玉顺,吴澄,工作流技术综述,软件学报,2000,vOlllNo.7
5、史美林,杨光信,向勇,WFMS:工作流管理系统,计算机学报,1999(3):326一328罗海滨,范玉顺,吴澄,工作流技术综述,软件学报,2000,vOlllNo.7
14、Workflow Management Coalition, WFMC Process Definition Interchange-Process Model TC-1016-P[S].Oetober2005
第四篇:基于UML的项目客户关系管理系统面向对象设计
基于UML的项目客户关系管理系统面向对象设计
摘要:在项目管理中,项目客户关系管理是实现项目成功实施的重要环节。本文以交通项目为背景,把面向对象建模技术应用在其项目客户关系管理系统的建模设计过程中,使用可视化的统一建模语言UML对该系统进行了详细的分析和设计。关键词:项目;CRM;PCRM;UML;用例
Abstract:In project management,project customer relationship management acts an important role for a SUCCeSSfUl implementa‘tion of project.In this paper,the object·oriented modeling technology is used to design the project customer relationship manage‘ment system based on tragic engineering projects,and the function and components of the system are designed and described indetail by using visual unified modeling hnguag UML.
Key words:pmject;CRM;PCRM;UML;use case
一、引 言
CRM(Customer Relationship Management)是指企业针对各方面信息进行实时采集和动态跟踪,然后进行综合、分析、处理、统计,进而辅助企业进行以客户为中心的全面运营管理¨。客户关系管理的理念要求企业必须完整地认识整个客户生命周期,提供与客户沟通有效的统一平台,提高员工与客户接触的效率和客户反馈率,提高客户的忠诚度、满意度以及降低企业经营成本,从而提升企业客户的价值,提高企业利润收入。项目是一个组织为实现既定的目标,在一定的时间、人员和资源约束条件下,所开展的具有一定独特性的一次性工作。项目的含义非常广泛,既可以是一个大型的工程项目,也可以是一项新产品的开发、一项科研课题的研究,或一项特定的服务。项目的客户是使用项目成果的个人或组织,任何一个项目都是为项目的客户服务的,所以在项目管理中必须认真考虑项目客户的需要、期望和要求¨J。项目客户关系管理(Project Customer Relation— ship Management,PCRM)系统是在项目管理过程中,用来捋清各种客户关系、对客户行为进行分析并提供决策支持的系统。采用传统的结构化设计方法很难满足现在大型软件系统的要求,而面向对象技术实现了软件的可重用性和可扩展性,提高了系统的稳定性,并使系统易于理解和维护,针对系统特点我们选择面向对象技术对项目客户关系管理系统进行分析、设计。
1、项目客户关系管理系统的特点
项目客户关系管理是以通过持续改进提高客户满意度为中心,不断实现对项目质量、成本、进度的控制,建立适应客户不断变化需求的灵活的组织结构,以全面客户满意为目标,最终与客户建立长期良好的
合作关系,实现双赢的管理方法 J。客户关系的管理应以项目的实施过程为主线,客户关系管理贯穿于项目管理的整个流程中,尤其要把握项目进度计划实施与客户关系管理实施的协调。项目管理是在有限的资源条件下,为实现项目目标所采取的一系列管理活动,传统的项目管理系统多是在企业内部进行进度、成本、资源、费用的管理。项目客户关系管理系统中:项目客户应该参与项目整个过程,客户提供项目;客户为项目提供主要信息,表达自己的需求;客户约束项目;客户提出项目变更并审核变更;客户接收项目交付物并使用产品。客户管理的目标和项目管理的目标是统一的,即实现客户的全面满意。’在项目全生命周期中,存在客户与项目、客户与企业的频繁的各种形式的交互,基于软件可重用性和可扩展性,开发该系统应该采用面向对象技术。
二、可视化的统一建模语言UML 2.1 UM L概述
统一建模语言UML是一种定义良好、易于表达、功能强大且普遍适用的可视化图形面向对象技术建模语言 J。它溶人了软件工程领域的新思想、新技术和新方法,它的作用域不只限于支持面向对象的分析与设计,还适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。UML采用图形化的表示法,主要包括用例图、类图、包图、状态图、活动图、序列图、协作图、组件图和部署图等。这些图为系统的分析、开发提供了多种图形表示,它们的有机结合可以分析和构造一个一致的关系,并不是每个项目都会用到所有的图,许多项目并不需要状态图或活动图,但一般项目至少产生用例图、序列图和类/协作图。在软件开发过程中,UML是软件开发人员表达设计思想、进行交流沟通的非常有效的工具。2.2 RoSE简介
Rational Rose是一种面向对象的分析建模工具,利用这个工具,我们可以建立起用UML描述的软件系统的面向对象模型,并且可以自动生成和维护VB、C++、Java等语言的代码框架。应用Rose进行系统建模的过程大概如下:
(1)识别系统的用例和角色:识别出角色(Actor)与各功能用例(Use Case)O(2)系统分析:建立Sequence(序列)视图、Collaboration(协作)视图以及State(状态)视图。(3)系统设计:确定系统的类及类的属性、操作、各类之间的关系,建立起详细的Class Diagram(类图)。
(4)代码实现:在建模完成后,开发人员利用RationalRose工具可以生成程序代码框架,并对代码框架进行修改和补充,形成完整代码;而且,还可根据代码逆向生成UML模型。
三、PCRM 系统设计
3.1 PCRM 总体功能结构图
项目客户关系管理系统主要由四大功能模块组成:客户管理、项目管理、服务管理、日历管理。对每一功能模块进行分析,可得到详细的子功能,如图1所示。作为PCRM系统基础的客户管理模块,其结构形式以客户资源管理为基础,客户分析为核心,兼顾实现潜在客户和合作伙伴管理的子功能。项目管理功能模块实现项目全生命周期的各个环节进度、成本、质量以及客户关系的协调管理,包括市场分析、项目采购(招投标)、合同管理、项目进度管理、项目绩效考核等子功能。服务管理功能模块实现项目生命周期、客户生命周期内外客户服务相关内容管理,划分为客户接触管理、客户评价/投诉、需求变更管理等子功能。由于篇幅的限制,图1并不是最终细化的功能结构图,比如说客户分析子功能还应进一步划分为:客户群分析、客户满意度分析、客户价值分析、客户流失分析等,项目进度管理子功能还应进一步划分为:项目资源管理、成本控制、进度计划等。四大功能模块的子功能模块之间是有效结合,它们相互协作、相互贯穿,最终使行业中的企业运行模式从“以项目为中心”向“以客户为中心”进行转变。
3.2项目管理功能模块Use Case视图
图I表示了系统最大的功能模块的划分,对每一个功能应再创建用例图,进一步明确其功能。由于项目管理功能模块是整个系统的核心模块,我们仅对项目管理功能模块用例进行进一步细分,其它模块的建模过程与其类似。项目管理功能模块的用例图如图2所示。注:途中“通常ADU操作”,指的是“ADD、DELETE、UPDATE操作”,细化后的底层用例都应实现“通常ADU操作”,图2中并没一一标出。
项目管理功能模块中涉及的参与者包括:企业领导、项目经理、项目执行人员、合作伙伴、客户、相关厂商等。其中企业领导、项目经理、项目执行人员、合作伙伴等角色参与到项目管理的整个过程中;而角色客户与项目实施方紧密地沟通交流、协作,参与进度计划、成本控制、项目资源管理、项目绩效考核、合同管理等;相关厂商可能只参与某些项目的合作投标过程。3.3 建立Sequence图
定义出各功能模块的基本功能、建立起系统的Use Case视图以后,下一步应该针对每个Use Case的业务操作流程绘制其Sequence视图。Sequence视图反映系统中若干个对象之间的动态协作关系,分析对象之间消息的先后次序,说明对象之间的交互过程,以及系统执行过程中,在某一具体位置将会发生什么事件。我们以“对客户沟通记录”操作为例说明sequence 视图的建立过程:相关人员登录项目管理主界面,打开项目采购中的客户沟通记录界面,选择、打开记录界面,在界面上根据权限对数据库进行增删改操作(权限及输入的合法性检验过程略)。这个过程我们可以初步建立一个完全面向操作过程的se—quence视图,如图3所示。此处我们没有绘制协作图,协作图可以由所画的
Sequence视图动态生成。其它功能模块的建模过程也与此类似,这里不再说明。3.4系统类图设计
对系统的Use Case图进行分析,我们可以得到系统的类图,在分析阶段,可以找出大部分的类以及类中的大部分的属性,剩余的类和属J陛可以在详细设计阶段通过Sequence图找出。类图设计过程中,具有相似行为或属性的类应合并,以避免类的冗余、提高类的抽象性和继承性。客户沟通局部类图如图4所示。
3.5 PCRJVI系统的代码结构设计
PCRM系统我们采用如图5所示的三层软件结构,分为User Services(用户层)、Business Services(业务层)、Data Services(数据服务层),这种结构有利于类的重用和扩展,有利于提高类的抽象性和继承性,这正是面向对象设计的优势所在。三层结构中各类的功能如下:User Services层中的边界类PCRM defineform实现界面显示功能,边界类Facade运行界面中的函数和过程;Business Services层中的PRCM Man—ager集合管理类和PCRM持久实体类对界面提交的数据进行业务逻辑处理,负责数据修改的Modify类、负责数据读取的Fetch
类和DataAccess类将业务逻辑处理好的数据提交给Data Services(数据服务层)进行数据存取;Data ewices(数据服务层);OLEDB(ADO)/ODBC类通过DBMS(数据库管理系统)实现
对数据库的存取。
应用此三层软件结构,结合面向对象设计过程中设计的类图,图3所示的对客户沟通记录操作的Sequence图可以转化为如图6所示的对客户沟通记录操作的程序Sequence图。这时,在Rose中可以自动生成对客户沟通记录进行增删改的VB、C++、Java等语言的代码框架了。
四、结束语
本文对项目客户关系管理这个项目管理中的新课题作了一定研究探讨,并以交通项目为背景定义出了一个项目客户关系管理系统。在这基础上以统一建模语言UML为工具,将面向对象技术应用于项目客户关系管理系统设计中,使得系统具有更好的可重用性、可维护性,在一定程度上实现了软件开发的自动化、实现了软件设计和编码的无缝的连接,提高了软件开发的效率和质量。有关项目客户关系管理许多问题还有待于进一步研究,项目客户关系管理系统还有待进一步完善。参考文献:
[1] 夏安邦,孙欣.对当前CRM研究的综述和讨论[J].中国制造业信息化,2004,33(5):13—17.
[2] 戚安邦.项目论证与评估[M].北京:机械工业出版社,2004. [3] 陆菊春.浅析项目客户关系管理[J].商业时代,2003(17):22.
[4] Boggs W.UML与Rational Rose 2002从入门到精通[M].北京:电子工业出版社,2002. [5] 马重明,张学旺,范时平.基于UML的软件体系结构开发方法[J].计算机工程与应用,2006,42(4):118.120.
[6] 刘润东.UML对象设计与编程[M].北京:北京希望电子出版社.2001. [7] 何荣勤.CRIVl原理·设计·实践[M].北京:电子工业出版社.2006. [8] 陈开.中国CRM最佳实务[M].北京:电子工业出版社,2005. [9] 陈增荣.软件开发方法[M].上海:复旦大学出版社,1997.
第五篇:基于Web的工作流管理系统的设计与实现
摘要:Internet/Intranet应用的普及和Web技术的发展,为Web工作流管理系统的实现提供了一个理想的平台,而基于Web的工作流管理服务为异地办公及跨企业的合作提供了良好的基础,采用Web技术已成为新一代工作流管理系统的主要特征。本文研究开发的工作流管理系统原型将Web技术
与XML相结合,给出了基于xml的过程定义语言与工作流执行机的设计与实现方法。
关键词:工作流、工作流管理系统、XML,集成、工作流执行机
Abstract:The rapid growth of Internet/Intranet usage and development of Web technologies,provides a ideal platform to construct a Web_based workflow management.And the Web_based workflow management service provides condition for distributed working and inter-enterprise corporatin ,and it has become the characteristic of the next-generation workflow management.The WFMS prototype which this paper researched on combines the Web technologies and XML ,and provides a method of designing and implementing xml_based process definition language and workflow engine.keywords:Workflow ,workflow management systems ,XML,Integration、Workflow Engine
1、引言
工作流的概念起源于生产制造业与办公自动化领域。工作流是一类能够完全或部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务在不同的执行者之间传递、执行。工作流的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本,提高企业生产经营管理水平和企业竞争力,实现现代企业经营过程重组(BRP)、经营过程自动化。
根据工作流系统所采用的任务项传递机制的不同,工作流管理系统主要有三种方式:(1)、基于文件的工作流管理系统——以共享文件的方式来完成任务。这种类型的产品是产生最早、发展最成熟、最具多样性的,通常包含有Client/Server模式的图像、文档与数据库管理系统。(2)、基于消息的工作流管理系统——通过用户的电子邮件系统来传递文档信息。这种产品都实现了一种或多种电子邮件系统的集成。(3)基于Web的工作流管理系统——随着计算机网络技术的发展和Internet应用的不断普及,Web技术因其界面的一致、简单及与平台的无关性,在其出现之后就得了迅速发展。同时Internet的发展及企业Intranet的建构为人们提供一个理想的协同工作环境,同时也使基于Web的工作流管理系统成为可能。
Web应用程序开放、跨平台的特性使基于Web的工作管理系统已经成为一种必然的发展趋势。但目前因为不同的研究者、厂商使用不同的工作流的描述方法,这样就造成了不同的工作流产品之间不能进行互操作,因而在很大程度上阻碍了工作流技术的推广与应用。
为了使工作流管理系统具有的良好的互操作性,本文研究开发了一个基于Web的工作流管理系统,其中工作流过程定义采用了基于XML的过程定义语言。XML是用来描述文档的组织结构,XML具有简单、自定义的优点,可以实现不同产商之间的工作流产品之间的互操作性,实现异构信息的集成。
本文首先介绍了当前工作流管理系统的一些相关概念,分析了在本系统中的一些关键技术,包括系统的体系结构,工作流模型中的主要实体的XML描述及工作流执行机的设计与实现等。
2、工作流管理系统的介绍
基于Web的工作流管理技术是实现企业协同工作环境的一个良好方法,它能方便的与企业内原有的应用、信息集成。
为了实现对业务过程的工作流管理,需要相应的软件系统的支撑。此种软件系统为工作流管理系统(Workflow Management System,WfMS)。根据WfMC 的定义,工作流管理系统是“一种在工作流形式化表示的驱动下,通过软件的执行而完成工作流定义、管理及执行的系统”,其主要目标是对业务过程中各活动发生的发后次序及同活动相关的相应人力或信息资源的调用,进行管理而实现业务过程的自动化。工作流的过程定义是指对业务过程的形式化表示,它定义了过程运行中的活动和所涉及到的各种信息。这些信息包括过程的开始和完成条件、构成过程的活动以及进行活动间导航的规则、用户所需要完成的任务、可能被调用的应用、工作流机的引用关系以及与工作流数据的定义。其中活动指的是工作流中的一个逻辑步骤;工作流实例指的是工作流的一次执行过程;工作流机是一个为工作流实例的执行提供运行服务环境的软件或“引擎”,它是工作流执行服务的核心,负责对解释过程定义、控制过程实例的执行、控制工作流中各个活动的执行顺序、并完成与其它工作流机的交互与通讯。
1994年11月,工作流管理联盟发布了工作流管理系统的参考模型(见图1),该模型定义了一个基本的工作流管理系统所需要的6个基本模块,并制定了各模块之间的接口标准。其基本的模块功能如下:
1)过程定义工具:为用户提供一种对实际业务过程进行分析、建模的手段,并生成业务过程的可被计算机处理的形式化描述。
2)工作流执行服务:它借助于一个或多个工作流机,激活并解释过程定义的全部或部分,并同外部的应用程序进行交互,完成工作流过程实例的创建、执行与管理,为工作流程的运行提供一个运行时环境。
3)其他工作流执行服务:在大型的WfMS中,工作流可能需要多个工作流机共同完成,甚至需要其他异质的工作流执行服务来辅助来完成,这涉及到WfMS系统之间的互联。
4)客户应用程序:它给用户提供一种手段,以处理过程实例运行过程中需要人工干预的任务。每一个这样的任务就被称为一个工作项。WfMS为每一个用户维护一个工作项列表,它表示当前需要该用户处理的所有任务。
5)被调应用程序:指工作流执行服务在过程实例的运行过程中,调用的、用以对应用数据进行处理的程序。在过程定义中包含这种应用程序的详细信息,如类型、地址等。
6)管理及监控工具:其功能是对WfMS中过程实例的状态进行监控与管理,如用户管理、角色管理、审计管理、资源控制等。
3、基于Web的工作流管理系统的总体结构
体系结构的设计主要遵循如下3条原则:
(1)、基于Internet/Intranet分布式计算环境,面向跨部门、跨企业的分布式工作流管理。
(2)、集成已有的各种信息资源,如电子邮件、文档管理、图形浏览、资源管理等,充分发挥这些资源的综合潜力。
(3)、与工作流管理联盟参考模型保持一致,其中过程定义语言采用XML-WPDL(基于XML的过程定义语言),以利于实现不同企业的WfMS系统的互操作。按照上述原则所设计的Web_WfMS的体系结构如图2所示:
整个系统的工作方式如下:
(1)、工作流应用建模人员通过Web浏览器将过程及表单定义工具从Web服务器上下载下来,完成应用系统的建模,即实际工作流程的定义。建模结果以XML-WPDL文档保存在服务器中,并可反复修改。
(2)、客户端用户通过浏览器登录到Web服务器,此时可以启动新的流程、处理其工作项等。每个工作项都与一个表单对应。在表单中以各种不同的方式表示需要处理的数据。用户可以通过客户端所提供的各种工具(如CAD系统、CAPP系统、字处理系统)对这些数据进行处理。在此过程中可以与数据库系统进行交互,如查询数据库中信息,或将某些应用数据保存到数据库中等。处理完成之后可将其提交,然后工作流执行机将根据表单中数据生成下一个工作项,并通知相应的用户进行处理,如此直至整个流程的完成。
(3)、管理人员使用工作流管理监控工具对工作流的运行实例、活动实例的状态情况进行监控和管理,如挂起、重启动、终止某个过程实例。
4、基于Web的工作流管理系统的设计原理与实现机制
基于Web_WfMS的总体设计,将从工作流模型、工作流执行机、安全权限控制等3个方面讨论本系统的实现机制。
4.1 工作流模型
工作流模型是整个工作流系统设计的基础,也是过程定义人员进行系统二次开发的基础,模型描述能力的强弱决定了系统所支持应用范围以及系统的灵活度。在工作流模型方面,工作流管理联盟定义的过程元模型定义了6个基本实体:过程定义、活动、转换条件、工作流相关数据、角色、需要激活的应用程序。
各种不同的建模工具仅是对工作流模型的一种形式化的描述,为了实现不同的WfMS的过程定义能相互交互,在本系统中采用了其于XML的过程定义语言对过程建模进行描述(如图3)。
下面将分别介绍XML_WPDL的过程定义、活动和转换条件三种实体的描述。
① 过程定义
4.2.1 工作流机的实现
工作流执行服务是工作流管理系统的核心。工作流执行服务由一个或多个工作流机组成。工作流机实际上是企业经营过程的任务调度器,在某种程序上还是企业资源的分配器。在采用工作流管理系统支持经营过程运行的企业中,工作流机可以看成是企业的业务操作系统(BOS)。工作流机的主要功能是:解释过程定义、负责调试流程的运行、即创建和管理过程实例运行、调度活动的运行并创建要处理的工作项、维护工作流控制数据和相关数据、维护用户的工作列表。工作流执行机的结构如图4所示:
图4 工作流执行服务的结构图
其具体的执行过程:工作流机接受从外部接口发送过来有关过程控制的请求(如过程初始化、获取活动以及结束活动等),然后根据不同的请求类型调用相应的处理模块完成与本次请求相关的操作并将结果返回。事实上可以将工作流机看成一个多线程的并发服务器,它可以对多个外部请求提供并发服务。对外部请求的处理过程中肯定会涉及到对工作流相关数据的读写和更改操作,同时工作流机还维护着工作流的控制数据,通过工作流控制数据来辨别每个过程或活动实例的状态,并推动着工作流过程的执行。过程、活动、工作项构成了工作流机的主要逻辑。在我们的系统中采用了对象的封装和继承的方法,把它包装为普通的C#类。三个类的定义如下:
(1)、public class WEProInstanceManager {} //工作流执行机的过程实例的管理类
(2)、public class WEActInstanceManager {} //工作流执行机的活动实例的管理类
(3)、public class WEWorkItemManager {} //工作流工作列表管理类
4.2.2 工作流机的异常处理
工作流的错误包含两种错误,一是流程错误,如活动的执行者不存在,活动的应用程序定义错误等;另一类是系统的错误,如:网络不通,数据库系统异常。对于工作流执行机来说,前类异常是属于无法处理的错误,只能进行错误的通知;后者是执行机可以处理的错误,如数据库异常或连接临时中断等等,执行机可以进行容错处理,例如:在数据库恢复后自动重新建立连接。执行机对可能出现的错误进行编码,并附有对应的描述信息。
在我们的系统中采用了C#的异常处理思想(在C#的编程思想中,系统的错误是通过捕获异常来实现的),抛出的异常通过异常类WEException来描述。WEException类继承了C#的异常处理类Exception。并覆盖了Exception类的属性Message(){get{}},其中WEException类中保存了可识别的异常对照表。在C#的异常处理中,在出错的地方将异常抛出,不进行处理。异常被抛到更高的层次,直到某个层次能够进行这种异常的处理。
4.3、工作流管理系统的安全权限控制
工作流管理系统对安全性要求较高,为了达到要求,必须做到充分的安全控制。在我们的系统中,共设置了5层安全控制级别。
1)、用户鉴定:用户登陆系统,需要用户输入用户名和密码,以便确认和登记。
2)、服务器访问控制:保证只有授权用户,才可登陆指定的服务器。
3)、数据库访问控制:对数据库的访问进行控制
4)、文档访问控制:对数据库中的文档进行权限控制。
5)、文档中的域访问控制:对文档中的部分内容进行控制。通过以上五层安全控制再加上一些安全机制如:系统级权限控制、电子签名和加密等,使得整个安全机制达到了系统对安全的需要。
5、结束语:
以Web作为工作流管理系统的底层通讯支持使系统具有开放、一致和方便使用的特点,使企业中处于孤岛的信息能相互集成。本系统采用的基于XML的过程定义语言的工作流管理系统,不仅适应分布办公,更以系统开放的环境为实现跨部门、跨企业的供应链的不同工作流互操作打下了基础,使客户、供应商、或合作者都可以方便的参与企业的工作流,提高工作效率。参考文献
[1]WfMC,“The Workflow Reference Model”.(WfMC-TC00-1003),Technical Report,Workflow Management Coalition,Hamnshire.1995.[2]史美林、杨光信、向勇等。WFMS:工作流管理系统[J]。计算机学报,1999(3):326~328。
[3]范玉顺。工作流管理技术基础—实现企业经营过程重组与经营过程自动化的核心技术[M].北京:清华大学出版社,2001。
[4]Mohan C.Recent Trendsin Workflow Management Products,Standards, and Research.URLhttp://www.xiexiebang.com,1999-10