欢迎来到天天文库
浏览记录
ID:41510919
大小:2.40 MB
页数:49页
时间:2019-08-26
《jBPM54 文档翻译 部分未翻译,翻译的比较烂》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章概况1.1什么是jBPMjBPM是一个灵活的业务流程管理工具。它是轻量级的,完全开源的(在Apachelicense下),用java编写的。它允许你去建模,执行和监控业务流程的整个生命周期。一个业务流程允许你通过描述实现它的步骤和顺序,使用流程图去模型化你的业务目标。这极大地提高了业务逻辑的清晰性和敏捷性。jBPM专注于可执行的业务流程,通过使用能够被业务用户理解的领域相关的概念架起了业务用户和开发者之间的桥梁。Jbpm的核心是一个使用纯java编写的轻量级的,可扩展的工作流引擎,使用它可以执行使用最新的BPMN2.0规范定义的业务流程。它可以运行在任何java环境中或者是嵌入到应用
2、程序中或者是作为一个服务。在核心引擎的基础之上,提供了大量的特性和工具,对业务流程的整个生命周期进行支持:1.基于Eclipse和基于web的编辑器,以实现通过图形化界面操作业务流程2.可插拔的持久化和基于JPA/JTA的事务支持3.基于WS-HumanTask的可插拔的人工任务服务,以提供需要人工参与的任务的支持4.管理控制台,用于流程实例管理,任务列表,任务来源管理,报表5.生成器去创建,获取或者是编辑任务表单6.可选的流程仓库,实现部署创建的流程(或者是其它相关的知识库)7.历史记录(查询,监控,分析)8.整合Maven,Spring,OSGi等BPM通过提供业务用户和开发者都喜欢的
3、管理方式和工具架起了业务分析人员,开发者和最终用户之间的桥梁。特定领域的流程节点可以添加到插件面板中,让业务用户更容易的理解。jBPM支持自适应和动态的流程,灵活的为复杂,真实场景中不容易使用严格流程描述的流程建模。我们也让最终用户可以控制那一部分流程应该被执行,动态的偏离原先的流程。jBPM不是一个隔离的流程引擎。可以通过业务规则和复杂的事件处理共同合作,完成复杂的业务逻辑建模。Jbpm可以使用Drools项目合作去提供一个统一的环境,整合流程,规则和事件去共同建立业务逻辑模型。除了核心引擎,还有很多额外的组件可以使用,比如基于Eclipse或者是基于Web的设计器和管理控制台。1.2概
4、况上面的图给出了jBPM项目中不同组件之间的关系总览。Jbpm可以整合大量的其它服务,但是我们这里仅仅专注于jBPM项目。1.流程引擎是整个项目的核心。如果想要执行业务流程的话,那么它是必须的。无论是否需要,应用程序服务总是要调用核心引擎(启动流程或者是信号事件)。a)一个可选的核心服务是历史记录,它将会记录所有关于当前或者是先前所有流程实例的运行状态信息。b)另一个可选的核心服务是人工任务服务。如果人工参与了项目的声明周期的话,通过它维护这个人工服务的生命周期。2.两种类型的图形化编辑器,用来定义业务流程a)EclipseIDE的插件,面向开发者,用于使用拖拽的方式创建业务流程和调试。b
5、)基于web的设计器允许业务用户在基于web的环境中管理业务流程。基于web的表单生成器也允许创建,获取或者是编辑与这些流程相关的表单(开始流程或者是完成某个用户任务)3.Guvnor仓库是一个可选的组件。它可以用来存储业务流程。支持合作,版本控制等等。它被整合到了Eclipse和基于web的设计器中,支持在两者之间交互。4.基于web的管理控制台允许业务用户管理运行过程,管理他们的任务列表,业务活动监控和查看报表下面将描述每一个组件的细节。1.3核心引擎核心的jBPM引擎是项目的心脏。它是一个用来执行业务流程的轻量级的工作流引擎。你可以将它作为你的应用程序的一部分嵌入它或者是作为一个服务
6、部署(可能在云上)。最重要的特性是:1.执行流程实例的稳定的核心引擎2.本地支持BPMN2.0规范的建模和业务流程执行3.非常专注于性能和扩展性4.轻量(可以被部署在任何支持简单JAVA运行环境的设备上,不需要任何的web容器)5.(可选)可插拔的持久化,默认使用JPA实现6.作为通用的流程引擎实现,因此可以被扩展用来支持新的节点类型或者是其它的流程语言7.多种事件的监听8.移植运行中的流程实例到新版本的流程定义核心引擎也可以整合一些其他(独立)的核心服务:1.当需要人工参与到流程中时,可以使用人工任务服务管理人工任务。它是完全可插拔的,并且默认实现是基于WS-HumanTask规范管理任
7、务的声明周期,任务列表,任务表单和一些更加高级的特性比如escalation,delegation,rule-basedassignments等2.历史记录可以存储在引擎中执行的流程的所有的信息。运行时的持久化值存储了所有活动的流程实例当前的状态,但是,如果想要获取实例的历史信息的话,就需要使用历史记录了。历史记录可以用来存储所有活动的和已经完成的流程实例的当前或者是历史的状态。可以用它来查询流程实例执行过程中的任意信息
此文档下载收益归作者所有