1.工作流模型分析
工作流是全部(或部分)由计算机支持或自动处理的业务过程。工作流系统实现了过程管理与具体应用软件的分离,具有过程自动化处理的特点。工作流管理系统通过运用关系数据库、网络以及其他一些软硬件技术,实现企业的文档、信息、资源或任务等在既定的工作流规则及其参与者之间的传递和处理,进而完成整个业务流程的处理。
工作流管理联盟(WorkFlow Management Coalition)提出了工作流参考模型(workflow reference model),用作工作流管理系统结构的通用描述,如图3-11所示。
图3-11 工作流参考模型图
在图3-11中,工作流引擎(WorkFlow Engine)是工作流系统的核心,一个或多个工作流引擎组成了工作流执行服务(WorkFlow Enactment Service)。工作流引擎基于一个或多个工作流定义,工作流定义由过程定义工具(Process Definition Tools)构造。工作流系统通过对业务流程建模并通过工作流执行服务操作和管理业务案例功能,将过程管理从应用软件中提取出来,实现了业务管理和应用系统的分离。为了在应用系统中正确地执行业务流程,就需要用到工作流客户端应用程序(WorkFlow Client Application)来与工作流执行服务进行交互。被调用的程序(Invoked Application)也是工作流系统的重要组成部分,用于辅助工作流系统的运行,包括属性设置、配置管理、自动执行部分业务功能等。工作流系统可以实现交互操作,由若干个独立的、不同的工作流执行服务交互对某个业务进行处理(如图3-11中Other WorkFlow Enactment Service)。工作流系统还包括了管理和监控工具(Administration &monitoring tools),用于负责工作流的运行管理和记录、报告。
2.利用Petri网对业务流程建模,构造工作流定义
Petri网于1962年被Carl Adam Petri作为一种过程建模和分析的工作提出。Petri网是由库所、变迁和有向弧组成的过程描述,具有坚实的数学基础和直观的图形表达。经过多年的发展,Petri网也经过了一定的扩展,如为Petri网加上颜色扩展、时间扩展和层次扩展,使之更适应工作流建模,能够直观地描述一个工作流过程。(www.xing528.com)
Petri网中,库所通常用符号表示,在工作流过程建模中,它用于描述条件;变迁常用符号表示,在工作流过程建模中,它通常表示任务;有向弧则表示业务办理的走向。利用Petri网,能方便的表示如下几种流程类型:
(1)顺序执行的流程。现实工作中的业务流程包含了比较多的信息,然而就整体而言,整个业务流程主要由开始、处理、结束等三部分组成,这就形成了一个最基本的按顺序执行的流程。
(2)并行执行的流程。现实业务处理中,经常有同一个业务需要经过两个或多个部门同时审查、处理的情况,而且这几个部门之间彼此独立,互不影响,不存在先后执行的限制。此类情况称为And-split和And-join。
(3)选择执行的流程。一个业务可能面临多个部门的审查、处理,但在特定条件下却只能有其中一个部门对该业务做处理工作,这样的情况为Or-split和Or-join。
除了上述两种情况之外还有一个混合情况,即And/Or-split。这种业务具体是并行处理还是选择处理,将由业务当前的性质来决定。
(4)循环执行的流程。业务的办理过程常常会在某几个环节间反复交互处理,直到最终满足特定的条件后才递交给下一个环节去执行。这种情况类似于程序设计中的循环结构。Petri网中判断循环是否结束,用Or-split进行决策。
(5)流程的嵌套。业务流程的嵌套在现实中并不少见:上级部门对一件业务T进行处理,到某个环节后任务移交到下级部门,在下级部门中将形成一个新的完整的业务流程SubT继续该业务的处理,处理完毕后再将处理结果递交到上级部门的业务流程中继续进行处理。这种情况下,下级部门中的业务流程SubT将只是全局业务流程T的一个节点,称之为内嵌流程或子流程。
综合运用上述的几种流程类型,结合实际业务的需求,即可为具体业务建立起恰当的工作流模型,并以此为基础设计出扩展性良好的信息系统。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。