流程引擎设计之二

原创 2004年04月12日 12:54:00

1 逻辑设计<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

逻辑设计的目的是说明了流程引擎的设计中住基础的设计部分,我们把它分成3部分,分别是“原料工厂”、“组装工厂”、“使用工厂”,这3个部分分别从不同的资源层次阐述了设计流程引擎的关键点,下面我们就这3个部分分别加以说明。

1.1 原料工厂

原料工厂的主要内容就是系统中可能的流程类型,以及每种类型可能的步骤,这不是一个固定的内容,二次开发可以在这列做文章,如果你希望你的系统在二次开发提供流程的自定义,那么最主要的接口就在这里。我们假设这是一个大的工厂,里面就是所有的需要的流程类型,所有的步骤,所有的步骤的属性,所有的控制参数,你需要用很多的精力来分析你的需求,以便对付这一模块,但是一旦这一模块的任务有些明确,那么你的工作会如此的轻松。我们用一个图形加以说明这一模块希望达到的效果:(参考图1

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2004-4-6942470.emz

(参考图1

这象是一个奇怪的东西,其实他是一个步骤的原型,输入客输出以及控制信息是您定义的,从数量到数据类型都是您自己做决定的,为了在后期能统一管理和便于二次开发,您需要文档化这些设计。下面是另外一个图形说明一个类别的原型;(参考图2

CSDN_Dev_Image_2004-4-6942472.emz

(参考图2

打个比方吧,一个发文流程可能有:拟稿、校对、部门领导审核、YY级别领导签字、YY1领导会签、YY2领导会签、TT领导签发。那么这些步骤就是(参考图2)的元素了图形,您要关注的是每个步骤可能的出入和协调问题。做成一个整体(对象)看待,这样对你的设计很有好处。

1.1.1 业务流程类别管理

仔细的分析你的系统可能存在的流程类别,比如说收文、发文、车辆审批、出入库、报销……,这些是你的系统要解决的业务主题,他们都可能是有流程。有的流程是“活”的,有的流程是“死”的,如何设计一个模板库存放这些不同的类别流程资料,这也是你要考虑的问题,因为你要把业务上分开的东西经过你的分析,得出他们的共性和个性,以便在后面的设计中会使用到这些特性。

通过类别对基础资源加以有效的管理是设计的一个难题,使用Rose设计过程中,不时的需要回到前面的设计中看内容才能继续进行下去.

步骤技术的复制(复用),这是设计过程中一个特点,也就是当你设计了一个完整的类型之后,其他类型可能可以使用复制的方式实现设计,特别是特性相同的流程资源,比如收文和发文.

1.1.2 可以随时删除、修改

这是针对后面的流程而言的,流程使用这些基础资源是一次性死的使用,一旦使用了某个类别的资源,那么这些资源就被复制到流程的数据库里,而在原料工厂的同样的资料是否在以后存在或是修改了都不会对已建立的流程产生影响,流程的操作有流程的管理模块来完成,我们会在后面的内容加以描述.

通用工作流引擎内核的设计与实现

工作流技术是当前计算机应用领域的一个研究热点,利用工作流技术对企业进行业务过程的建模和分析不仅可以规范化企业的业务流程,发现业务流程中不合理和低效的环节,进而对企业的业务过程进行优化重组,达到全面提高...
  • wacky
  • wacky
  • 2016年08月02日 18:43
  • 1011

《自己动手写框架3》:业务流程引擎设计

一般的时候,我们都采用编程式开发,编程式开发的好处非常明显:直接、高效、自由,当然其缺点也是有的,与其优点刚好相对,因为直接,所以有些变化都要进行代码上的修改;因为高效,所以一旦出问题,导致的结果也比...
  • cndes
  • cndes
  • 2015年06月04日 15:04
  • 3703

几种开源工作流引擎的简单比较

目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下 其他几种工作流引擎的特性。   Apache ODE Enhy...
  • 1950
  • 1950
  • 2011年12月31日 17:23
  • 867

数据结构实验之二叉树五:层序遍历

题目描述 已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。 输入  输入数据有多行,第一行是一个整数t (t,代...
  • zhang_di233
  • zhang_di233
  • 2015年11月05日 21:36
  • 916

工作流引擎设计之子流程功能实现

一个成熟的工作流管理系统,其引擎对于子流程功能的支持必然是不可少的,这好比是一门编程语言支持函数那么普遍一样。在当前Workflow, BPM, EAI产品的建模工具中,对于子流程/子过程的应用如家常...
  • kthq
  • kthq
  • 2007年08月05日 23:48
  • 5804

流程引擎设计之三

1.1 组装工厂组装工厂的功能就是使用原料工厂的现有资源,根据业务的需求,设计出流程,之后有效的维护这些流程。原料工厂的现有资源的合理组合就是一个应用的模式,我们把这种应用模式叫做组装过程。装配的过程...
  • jemlee2002
  • jemlee2002
  • 2004年04月12日 12:50
  • 2034

游戏引擎的分层设计

在计算机领域,我们使用得最广的方法,就是抽象、封装。每个系统,都是像洋葱一样,一层接一层,从内到外;每一个组件,都是建立在比其更为底层的基础之上。 依据这个方法来设计游戏引擎,是非常合适的;尤其是...
  • pizi0475
  • pizi0475
  • 2012年08月11日 16:22
  • 683

activiti入门2流程引擎的API和服务基础

RepositoryService : 管理和控制发布包和流程定义(包含了一个流程每个环节的结构和行为)的操作 除此之外,服务可以 查询引擎中的发布包和流程定义。 暂停或激活发布包,对应全部和特定流程...
  • a67474506
  • a67474506
  • 2014年10月23日 15:49
  • 3969

流程引擎设计之四

我们通过JDOM,配合界面的设计获取数据,构造了一个Flow.xml文件(参考表格1)Flow.xml文件在XMLSPY打开之后的样子      0   2   Ng.jsp   SaveNg.jsp...
  • jemlee2002
  • jemlee2002
  • 2004年04月12日 12:50
  • 1349

流程引擎设计之一

1 概述... 22 目的... 23 逻辑设计... 23.1 原料工厂... 23.1.1 业务流程类别管理... 23.1.2 可以随时删除修改... 23.2 组装工厂... 23.2.1 业...
  • jemlee2002
  • jemlee2002
  • 2004年04月13日 13:56
  • 3186
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:流程引擎设计之二
举报原因:
原因补充:

(最多只允许输入30个字)