1、Fire workflow工作流模型的设计目标
1.0版本的模型主要是从技术的角度进行分析得出的结论,遇到了不少的批评,这些批评归结起来有如下几点。
A) 业务上不直观:流程图太技术化,业务描述有点啰嗦。例如,顺序连接的两个Activity之间也必须要有Synchronizer。
B) 某些业务场景不能够很好地刻画:由于“每个Activity只允许一个输入”,使得一些公用的环节很不好表达。
经过一段时间的回顾和思考,我认为,Fire Workflow模型的设计目标是:
增强其表达力,能够更简洁通俗地刻画业务,同时便于计算机处理。
如何增强表达力及其效果,在接下来的章节中详细描述。
2、模型更充分地体现“以业务过程为中心组织资源、逻辑和数据”的思想
什么是“以业务过程为中心组织资源、逻辑和数据”的思想呢?
我们以政府部门为例,以前我们的政府部门的架构以层次结构为主,注重纵向的上下级关系和职责分配。群众要申请某个事项必须亲自携带资料在这些政府部门之间穿梭;如果在办理过程中出现差错,群众更加不知所措,不知道找谁。这种组织结构和办事规则显然不是很好地实现政府部门的“服务群众”的业务目标。
后来,很多政府部门提出了“一站式”服务的理念,群众只要在服务大厅提交申请事项即可坐等结果,后续工作由政府部门按照规章制度制定的业务过程自行调度组织。这个理念的目的是方便群众,其本质就是以业务过程为中心,调整政府组织架构和行为方式。
那么Fire Workflow的模型如何体现“业务过程”,“资源”,“逻辑”和“数据”这些要素呢?
首先,业务过程(Process)由Activity, Synchronizer, Transition , Loop来表达。
资源有很多种,包括人、计算机、软件系统等等,在Fire workflow当前版本中,只对“人”进行了建模——Performer。
逻辑和数据向来密不可分,逻辑操作的对象就是数据。在Fire Workflow中 Task代表的是业务逻辑,同时,由于没有找到简便的合理的数据业务数据建模方式,所以它同时也代表了业务数据。
紧接着的一个重要问题是:这些要素之间是什么关系?如何体现“以业务过程为中心组织资源、逻辑和数据”的思想?
在1.0的模型中有这样的描述:Activity是Task的容器。这句话首先太技术化了,另外,也没有从业务的角度看问题的意思。
在2.0中Activity的图示没有变化,但是赋予了新的含义。如下图
多个业务步骤(Activity)在Synchronizer, Transition, Loop等逻辑组织下形成一个业务流程(业务过程),资源、逻辑、数据都是以这个过程为中心进行分配和组织的。
2、Activity可以有多个输入
在2.0的模型中,Activity可以接受多个Synchronizer的输入,但是Activity并不对这些输入做任何的同步操作(这不是Activity的职责),即在运行时任何一个输入都可以激活Activity。
但是,Activity的输出仍然只允许1个。
这个修正对于使得“转移到公共步骤”的场景更加简单。例如,银行贷款流程可以这么画。
4、增加“业务视图属性”和业务视图
没有分支和汇聚节点Synchronizer自动被隐藏,空Activity可以设置业务试图属性来决定是否需要自动隐藏。
- 大小: 17.2 KB
- 大小: 12.6 KB
- 大小: 12 KB
- 大小: 12.4 KB
- 大小: 12.5 KB
分享到:
- 2009-11-19 21:29
- 浏览 1358
- 评论(2)
- 论坛回复 / 浏览 (2 / 2322)
- 查看更多
相关推荐
"Fire Workflow 2.0" 是一个基于Java的工作流程管理系统,专为自动化和优化业务流程设计。这个系统的核心目标是提高效率,确保流程的一致性和可跟踪性。在这个版本中,我们可以看到一些重要的升级和改进,尤其是在...
1. **工作流模型**:在FireWorkFlow中,工作流模型通常采用BPMN(Business Process Modeling Notation)标准,这是一种图形化表示业务流程的方法。了解BPMN符号及其含义,如活动、事件、网关等,是理解工作流模型的...
1. **Fire Workflow 工作流**: Fire Workflow的核心是工作流引擎,它能够自动执行预定义的业务流程。这些流程可以是审批流程、订单处理流程或其他任何需要步骤化操作的业务场景。工作流引擎通过解析流程定义文件,...
FireWorkflow 3 工作流模式实现整理 FireWorkflow 3 是一种流行的工作流引擎,用于实现复杂的业务流程。该引擎提供了多种工作流模式,帮助开发者快速构建企业级应用程序。本文档对 FireWorkflow 3 中各种工作流模式...
最后,调试和优化代码以确保`fireworkflow`与MyEclipse的集成无误。这可能涉及到解决编译错误、调整代码以适应MyEclipse的编码规范,以及优化项目结构以提高开发效率。 总的来说,集成`fireworkflow`到MyEclipse中...
FireWorkFlow的Silverlight工作流设计器就利用了这一技术,为用户提供了一个直观且用户友好的环境,以便在浏览器中设计复杂的工作流模型。 在使用FireWorkFlow的Silverlight工作流设计器时,开发人员可以通过拖放...
《疯狂Workflow讲义——基于Activiti的工作流应用开发》首先对Activiti的基础知识进行讲解,并从源代码的实现上讲解Activiti各个模块的API。此外详细讲述了BPMN 2.0规范的内容,包括目前Activiti对该规范的实现情况...
为什么要写Fire Workflow 本人从事企业MIS 系统开发很多年头了,感觉MIS 系统很多领域都有比较好的解决方 案并已成为事实标准,例如Spring,Hibernate 等等;然而工作流还没有令人满意的开源产 品。我了解过的工作流...
1. 入门指南:这份文档通常会介绍fireworkflow的基本概念,如工作流、节点、任务、流程定义等,帮助初学者快速理解框架的工作原理。同时,它还会提供安装步骤、环境配置以及第一个示例的创建过程,让开发者能够迅速...
"Fire Workflow工作流开发程序包"是一个专门针对工作流管理系统的开发工具,旨在帮助程序员和系统架构师设计、实现和管理复杂的工作流程。这个程序包包含了一整套用于工作流开发的工具和资源,旨在提高工作效率,...
1. **模型定义**:FireWorkflow支持通过图形化界面创建和编辑工作流模型。用户可以通过拖拽活动和连接线来构建流程图,每个活动都有特定的属性和行为。 2. **实例生成**:当一个新工作流实例被触发时,工作流引擎会...
Fireworkflow是一款强大的工作流管理系统,它能够帮助企业和组织自动化、优化业务流程,提高工作效率。这份“fireworkflow常用文档整理”包含了一系列与Fireworkflow相关的详细资料,旨在为学习者提供一个全面的学习...
网络资源,只供参考,版权原...疯狂Workflow讲义——基于Activiti的工作流应用开发.part1.rar 疯狂Workflow讲义——基于Activiti的工作流应用开发.part2.rar 疯狂Workflow讲义——基于Activiti的工作流应用开发.part3.rar
1. **workflow.xml**:这是FireWorkflow的主要配置文件,定义了流程定义,包括各个步骤、条件、参与者和任务流转规则。 2. **instance-config.xml**:这个文件通常用于配置流程实例的行为,如启动新实例的规则、...
NULL 博文链接:https://nychen2000.iteye.com/blog/322169
总结,FireWorkflow是一个包括模型、引擎和设计器的完整工作流管理系统。模型部分定义了流程的各种元素及其关系,引擎负责解释执行流程,而设计器则提供了流程编辑、模拟等功能。通过熟练掌握FireWorkflow,我们可以...