`
eworkflow
  • 浏览: 221146 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web工作流管理系统开发之十三 流程与电子表单集成之事件实现篇

阅读更多

一般工作流管理系统分为,流程引擎,电子表单系统(自定义表单),流程设计器,流程管理监控平台等主要模块。流程引擎和电子表单系统应该是弱耦合的,各自都能独立的完成功能。

 

同时流程引擎和电子表单都设计好接口事件等,便于相互集成或和其它系统的集成。

 

 

一、流程引擎的事件接口:

 

流程定义描述时候,步骤节点,动作节点,动作结果节点,均设置有前置后置事件函数;

当流程流转到这些节点时,会触发节点的前置事件函数;

当离开节点时,会触发后置事件;

 

注:但是流程引擎驱动电子表单不是用事件接口的方式来实现:流程引擎的动作节点中有个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工作流管理系统开发之十四 流程设计器属性页面之实现篇

 

3
1
分享到:
评论

相关推荐

    论文研究-基于WEB干部任免工作流模型的研究与实现 .pdf

    在信息技术领域,工作流管理系统(Workflow Management System,简称WFMS)是用来定义、管理和执行工作流程的软件系统。它通过自动化的软件组件来协调组织内部的工作,管理各工作单元按照预先定义的流程依次完成任务...

    java 工作流简介

    3. jBpm:jBpm是一个灵活且可扩展的工作流管理系统,支持业务流程的建模和执行。它使用简单强大的语言来表达业务流程,并且可以与J2EE环境无缝集成,包括Web应用程序和调度程序。 4. OpenEbXML:OpenEbXML项目专注...

    基于SOA柔性的审批流程管理系统研究与实现.pptx

    【基于SOA柔性的审批流程管理系统研究与实现】 在当今高等教育环境中,电子校务管理系统扮演着至关重要的角色,尤其在面对日益变化的办学模式时,系统需具备灵活适应的能力。传统的静态流程管理系统已无法满足这一...

    Java开源工作流引擎.pdf

    3. jBpm:jBpm是一个灵活可扩展的工作流管理系统。它可以使用简单强大的语言表达业务流程,并将其打包在流程档案中。jBpm还包括一个Web应用程序和一个日程安排程序。 知识点:工作流管理、业务流程自动化、Java语言...

    基于ssh的工作流公司管理系统的研究毕业(论文)设计正文.doc

    2. 自动化操作:SSH框架中的工作流管理系统可以实现任务的自动化,例如自动发送电子邮件通知、通过即时通讯工具同步更新等,这极大地提高了组织内部沟通的实时性。 3. 适应性:随着全球化企业的发展,工作流管理...

    java web电子商务管理系统.rar

    《Java Web电子商务管理系统详解》 Java Web技术在电子商务领域的应用广泛且深入,它以其稳定、高效和可扩展性成为构建大型商务系统的重要选择。本文将围绕"java web电子商务管理系统.rar"这一主题,深入探讨其中...

    JBPM4工作流应用开始指南.rar

    第一篇 jBPM工作流开发基础 1 第1章 工作流基础 2 1.1 工作流概念 2 1.1.1 工作流管理思想之于企业现代化管理 2 1.1.2 工作流技术在企业中的应用 5 1.1.3 如何从一个开发者的角度看工作流技术 6 1.2 工作流管理系统...

    基于Web苏宁电器仓库管理系统设计与实现(论文+源码)-kaic.doc

    系统采用了ASP.NET技术,结合C#编程语言和开发环境Visual Studio 2008,以及数据库管理系统SQL Server 2005来实现。这个系统的主要目标是优化商品的进销存管理,订单处理,以及提供报表统计功能,从而提高仓库作业...

    科学工作流综述

    - **通用型科学工作流管理系统的开发与优化**:旨在提高系统的性能和易用性,以适应不同领域的科研需求。 - **科学工作流的建模与可视化**:通过模型和图形界面帮助科研人员更好地理解和设计复杂的工作流。 - **来源...

    工作流解决方案

    2. **jBpm**:一个灵活可扩展的工作流管理系统,使用简单强大的语言表达业务流程,并支持流程档案。它结合了工作流应用开发的便利性和企业应用集成(EAI)能力。 3. **OpenEbXML**:该项目专注于提供一个ebXML框架...

    JAVA开源工作流.docx

    3. **jBpm** - 是一个功能强大且灵活的工作流管理系统,支持简单而强大的流程表达,适用于 J2EE 环境。它包括一个 Web 应用和调度程序,同时具备出色的集成能力。 4. **OpenEbXML** - 致力于提供 ebXML 框架,支持 ...

    基于Web2.0的通用企业信息管理系统设计

    ### 基于Web2.0的通用企业信息管理系统设计 #### 1. 需求分析与系统目标 在当前计算机自动化管理日益普及、全球信息化发展的大背景下,企业面临着电子化信息处理与网络化服务的巨大挑战。对于众多中小企业而言,...

    工作流管理软件产品.pdf

    工作流管理系统的核心功能包括: 1. 工作流程设计:系统提供图形化的工作流程设计器,允许用户根据业务需求创建和定制流程图。这包括定义任务、审批节点、决策点、循环和分支,以模拟实际操作中的每一个步骤。 2. ...

    ssh学习 Web开发流行架构

    Struts+Hibernate+Spring是Java领域中非常流行的Web开发架构,被称为SSH...在实际项目中,SSH框架经常被用于构建电子商务网站、企业管理系统等复杂应用。因此,熟悉并掌握SSH框架是提升Java Web开发技能的重要步骤。

    PHP人事管理系统

    ### 三、开发流程与功能实现 #### 3.1 服务器设置 首先,需在Linux环境下安装并配置Apache、MySQL和PHP,确保它们能够协同工作,为后续的开发打下坚实基础。 #### 3.2 数据库设置 - **创建数据库和数据表**:根据...

    用ASP.NET实现简单的物资流通管理系统

    同时,持续集成和持续部署(CI/CD)也是现代软件开发流程的关键部分,可以确保代码质量并加快迭代速度。 综上所述,用ASP.NET构建物资流通管理系统涉及到了Web开发的多个层面,包括前端设计、后端开发、数据库管理...

    安克急救管理系统

    根据描述,新版安克急救管理系统在界面上进行了全面升级,并且引入了标准化模块、工作流等核心功能。 #### 二、系统特性与功能 ##### 1. 全新的界面设计 - **特点**:新版采用了更为直观和友好的用户界面设计。 - ...

Global site tag (gtag.js) - Google Analytics