MF5 的设计宗旨是提供低调、简单、实用、可靠 的工作流程控制、定制、监控平台。

原创 2006年05月28日 12:09:00
MF5 流程定制 节点对象 说明:hairui 2006-5-28 北京 QQ:562619261
 
一、总述
MF5 的设计宗旨是提供低调、简单、实用、可靠 的工作流程控制、定制、监控平台。
同业务密切结合,使用 Acegi 业务及安全况架的角色授权机智,使用Acegi 业务及安全况架的业务模型,实现业务数据的有状态及持久化。
 
MF5 本身只负责业务流程的流转控制,业务过程的业务规则及业务逻辑在Acegi 业务及安全况架下实现。
 
MF5 只提供界面模型中的流程定制、监控界面 及相关的辅助界面。同时提供基于 Windows 的窗口界面 和 基于 WEB 的图形界面。一般情况下,使用 Windows 窗口界面进行流程定制及修改维护,使用 WEB 图形界面进行流程监控、回退等。
 
MF5 没有实现子过程、过程块、以及并行节点等模型,因为这些功能在实际业务中很少用到,考虑到 MF5 的设计宗旨就舍弃掉了这些复杂的功能。MF5 承诺在遇到相关的上述需求的时候能使用本身的功能折中实现。
 
MF5 提供了流程版本,流程追回,MF5-MF5之间的同步、异步协作,SSO,等非常实用的功能,相比其它同类的工作流平台非常的实用。
 
MF5 Acegi 结合提供一流的安全控制功能,在业界遥遥领先。
 
MF5 是一个完全面向对象技术实现的平台,使用的是 MF7 的对象状态及持久技术。
MF7 里多个对象将组合成一个业务域,从而实现整个 MF7的设计宗旨,面向过程域的业务操作系统。
 
二、节点对象
1、  开始节点
业务开始,创建业务对象,初始化业务对象。
由流程请求者发起,并将业务对象引用给转移对象。
 
 

2、  业务节点对象
有界面的业务节点,接受上级转移对象的引用。
完成对象的相关值修改,将对象应用给下级转移对象。
 
 
 

3、  程序过程对象
无界面的业务节点,接受上级转移对象的引用。
完成对象的相关值修改,将对象应用给下级转移对象。
 
 

4、  条件对象
   接受上级转移对象的引用。根据本身设置的对象属性跟上级业务对象的属性的值进行比较,根据设置的条件进行选择转移给下级转移对象。
 
 

5、  转移对象
接受前置节点的对象,将对象转移给后置节点。
 
 

6、  结束对象
接受对象,完成最后的数据变更。销毁业务对象。流程结束。
 
 
 

三、示例流程
 

说明:
1、  一个业务流程对应设计一个业务对象,就是一个普通的 POJO,受Spring 的监管。
而且MF5 只支持一个流程对应一个业务对象。保证流程流转过程中的对象一致性。
 
2、  转移条件的判断根据业务对象的属性,因为流程前后使用一个业务对象,所以保证转移条件的一致性。
 
3、  在开始节点创建对象,在结束节点销毁对象。在运行时异常回退到最新状态,就是说这一步没成功等于没做。在运行时服务器关闭重起则自动恢复到最新状态,使用的是对象状态技术及持久化技术。初始化和销毁对象的相关逻辑需要编码。
 
4、  所有的节点对象的值对象引用的都是同一个业务对象,就是流程的业务对象。
 
四、后记
写这个说明就是给那些关心MF5 的朋友,通过这些文字能对 MF5 产生兴趣。
当然这只是写给那些行家的文字,虽然文字的篇幅很少,但基本体现了 MF5 的核心思想。
MF5 确实是一个很低调,实用,可靠的平台。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Javascript高级程序设计——5.流程控制语句

1、if条件判断语句 ECMAScript中会把if语句括号里的表达式自动变为布尔值,若为true,执行;反之,不执行。 a、if语句 (1)简单语句(只会执行一句if后的语句) var ...

5.偏头痛杨的Java入门教学系列之流程控制语句篇

复习 1.Java有多少种数据类型,数据类型的分类? 2.Java的工作机制? 3.自定类型转换与强制类型转换的规则? 4.什么是变量,如何定义变量?Java中有多少种变量?分别是什么以及区别? ...

理解C语言——从小菜到大神的晋级之路(5)——程序流程控制

C语言中的控制流语句用于决定代码中各个语句的执行顺序。通常程序的运行次序的结构有顺序结构、选择结构和循环结构。 1、顺序结构 在正常情况下,C程序都是从main函数的起始位置开始,按由上到下...

HTML5独家分享:原生JS学习笔记2——程序流程控制

当当当当 。。。。。楼主又来了!新一期的JS学习笔记2——程序流程控制更新了! 想一键获取全部JS学习笔记的可以给楼主留言哦! js中的程序控制语句   常见的程序有三种执行结构:  ...

php基础知识 5.流程控制 和格式化日期时间 和终止程序执行

流程控制:主要有俩种 ,一种分支语句,一种循环语句 max(123,22,343434):找出最大值 min(123,22,343483888):找出最小值 分支语句 :1,if()        ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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