工作流和jbpm

1、什么是工作流,工作流本身是面向开发人员的一种术语,对于系统的使用者,概括来说就是业务流程,即多个参与者共同实施参与到一个业务流程当中,按照这个业务流程的步骤和规则执行完成,就是一个工作流。

 

2、为什么我们要使用工作流引擎,在软件的世界里面有一个很重要的思想,那就是工程化,借助于建筑的永恒之道,软件行业经过多年的积累,逐渐找到了适合自己的工程化道路,而在工程化的具体体现过程当中,就是希望能够形成稳定的核心的不变的东西,当发生变化的时候能够快速的应对,从而在规定工期里面能够高质量的完成工程,完成项目。工作流引擎就是帮助我们把变化和不变分离开来的一种软件思想,一个工具,使得我们能够快速的响应软件需求的变化,即策略模式,从而加快软件迭代周期,并且从技术架构来说使得系统更加的灵活,更加的易于扩展。从另外一方面来讲,其实我们可以完全不用工作流引擎,一样能够做出满足客户需要的功能,但是从某种意义上来说,我们只是在写demo,而不是在做工程,因为没有工作流引擎,我们应对不了变化。

 

3、什么是工作流引擎,工作流引擎就是帮助开发人员把业务流程当中的不确定性,频繁变化的部分抽离出来,只剩下核心不变的模块,使得业务流程开发更灵活,易于配置的软件框架。它的核心只有2个方面,第一个是定义流程,即定义规则,第二个是执行流程,即解释规则。工作流引擎很有多,无论开源还是商业闭源,每一个工作流引擎都有自己描述规则的一套方式,这种对规则的描述就是在定义这个流程规则,每个引擎的核心部分都会有自己的一套解释器来解释这项自定义的规则,从而使得业务流程能够按照既定的流程规则进行流转,最后完成整个业务流程。另外还有个比较重要的方面就是流程的设计器,流程的定义和设计语言每个引擎都不一样,在流程定义之中,如果只是单纯的敲击代码,是不能够体现定义流程的宏观思考性,针对性的,并且不方便。那么就要用一个UML工具的东西充当设计器,工作流引擎都具有这样的设计器。在设计器里,有2种参与者,第一种是面向开发者,就是开发者来定义流程,第二种是客户来定义流程,这种情况,必然就要设计一个相关的客户端页面给用户自定义这些东西,这样会更加的方便,使得客户觉得系统更加的灵活,更加的人性化,特别是对于一些流程管理运用很多的系统。

 

4、工作流引擎有很多,开源的工作流引擎主要有jboss JBPM, osworkflow, activiti,并且在流程管理系统当中已经形成了一些相应的标准,BPMN,业务流程管理标注,也逐渐运用到一些工作流当中,总之一句话,工作流引擎就是帮助开发人员完成复杂的业务流程定义,抽取出变化的部分,使得系统更松散,更灵活,更易于配置的框架,其中体现出面向对象的设计原则。

 

5、JBPM3和activiti5的作者都是当今最有名的流程设计者tom,这是一个经验非常丰富的工作流引擎开发专家,如果要研究开源的工作流引擎,可以从这两者其一选择入手,不需要过多的引擎,研究一种,搞通原理,基本上都是大同小异。

 

6、JBPM3是JBOSS旗下的产品,是一个开源的工作流引擎,是一个基于UML活动图这样的有向图为基础的引擎,在JBPM的流程定义中很多概念都来自于UML,就是从UML有向图起,来定义相关的业务流程,并在我们的业务系统当中调用相关的高层API实现流程的执行,从而完成整个业务流程的。

 

工作流很大,内部也非常复杂,有自己的DB schema,不同的引擎又有不同的区别,但是总体一点,只要深入掌握到

一些开发者的思想,就能化难为易,并且能够借助于引擎的原理应用到一些自身的业务系统,通常情况来说也就是引擎的设计思想,用到的设计模式,这些才是最重要的,而并不是调用下API实现流程流转就完事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值