一般工作流管理系统分为,流程引擎,电子表单系统(自定义表单),流程设计器,流程管理监控平台等主要模块。流程引擎和电子表单系统应该是弱耦合的,各自都能独立的完成功能。
同时流程引擎和电子表单都设计好接口事件等,便于相互集成或和其它系统的集成。
一、流程引擎的事件接口:
流程定义描述时候,步骤节点,动作节点,动作结果节点,均设置有前置后置事件函数;
当流程流转到这些节点时,会触发节点的前置事件函数;
当离开节点时,会触发后置事件;
注:但是流程引擎驱动电子表单不是用事件接口的方式来实现:流程引擎的动作节点中有个view属性,挂接表单的url,当流程运行到此动作节点时,即读出view属性的url,打开并运行此表单。此表单可以是eform自定义工具定义的表单,也可以是用户自主开发的jsp页面等。
节点的前置后置事件函数:
所有的前置后置函数都统一实现一个接口FunctionProvider
FunctionProvider.java接口,只有一个方法execute,所有实现此接口的类,都需要实现这个方法。
public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException;
Map transientVars:流程上下文信息可以从此map中获得;
Map args :节点定义时候的参数可以从此map中获得;
PropertySet ps:流程实例中的持久化变量从此获得。
条件节点的判断函数接口:
流程引擎的动作结果中可以定义条件,工作流引擎定义了一些内置的条件判断,也可以通过实现Condition.java接口,扩展出一些自定义的条件判断函数。
Condition.java接口中只有一个方法,所有实现此接口的条件函数都必须实现此方法:
public boolean passesCondition(Map transientVars, Map args, PropertySet ps) throws WorkflowException;
Map transientVars:流程上下文信息可以从此map中获得;
Map args :节点定义时候的参数可以从此map中获得;
PropertySet ps:流程实例中的持久化变量从此获得。
在条件节点定义的时候,引入此条件判断函数,在流程运行的时候,引擎中就执行自定义函数中的passesCondition()函数,返回真假结果。
二、电子表单的事件接口:
所有电子表单的事件接口类:

所有的事件注册的类:

此类负责注册前置后置事件类,并利用反射实例化前置后置事件类。
例如 电子表单的保存前置后置事件,先注册在此类中,cn.com.fcsoft.eworkflow.WorkflowDoAction.java类为的电子表单保存后执行的事件,此类负责在电子表单保存后,继续执行流程的递进。
所有电子表单中的事件前置后置函数均实现EventProvider接口,定义的类均在EventResolver类内注册,利用反射机制,在需要触发的地方得到类的实例,执行execute()方法,执行自定义的事件功能。
相关链接:
web工作流管理系统开发之一 工作流概念
web工作流管理系统开发之二 工作流引擎
web工作流管理系统开发之三 可视化流程设计器
web工作流管理系统开发之四 集成工作流与自定义表单
web工作流管理系统开发之五 开源osworkflow之用户系统改造
web工作流管理系统开发之六 表单权限与流程的权限控制
web工作流管理系统开发之七 最新修改的版本下载
web工作流管理系统开发之八 开源osworkflow之任务管理
web工作流管理系统开发之十 数据库连接及事务设定
web工作流管理系统开发之十一 流程数据与业务数据的交互
web工作流管理系统开发之十二 同一张表单在流程多节点中流转的权限控件
web工作流管理系统开发之十三 流程与电子表单集成之事件实现篇
web工作流管理系统开发之十四 流程设计器属性页面之实现篇
分享到:
相关推荐
在信息技术领域,工作流管理系统(Workflow Management System,简称WFMS)是用来定义、管理和执行工作流程的软件系统。它通过自动化的软件组件来协调组织内部的工作,管理各工作单元按照预先定义的流程依次完成任务...
3. jBpm:jBpm是一个灵活且可扩展的工作流管理系统,支持业务流程的建模和执行。它使用简单强大的语言来表达业务流程,并且可以与J2EE环境无缝集成,包括Web应用程序和调度程序。 4. OpenEbXML:OpenEbXML项目专注...
【基于SOA柔性的审批流程管理系统研究与实现】 在当今高等教育环境中,电子校务管理系统扮演着至关重要的角色,尤其在面对日益变化的办学模式时,系统需具备灵活适应的能力。传统的静态流程管理系统已无法满足这一...
3. jBpm:jBpm是一个灵活可扩展的工作流管理系统。它可以使用简单强大的语言表达业务流程,并将其打包在流程档案中。jBpm还包括一个Web应用程序和一个日程安排程序。 知识点:工作流管理、业务流程自动化、Java语言...
2. 自动化操作:SSH框架中的工作流管理系统可以实现任务的自动化,例如自动发送电子邮件通知、通过即时通讯工具同步更新等,这极大地提高了组织内部沟通的实时性。 3. 适应性:随着全球化企业的发展,工作流管理...
《Java Web电子商务管理系统详解》 Java Web技术在电子商务领域的应用广泛且深入,它以其稳定、高效和可扩展性成为构建大型商务系统的重要选择。本文将围绕"java web电子商务管理系统.rar"这一主题,深入探讨其中...
第一篇 jBPM工作流开发基础 1 第1章 工作流基础 2 1.1 工作流概念 2 1.1.1 工作流管理思想之于企业现代化管理 2 1.1.2 工作流技术在企业中的应用 5 1.1.3 如何从一个开发者的角度看工作流技术 6 1.2 工作流管理系统...
系统采用了ASP.NET技术,结合C#编程语言和开发环境Visual Studio 2008,以及数据库管理系统SQL Server 2005来实现。这个系统的主要目标是优化商品的进销存管理,订单处理,以及提供报表统计功能,从而提高仓库作业...
- **通用型科学工作流管理系统的开发与优化**:旨在提高系统的性能和易用性,以适应不同领域的科研需求。 - **科学工作流的建模与可视化**:通过模型和图形界面帮助科研人员更好地理解和设计复杂的工作流。 - **来源...
2. **jBpm**:一个灵活可扩展的工作流管理系统,使用简单强大的语言表达业务流程,并支持流程档案。它结合了工作流应用开发的便利性和企业应用集成(EAI)能力。 3. **OpenEbXML**:该项目专注于提供一个ebXML框架...
3. **jBpm** - 是一个功能强大且灵活的工作流管理系统,支持简单而强大的流程表达,适用于 J2EE 环境。它包括一个 Web 应用和调度程序,同时具备出色的集成能力。 4. **OpenEbXML** - 致力于提供 ebXML 框架,支持 ...
### 基于Web2.0的通用企业信息管理系统设计 #### 1. 需求分析与系统目标 在当前计算机自动化管理日益普及、全球信息化发展的大背景下,企业面临着电子化信息处理与网络化服务的巨大挑战。对于众多中小企业而言,...
工作流管理系统的核心功能包括: 1. 工作流程设计:系统提供图形化的工作流程设计器,允许用户根据业务需求创建和定制流程图。这包括定义任务、审批节点、决策点、循环和分支,以模拟实际操作中的每一个步骤。 2. ...
Struts+Hibernate+Spring是Java领域中非常流行的Web开发架构,被称为SSH...在实际项目中,SSH框架经常被用于构建电子商务网站、企业管理系统等复杂应用。因此,熟悉并掌握SSH框架是提升Java Web开发技能的重要步骤。
### 三、开发流程与功能实现 #### 3.1 服务器设置 首先,需在Linux环境下安装并配置Apache、MySQL和PHP,确保它们能够协同工作,为后续的开发打下坚实基础。 #### 3.2 数据库设置 - **创建数据库和数据表**:根据...
同时,持续集成和持续部署(CI/CD)也是现代软件开发流程的关键部分,可以确保代码质量并加快迭代速度。 综上所述,用ASP.NET构建物资流通管理系统涉及到了Web开发的多个层面,包括前端设计、后端开发、数据库管理...
根据描述,新版安克急救管理系统在界面上进行了全面升级,并且引入了标准化模块、工作流等核心功能。 #### 二、系统特性与功能 ##### 1. 全新的界面设计 - **特点**:新版采用了更为直观和友好的用户界面设计。 - ...