应用jBPM4解决中国特色的流程需求
jBPM是JBoss众多开源项目中的一个工作流开源项目,也是目前应用最广泛的工作流项目。在今年的7月10号,JBoss jBPM团队正式发布了jBPM4的正式版。jBPM4完全基于流程虚拟机(PVM)的机制,对核心引擎进行了重新设计,而PVM的引入也使得jBPM4 可以支持多流程语言了 ### 应用jBPM4解决中国特色的流程需求 #### jBPM4的特点及其对中国流程需求的支持 **一、jBPM4的核心特点** jBPM4作为一个革命性的升级版本,其核心特点是基于流程虚拟机(PVM)的机制重新设计了整个核心引擎。这一改变不仅提高了jBPM4的灵活性和扩展性,还使其能够支持多种流程定义语言。具体而言,jBPM4的革新之处在于: 1. **流程定义对象的变化**:jBPM4在流程定义的对象模型上进行了大幅度改进,节点类型划分更加清晰明确。相较于jBPM3,新版本提供了更细致的对象解析能力,使得流程设计更为精确和高效。 2. **基于观察者模式的Event-Listener机制**:在jBPM4中,活动节点对象(ActivityImpl)、转移对象(TransitionImpl)和流程定义对象(ProcessDefinitionImpl)均继承自ObservableElementImpl对象,这意味着它们都可以作为观察者模式中的被观察者,并且可以直接支持注册各种事件(Event),由Listener来监听这些事件。这种机制极大地增强了事件处理的灵活性和扩展性。 3. **基于ExecutionImpl、Command模式和AtomicOperation实现的引擎调度**:jBPM4采用了一种全新的调度机制,通过ExecutionImpl对象替代了jBPM3中的Token机制。流程的流转依赖于ExecutionImpl对象调用各个AtomicOperation原子操作(如ExecuteActivity、MoveToParentActivity、TransitionTake等)来进行推进。这种方式提高了引擎的执行效率和可靠性。 4. **历史库的加入**:jBPM4增加了历史库的功能,这对于大数据量的软件系统来说至关重要。虽然该功能的加入解决了历史数据存储的问题,但在实际应用中还需要进一步完善,比如记录任务历史时的细节问题等。 **二、国内人工任务密集型流程的典型特点** 中国的工作流应用主要集中在人工任务密集型领域,这类流程通常具有以下特点: 1. **用户友好的流程定义工具**:尽管完全由最终用户设计流程不太现实,但提供一个基于Web的、简单易用的流程设计器仍然非常必要,以便业务用户可以方便地对已有流程进行改进。 2. **表单自定义**:用户可以根据业务需求自定义表单,同时还需要轻松实现表单与流程任务的绑定以及对不同环节处理人的表单权限设置。 3. **灵活的临时动态性需求**:包括任意回退、会签(加签、减签、补签)、撤销、自由流等功能,这些需求反映了中国特有的流程需求。 **三、应用jBPM4解决国内的典型流程需求** **3.1 用户友好的流程定义工具** jBPM4提供了强大的流程定义工具,支持图形化界面设计流程。用户可以通过拖拽等方式快速构建流程模型,并通过可视化的方式直观地展现流程逻辑。此外,jBPM4还支持BPMN2.0标准,进一步提升了流程定义的标准化水平。 **3.2 表单自定义** 为了满足表单自定义的需求,jBPM4可以集成第三方表单引擎,如JBoss Forms。这种方式使得用户可以在不改变原有业务逻辑的前提下,灵活调整表单内容,并确保表单与流程任务之间的绑定简单快捷。此外,还可以利用jBPM4提供的API实现表单权限控制,确保不同环节的处理人只看到与其职责相关的表单信息。 **3.3 灵活的临时动态性需求** 针对中国特色的流程需求,jBPM4提供了一系列高级特性,如动态路由、会签机制等。这些功能使得用户可以轻松实现任意回退、会签等功能,极大地提高了流程的灵活性和适应性。例如,通过配置特定的活动节点或过渡规则,即可实现回退、会签等操作,从而满足复杂多变的实际业务需求。 jBPM4凭借其强大的功能和灵活性,能够有效地解决中国特色的流程需求,为中国企业提供了一套完整的工作流解决方案。无论是从流程设计、表单自定义还是灵活的动态需求处理等方面来看,jBPM4都能够提供有力的支持,帮助企业在不断变化的市场环境中保持竞争力。
剩余12页未读,继续阅读
- elfertower2011-12-16比较受用,虽然只讲解了概念未涉及具体实现方式。。。
- 粉丝: 1
- 资源: 47
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 纯真IP库,用于ip查询地址使用的数据库文件
- 基于javaweb的动漫网站管理系统毕业设计论文.doc
- 废物垃圾检测28-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 探索CSDN博客数据:使用Python爬虫技术
- 基于tensorflow和cnn做的图像识别,对四种花卉进行了分类项目源代码+使用说明,可识别:玫瑰花、郁金香、蒲公英、向日葵
- 基于Java的电影订票网站的设计与开发毕业设计论文.doc
- ODrive 固件 0.5.6
- 停电自动关机程序.EXE
- RabbitMQ 的7种工作模式
- 基于java的大学生二手书在线买卖系统论文.doc