和传统的工作流平台不同的是,JBPM不需要独立的服务器,减少了硬件的成本投入,同时减低了应用部署的复杂度,使应用更加容易实现集群部署。企业可以把JBPM作为企业应用的组成部分,在它的基础上开发出自己的功能和模块。在应用部署的时侯,只需把JBPM作为Java Library发布统一发布就行了。
JBPM可以完整地记录流程的执行过程,每一步的操作都会被记录下来,存储到相关联的数据库中,以便审计和报表生成。
2.1 JBPM的结构特点
1.“嵌入式”的工作流引擎。可以在数据持久化、事务处理等各个方面与业务进行灵活的集成,完全支持嵌入式应用的业务流程开发框架。
2.可“插拔”的体系结构。JBPM采用了模块化的架构设计,采用了与SPRING相似的“IOC(依赖注入)”的设计理念,各模块之间比较方便地解除耦合或替换不同的实现,例如身份认证、日志服务、持久化、事务处理等,都由可选模块实现。
3.易扩展的流程语言。JBPM框架内置好流程定义活动,包括start,task,fork,join,decision等节点,是构建完整业务流程所必须的组成部分,它们提供了可以将业务逻辑Java代码和业务流程编排无缝衔接的绑定机制。文献综述
JBPM最大的特色是它的流程定义描述采用了自定义的一种简单而又强大的语言DL(Jboss JBPM Process definition language) ,而不是采用目前的一些规范,如BMPL、ebXML、BPEL4WS等。DL将整个业务流程当作一个UML状态图,利用状态图的各个节点的关系,节点间的变换,来表示各种关系,直观方便地表示整个业务流程。
另一个方面,对于数据库的使用问题。JBPM使用目前JAVA领域非常优秀的一种数据存储解决方案——Hibernate来管理数据库,使得JBPM只需自己专注于业务逻辑的出来,而不需去管理数据。