1、废除ProcessInstance,ActivityInstance,WorkItem对 IRuntimeContextAware, IWorkflowSessionAware两个接口的实现
1.0引擎设计中一个最大的败笔就是让ProcessInstance,ActivityInstance,WorkItem这3各对象实现 IRuntimeContextAware, IWorkflowSessionAware这两个接口,把一个较为纯粹的POJO搞得不伦不类。
改变这个实现将对API造成小小的变动,相关的操作都需要一个WorkflowSession作为入口参数,如:WorkItem.claim()变成WorkItem.claim(WorkflowSession session)
2、再论“工作流数据 vs 业务数据”
1.0版本中,将业务特征数据填充到TaskInstance的扩展类中造成了大量的数据冗余,非常不合理,将考虑填充到ProcessInstance的扩展类中。
我还是认为将业务特征数据在流程系统中进行一定的冗余是一个好的想法,有利于流程系统和业务系统解偶,从而为流程系统独立运行打下基础。
3、任务分配
3.1 1.0版任务分配的缺点
1.0版的任务分配设计有如下几个缺点:
A) T_FF_RT_WorkItem表表示资源的字段仅仅只有ActorId,不利于统计查询。
B) 1.0版的资源只能采用“前期绑定”的方式,即WorkItem创建时绑定操作者到该WorkItem。在某些情况下,“前期绑定”不适合,例如:当某个角色的成员众多时,效率较为低下;当角色的成员无法确定时,该方案无法绑定操作者。
3.1 2.0版本改进的方向
首先,T_FF_RT_WorkItem将增加ActorName, DepartmentId, DepartmentName等字段,方便系统进行业务统计
2.0版本将增加资源“后期绑定”方式,后期绑定的意思是,在WorkItem创建的时候并不解析角色中的具体成员,仅将WorkItem分配给角色;只有当角色中的成员签收该WorkItem后才将WorkItem绑定到特定的成员。
但是系统默认采用“前期绑定”。前期绑定的优点是查询待办工作项方便,容易实现自动委派等需求。“后期绑定”仅在前期绑定不能实现业务需求的情况下使用。
2.0版本将增加WorkItem.disclaim()接口,即“退签收”。退签收的WorkItem将被重新分配给其他操作者,或者退回到“工单池”,以便于其他操作者签收。
2.0版本将增加适当的管理接口,可以将尚未完成的TaskInstance的WorkItem进行重新分配,或者追加操作者。
2.0的Performer将增加Type属性,如Role, Team, Department,等等,便于AssignmentHandler进行更加精确的操作员解析。
2.0版本中IAssignable.assignToActor(String actorId) 接口参数将发生变化,由actorId变成一个Actor对象。Actor对象包含id, name ,departmentId ,departmentName等信息。
分享到:
相关推荐
"Fire Workflow 2.0" 是一个基于Java的工作流程管理系统,专为自动化和优化业务流程设计。这个系统的核心目标是提高效率,确保流程的一致性和可跟踪性。在这个版本中,我们可以看到一些重要的升级和改进,尤其是在...
FireWorkflow 3 是一种流行的工作流引擎,用于实现复杂的业务流程。该引擎提供了多种工作流模式,帮助开发者快速构建企业级应用程序。本文档对 FireWorkflow 3 中各种工作流模式的实现进行了整理,旨在帮助开发者更...
FireWorkFlow的Silverlight工作流设计器还可能提供了一些高级特性,如自定义活动、表单设计、规则引擎集成等。自定义活动允许开发人员扩展标准库,以满足特定的业务需求。表单设计则可以与工作流紧密结合,为用户...
Fire Workflow的核心是工作流引擎,它能够自动执行预定义的业务流程。这些流程可以是审批流程、订单处理流程或其他任何需要步骤化操作的业务场景。工作流引擎通过解析流程定义文件,根据业务规则动态调度任务,确保...
2. **流程设计**:开发手册会介绍如何使用FireWorkFlow提供的设计工具或API创建流程图,包括定义开始、结束节点,设置任务流转规则,以及处理并发分支和合并。 3. **任务管理**:FireWorkFlow中的任务管理涉及到...
为什么要写Fire Workflow 本人从事企业MIS 系统开发很多年头了,感觉MIS 系统很多领域都有比较好的解决方 案并已成为事实标准,例如Spring,Hibernate 等等;然而工作流还没有令人满意的开源产 品。我了解过的工作流...
本篇文章将详细介绍如何将`fireworkflow`工作流引擎集成到MyEclipse中,以便于开发人员进行更高效的工作。 `fireworkflow`是一个开源的工作流引擎,它提供了一种灵活的方式来管理业务流程。它可以被用于自动化企业...
《疯狂Workflow讲义——基于Activiti的工作流应用开发》还讲解了如何在实际企业应用中使用Activiti,并与其他流行的开源框架进行整合,包括企业应用开发所必需的Web Service、企业服务总线、规则引擎、IoC框架和ORM...
fireworkflow是一款强大的工作流引擎,它允许开发者在应用程序中实现复杂的业务流程自动化。这个压缩包文件包含了从入门到进阶的各种文档,以及常用的jar库,确保开发者能够高效地进行fireworkflow的开发工作。 一...
FireWorkflow的核心是基于规则的工作流引擎,它负责解析和执行预定义的工作流模型。工作流模型通常由一系列活动(如任务、审批、通知等)和它们之间的流转规则构成。这些规则定义了工作流实例如何在不同参与者之间...
NULL 博文链接:https://nychen2000.iteye.com/blog/322169
2. **Fireworkflow功能** - **流程设计**: 提供图形化的流程设计器,用户可以直观地创建和编辑工作流。 - **任务管理**: 自动分配任务,支持多种任务分配策略,如优先级、责任人工、定时等。 - **表单设计**: ...
"Fire Workflow工作流开发程序包"是一个专门针对工作流管理系统的开发工具,旨在帮助程序员和系统架构师设计、实现和管理复杂的工作流程。这个程序包包含了一整套用于工作流开发的工具和资源,旨在提高工作效率,...
总结,FireWorkflow是一个包括模型、引擎和设计器的完整工作流管理系统。模型部分定义了流程的各种元素及其关系,引擎负责解释执行流程,而设计器则提供了流程编辑、模拟等功能。通过熟练掌握FireWorkflow,我们可以...
FireWorkflow是一款强大的工作流引擎,它帮助企业或组织实现自动化业务流程管理,提高工作效率。在这个主题中,我们将深入探讨流程实例跟踪图的重要性和相关配置文件。 流程实例跟踪图是FireWorkflow系统的核心功能...