- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用jBPM4解决中国特色的流程需求.
应用jBPM4解决中国特色的流程需求
1、jBPM4的特点
jBPM是JBoss众多开源项目中的一个工作流开源项目,也是目前应用最广泛的工作流项目。在今年的7月10号,JBoss jBPM团队正式发布了jBPM4的正式版。jBPM4完全基于流程虚拟机(PVM)的机制,对核心引擎进行了重新设计,而PVM的引入也使得jBPM4可以支持多流程语言了。除此之外还有很多其它的特点:
l?流程定义对象的变化
在流程定义的对象上,节点类型划分更清晰,详细的对象解析,可参见我曾经写过的文章:《jBPM3与jBPM4实现对比》。
l?基于观察者模式的Event-Listener机制
在jBPM4中活动节点对象ActivityImpl、转移对象TransitionImpl、流程定义对象ProcessDefinitionImpl,全部继承了ObservableElementImpl对象,因此组成流程定义的三个主要元素都可作为观察者模式中的被观察者来观察,而这些对象本身就直接支持注册各种Event,然后由Listener来监听这些Event。
l?基于ExecutionImpl、Command模式和AtomicOperation实现的引擎调度
在jBPM4中用ExcutionImpl替掉了jBPM3中Token机制,流程的流转,依赖于ExcutionImpl调用各个AtomicOperation原子操作(ExecuteActivity、MoveToParentActivity、TransitionTake、TransitionStartActivity、ExecuteEventListener、TransitionEndActivity)进行推进,而ExecutionImpl在各个实例对象之间进行转移,详细情况同样参见《jBPM3与jBPM4实现对比》中的”流程启动序列图”和”流程推进序列图”。(注:当时的那篇文章是基于jBPM4 alpha版本写的,在正式版中有一些变化。)
l?历史库的加入
作为任何一个正式运行的大数据量的软件系统来讲,没有历史库的切分肯定只能当作玩具,而jBPM3没有任何的处理,必须由开发人员自己来解决。在jBPM4中终于加入了这个功能,不过我认为目前Jbpm4的历史库设计还是存在一些问题的,例如,它是在活动(或任务)结束时,直接将数据归入历史库,实际上我认为这是没有必要的,我认为在整个流程实例结束时去做这个事情反而更好一些。其次,在将运行期的实例归入历史库时,并不是将所有数据都进行了copy,这就造成了在历史库中丢掉了一些运行期的数据属性。还有任务历史库中没有针对task candidates参与模式的任务拾取时间的记录导致无法做绩效统计等。
2、国内人工任务密集型流程的典型特点
中国目前在工作流领域主要的应用是人工工作流,也就是以人工任务密集型的工作流为主。当然随着中国企业和公共组织的信息化发展越来越快,IT系统的积累和建设经验也越来越丰富,因此以自动任务密集型为主的应用正在逐渐增多。但本文主要的还是讲述人工任务密集型工作流的特色、需求、场景及实现。这种类型的流程应用,主要集中在以下领域如:电子政务,行政审批,企业协同办公,电信、电力之工单,企业采购、合同、销售等。
从功能需求上来说,这些人工任务密集型流程的典型特点主要有以下几个方面:
1)、用户友好的流程定义工具,就是说由业务用户自己对流程进行定义。其实这是一个伪命题,因为此处讲的流程是可以run的,与业务系统有紧密的关系,完全地让最终用户来设计一个这样的流程是不现实的(即使是不可以run的BPMN同样也很困难,需要进行大量的培训)。但是业务用户是可以对已经建立好的流程进行改进的(呵呵,此处就是BPI的一个体现),因此提供一个基于WEB的,简单易用的、用户友好的流程设计器是非常有必要的。
2)、表单自定义,就是说能有一个可高度定制的表单设计器,用户可以随时根据业务需求进行调整,或者新建表单,这个需求对于有“语义层”的form engine来讲是可以实现的。那么除了表单自定义以外,当然还要能实现表单与流程任务的轻松绑定及表单权限的设定,使得不同环节的处理人能够对表单的不同域有不同的读写权限。
3)、灵活的临时动态性需求,例如:任意回退、会签(包括加、减签,补签)、撤销(又叫回退)、自由流(又叫动态路由)。此处之所以叫做灵活的临时动态性需求,就是因为这些需求,存在着很强的人为性因素(呵呵,此处才是真正的中国特色)。
3、应用jBPM4解决国内的典型流程需求
3.1用户友好的流程定义工具
关于流程自定义,jBPM4本身提供了基于eclipse的plugin,可以让开发人员来进行流程的建模,但是我们不可能让一个业务流程管理员去下载使用Eclipse,因此我发起了一个基于jBPM
您可能关注的文档
- 应收账款的核算及管理..doc
- 应收账款的融资问题..doc
- 应收账款的风险防范及其分析..doc
- 应收账款相关的法律关系..doc
- 应收账款管理调查分析..doc
- 应收账款融资担保方式及其制度选择..doc
- 应收账款风险的衡量与防范..doc
- 应收账款风险管理现状范文..doc
- 应收账款风险管理与防范..doc
- 应更为关注炼焦煤气的资源性开发提升行业竞争力MicrosoftWord文档..doc
- 2023届黑龙江哈尔滨第三中学高三二模英语试题 (解析版).docx
- 三校生对口升学考试计算机专题复习试题及答案解析.pdf
- 2023届江西省鄱阳县第一中学高三一模英语试题(原卷版).docx
- 2024届甘肃省高三下学期二模物理试题(解析版).pdf
- 2023届江苏省南京市等2地南京市教育科学研究所等2校一模英语试题(原卷版).docx
- 2023届江西省萍乡市芦溪中学高三一模英语试题(解析版).docx
- 2024届甘肃省高三二模语文试题(原卷版).pdf
- 2023届河南省郑州市高中毕业年级第二次质量预测英语试题(解析版).docx
- 2023届江西省抚州市金溪县第一中学等七校高三下学期第一次联考英语试卷(原卷版).docx
- 2023届吉林省吉林市普通中学高三上学期第二次调研测试英语试题(解析版).docx
文档评论(0)