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 ...
  • zxy9602
  • zxy9602
  • 2016年11月21日 17:58
  • 191

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(54)-工作流设计-所有流程监控

系列目录 先补充一个平面化登陆页面代码,自己更换喜欢的颜色背景 @using Apps.Common; @{ Layout = null; } ...
  • ymnets
  • ymnets
  • 2016年02月22日 13:01
  • 1088

C51程序设计03语句及流程控制[1]

  • 2014年09月15日 16:02
  • 656KB
  • 下载

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

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

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

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

C++学习笔记 5th —— 万能流程控制if语句 续篇:扩展与实际应用

.Hey, guys, I am back.额呵···好吧,这一篇是C++学习笔记 5st —— 万能流程控制if语句 续篇:实际应用OK,那么我们开始吧。······ ······ ······...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MF5 的设计宗旨是提供低调、简单、实用、可靠 的工作流程控制、定制、监控平台。
举报原因:
原因补充:

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