基于shark工作流引擎的企业办公自动化系统的几点探讨
2014-11-03陈倬
陈倬
摘 要:近些年来,随着计算机技术的飞速发展,使得企业办公自动化系统越来越多的和计算机相结合,从而使得企业办公更科学、更现代化,与此同时也直接推动企业经济效益的增长。其中,工作流技术作为一种新型的计算机技术对企业办公自动化系统具有十分重要的作用,使企业办公自动化呈现出简洁、高效的特点。所谓工作流技术是指一种工作流程的计算模型,详细的说它是将工作流程中工作的逻辑和规则通过模型表现出来,使办公自动化系统更科学。之所以说工作流技术十分重要,是因为它可以解决企业办公自动化系统中的许多问题。文章就过程定义、引擎、监控、工作流系统四方面做了详细探讨,仅供参考。
关键词:工作流技术;办公自动化;引擎;工作流系统
前言
工作流技术对于办公自动化系统而言意义非凡,它可以利用计算机让多个参与者按照固定规则传递信息,进而完成工作。过程定义、引擎、监控是构成工作流的三个重要部分,三者缺一不可。但是,值得注意的是,无论是过程定义、引擎还是监控在开发时都应注意到开发要点,把握关键点,防止出现细节错误,使工作流技术更科学。
1 过程定义
过程定义是工作流的重要组成部分之一。现今过程定义具有两种定义方式,其一是技术人员定义流程,其二是用户自己定义流程。前者适用于较为复杂的过程定义,技术人员一般都采用JaWE工具专业定义。后者则适用于较为直观简单的过程定义,便于用户完成。其中,用户自己定义流程时要把握以下两个要点:首先要分次实现直流和分支流程;其次在流程保存的时候,初始相关数据,如用户、组、应用程序的关联等。
2 引擎
在开发引擎时,一般都在shark的基础上进行开发。就目前而言,shark是比较完善的开源引擎。用户在shark的基础上开发引擎时要注意流程的选择,要具体情况具体分析,选择流程要具有针对性。其次,要注意把握应用程序和流程活动二者之间的关系,将二者有机结合,以便达到理想效果。值得一提的是,要实现应用程序和流程活动二者的关联,可以采用多种方式实现,要根据具体情况进行分析。
3 监控
监控同样是工作流内部结构的重要组成部分之一,因此监控开发同样是一个值得关注的问题。在监控开发时,要注意把握以下三点技巧。首先,要采用流程图或者信息表的形式将活动的数据信息和活动流程显示出来,一方面使信息显示更加清晰明了,另一方面也是的整个系统更加科学。其次,要把握好结束流程这一环节,做好整个系统的最后保障。此外,要做好清理流程数据。
4 工作流系统设计
在对工作流技术进行开发应用时,除了要注意对过程定义、引擎、监控三部分的把握,同时也要做好工作流系统设计工作,从而工作流技术得到有效保证。
在对工作流系统设计时,要注意从多方面考虑,综合把握各种因素。针对代码较为复杂和后期的各种要求,技术人员在设计时要注意程序的完整性、扩展性以及用户的方便性,从而使系统在运行时更能符合办公自动化的需要。
完整性:所谓完整性就是指程序结构完整。程序结构一般都会面向接口开发,在开发过程中不会发生任何改变。然而要实现程序结构的完整性,设计人员必须要使用设计模式定义各种接口,从而实现系统的各种功能。
扩展性:工作流技術的扩展性是十分重要的,将引擎的扩展性不断完善将对后期的引擎替换有直接积极作用。目前的工作流技术就是基于Shark开发出来的,在Shark的基础上不断完善发展得来的。因此,考虑到未来引擎的发展,程序必须要把握好扩展性。
调用方便性:在开发过程中,调用方便性这一特点是不容忽视的。程序设计员要注意将程序内部各种关联隐藏起来,尽量突出程序的便捷易懂、简单实用。
包结构:
com.nor-weststar.workflow.chart工作流流程定义画图类的包com.nor-weststar.workflow.client 工作流客户端
com.nor-weststar.workflow.requisition 申请处理包
com.nor-weststar.workflow.shark 工作流类的包,定义工作流接口。
在com.nor-weststar.workflow.chart的包中包括类:ChartUtil、WflChart 和XpdlUtil 这三个类。其中ChartUtil 类是实现流程图的操作类,它的作用是定义了工作流过程定义流程图,输出XPDL文件。
在com.nor-weststar.workflow.client的包中包括类:ClientFunction、GroupTable、UserGrouptable、UserTable、WflActivity、WflEffort、Wfl
ClientFunction、WflPackage、WflProcess、WflUtil、WorkFlowClient这几个类。其中ClientFunction类是客户方法接口,它的作用是定义执行动作以及得到对当前活动的描述。WflUtil类是完成内部流程的管理类。包括工作流数据源,活动标志,活动创建,审批引擎活动等数据和方法的定义。WorkFlowClient客户端流程管理类提供给用户的流程管理类,调用引擎流程管理类和内部流程管理类,完成流程的管理。
在com.nor-weststar.workflow.requisition的包中包括类:PlatReq、PlatReqtype、PlatReqUser、ReqClientUtil、ReqUtil这几个类。PlatReq、PlatReqtype、PlatReqUser这几个类是描述各申请类内容的Javabean 类。ReqClientUtil类是申请操作类,完成审批网上申请。ReqUtil类是实现申请表单的处理类。
在com.nor-weststar.workflow.shark的包中包括类:SharkException、SharkMana-ger、SharkWorkFlow三个类。SharkException是扩写的Shark异常类。SharkManager类是实现Shark的基础管理类,实现对包、用户、组、参与者与用户映射的管理。SharkWorkFlow类是对开始活动、执行活动等动作、过程、活动一级的操作。
参考文献
[1]王海军,等.基于Shark的工作流流程的实现方式研究[J].机械工程与自动化.
[2]吴朝晖,邓水光.工作流系统设计与关键实现[M].浙江大学出版社.