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

转载 2016年10月14日 19:10:05

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

 

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

 

 

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

 

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

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

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

 

注:但是流程引擎驱动电子表单不是用事件接口的方式来实现:流程引擎的动作节点中有个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()方法,执行自定义的事件功能。

JAVA组件--电子表格--Formula One e.Spreadsheet Engine

这是一套“纯Java”报表制作工具,可用于根据原始业务数据动态生成格式丰富的Excel报表。是一款完全与Excel兼容的报表工具。 [主要特点] 1 Excel的数据透视表功能新> Formula O...
  • songliwei2005
  • songliwei2005
  • 2007年11月21日 13:27
  • 3030

Fixcel电子表单——介绍

概述 Fxicel电子表单主要提供了B/S系统上的表单设计,表单填写/提交,表单预览/打印这几部分的功能集,采用Flex技术研发,提供非常友好的丰富的用户体现。 管理系统的数据录入/上报是非...
  • hunkcai
  • hunkcai
  • 2011年03月30日 17:08
  • 2938

从原理分析审批流表单配置功能使用的问题

在工作流应用中,为用户提供了审批表单自定义或可配置功能,这类灵活、可配置的审批单,往往是服务于事件审批流,不适用于数据处理流程。为什么呢?先用一种解决方案进行原理分析。...
  • xiaoyw
  • xiaoyw
  • 2014年02月21日 15:46
  • 2385

HTTP详解-工作原理

http://blog.csdn.net/hguisu/article/details/8680808 1. HTTP简介          HTTP协议(HyperText Transfer Pr...
  • caolaosanahnu
  • caolaosanahnu
  • 2014年02月24日 13:39
  • 998

工作流管理系统开发之二 工作流引擎

工作流引擎,主要是实现业务流程的规则抽象,模型的建立,解释,以及为流程实例提供运行环境,并解释执行流程实例。       工作流引擎必须要包含一个工作流模型的设计,工作流模型就是对业务流程抽象的一个...
  • LikeLaura
  • LikeLaura
  • 2016年10月14日 17:42
  • 797

Shell十三问之七:()与{}差在哪

嗯,这次轻松一下,不讲太多... ^_^ 先说一下,为何要用 ( ) 或 { } 好了。 许多时候,我们在 shell 操作上,需要在一定条件下一次执行多个命令, 也就是说,要么不执...
  • NN179
  • NN179
  • 2013年01月06日 21:32
  • 296

Session的原理

一、session的本质 http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你。 那么,在一些场合,确实需要服务器记住当前用户怎么...
  • zhushuai1221
  • zhushuai1221
  • 2016年07月30日 13:04
  • 2210

HTML页面提交处理原理

HTTP请求 请求行 HTTP方法、版本号:GET/Testpage.html HTTP/1.1   HTTP报头 Accept:*/* Accept-Language:...
  • wildboy2001
  • wildboy2001
  • 2008年03月27日 08:53
  • 1171

SHELL十三问之十一:> 与 < 差在哪?

11.1BSD爱好者乐园;b8n)x1}^"x谈到 I/O redirection ,不妨先让我们认识一下 File Descriptor (FD) 。BSD爱好者乐园lk(YBn V5O...
  • ancky_zhang
  • ancky_zhang
  • 2009年09月23日 15:53
  • 739

工作流管理系统开发之十五 流程变量与表达式

工作流系统和业务系统的结合,不仅仅是表之间的关联(即流程实例id和业务数据的关联),还有很多变量的关联。 变量的关联表现在很多方面,通常都是在流程定义时,需要引入这些变量,辅助流程的定义。  ...
  • LikeLaura
  • LikeLaura
  • 2016年10月14日 19:15
  • 625
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:工作流管理系统开发之十三 流程与电子表单集成之事件实现篇
举报原因:
原因补充:

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