JBPM架构解读

 JBPM架构解读_第1张图片

从上图我们可以看到JBPM的核心架构的各个模块划分以及各个组件:

  • 核心引擎(Core Engine)是JBPM整个项目的核心,支撑着整个工作流的复杂行为的顺利执行,它是由纯JAVA编写的,在你的项目中,它可以作为你的项目的一部分嵌入到项目中,也可以被当作一个单独的服务进行独立部署,然后通过基于网页的方式或者远程调用接口的方式进行通讯连接
    • 提供了一个可配置项时人工任务服务,它可以管理有人类角色参与的人工任务的生命周期
    • 还提供了另外一个核心功能就是在对运行时,工作流状态的持久化,包括运行时发生的所有的日志和审计追踪信息
    • 应用连接到核心引擎,可以通过java API或者以至于CDI 服务,也可用过REST或者JMS API
  • 基于网页的工具允许你建模,模拟仿真,和部署你的工作流,以及相关的配置,比如 数据模型,表格和规则等等
    • 工作流设计器,需求提出者可以通过它设计,模拟自己的工作流,这一切在网页上点点就行了
    • 数据建模器,可以让那些非技术相关的人员可以创建,查看,修改工作流中的数据模型
    • 基于网页的表格建模器,也允许你创建,生成或者编辑你工作流中的表格
    • 规则创建器,你可以通过它在你的工作流中指定或者创建不同的业务规则组合,比如决策表,指导规则等。
    • 所有的材料都时通过Guvnor 进行存储和管理的,包括版本管理和部署(可以通过Git得到存储的信息),
  • 基于网页的管理控制台允许使用者管理自己的工作流的开始和检查,也可以管理他们的任务列表,还可以查看工作流的监控状态和监控报告
  • 基于Eclipse的开发者工具是Eclipse IDE的一种拓展,目的是为了让开发者能够通过简单的拖拽的方式构建自己的工作流,测试自己的工作流和debug自己的工作流等

下面对上图中的每个功能点进行详细介绍:

  • 核心引擎(Core Engine):

    核心引擎(Core Engine)是JBPM整个项目的核心,支撑着整个工作流的复杂行为的顺利执行,它是由纯JAVA编写的,在你的项目中,它可以作为你的项目的一部分嵌入到项目中,也可以被当作一个单独的服务进行独立部署,然后通过基于网页的方式或者远程调用接口的方式进行通讯连接,它最重要的特性是下面​:
    • 稳定:他能稳定的执行工作流实例JBPM还可以整合一些其他的核心服务
    • 支持最新的BPMN2.0规范用于建模和执行工作流
    • 具有很强的性能和可拓展性
    • 轻量:可以在任何支持JAVA运行环境中运行,不需要任何容器
    • 可选择的可插拔的持久化工具,默认是JPA实现
    • 可插拔的事务支持,默认是JTA实现
    • 通用性:是一款具备通用性的JBPM引擎,可以被用来支持其它节点和别的工作流语言
    • 监听各种类型的事件
    • 可以将正在运行的工作流迁移到定义的新版本的工作流上
    • JBPM还可以整合一些其他的核心服务:
      • 历史日志可以存储有关jBPM引擎中所有进程执行的所有信息。 如果您需要访问历史信息,则必须这样做,因为运行时持久性仅存储所有活动流程实例的当前状态。 历史记录日志可用于存储活动和已完成流程实例的所有当前和历史状态。 它可用于查询与流程实例的执行相关的任何信息,用于监控,分析等。
      • 当人类参与者需要参与该过程时,人工任务服务可用于管理人工任务。 它是完全可插拔的,默认实现基于WS-HumanTask规范,并管理任务的生命周期,任务列表,任务表单以及一些更高级的功能,如升级,委派,基于规则的分配等。
  • 业务中心(Business Central):

    业务中心是一个web应用,它具备工作流管理的整个生命周期的支持,包括工作流的创建,部署,执行和监控,它将一系列基于Web的工具组合到一个可配置的解决方案中,以管理业务解决方案所需的所有资源和运行时数据,它提供的服务能力如下:
    • 存储服务,可以用来存储你的工作流和相关的资源,通过使用Git的仓库实现,支持版本控制远程Git访问(像访问一个文件系统一样)还支持REST风格的访问
    • 基于web的用户界面,可以通过web页面直接管理你的流程,还支持其它组件的可视化,比如设计器,数据和表格的建模器还支持分类,构建和部署
    • 协同工作特性,支持多个角色(如开发者和需求提出者)工作在同一个项目上,
JBPM架构解读_第2张图片 Business Central Application界面标题

 

  • 业务流程设计器(Process Designer):

    这个基于web的JBPM设计器,可以让你在网页上直接进行工作流建模,他向Eclipse插件一样,为你提供了一个可视化的可拖拽的建模环境,它还支持与Eclipse插件的无缝配合使用,同时也支持流程模拟。
JBPM架构解读_第3张图片 基于网页的设计创建BPMN2规范的工作流模型标题

 

 

  • 数据模型器(Data Modeler):

    一般工作流都会需要一个数据模型,这个数据模拟器可以为那非技术开发人员提供查看编辑和创建数据模型的功能,
    • 通常,业务流程分析师或数据分析师将捕获流程或应用程序的需求,并将这些需求转换为一组正式的相互关联的数据结构。 新的Data Modeler工具为构建逻辑和物理数据模型提供了简单,直接和直观的帮助,无需高级开发技能或显式编码。 数据建模器透明地集成到Business Central中。 其主要目标是使数据模型在流程改进周期中拥有较高的优先级,并通过集成使用数据结构(以及将用于与之交互的表单)实现全流程自动化
  • 业务流程管理(Process Management)

    工作流和它运行时的所有信息都可以通过业务中心(Business Central)进行管理,它主要是面向流程管理员,它的主要特性如下:
    • 作业管理:可以查看已经被编排的作业,也支持作业编排在一个KieServer实例上运行
    • 执行错误管理:管理员可查看从KieServer实例上上报上来的所有执行失败的信息,查看详细的错误栈信息,和错误知识点
    • 人工任务管理:可以获得所有的任务列表,查看当前的被分配人,评论,活动日志等详细信息,以及向不同用户发送提醒和转发任务等
    • 流程实例管理:可以控制工作流的开始,也可以过滤出流程实例,查看指定的流程实例的状态
    • 流程定义管理:可以看到部署到Kie Server的流程列表和详细信息
JBPM架构解读_第4张图片 管理工作流实例

 

  • 任务收件箱(Task Inbox):

    作为整个工作流的一部分,涉及到工作流中的人需要去审查,批准或者提供额外的信息,业务中心(Business Central)提供了一个任务收件箱,潜在的任务参与者可以用过这个功能管理自己索要负责的工作,因此使用者可以获取所有任务的列表,使用自定义的表单或者添加评论来完成协作。
JBPM架构解读_第5张图片 Task Inbox
  • 业务活动监视器(Business Activity Monitoring):

    在6.版本中,JBPM中提供了一个全新的功能BAM(Business Activity Monitoring),使得非开发人员也可以通过仪表板上面的显示信息,使得工作流的监视和上报功能变得从未如此简单。

    支持的关键特性如下:

    • 可插拔的图表架构
    • 自定义工具
    • 针对不同的用户配置,设置不同粒度的访问权限
    • 外部系统可以通过不同的协议获取相关的数据
    • 支持搜索和过滤功能,基于内存和SQL
    • 数据导出为Excel或者CSV的格式
    • 交互式的报告表格配置
    • 关键指标的图形化显示
    • 可视化仪表板配置,支持拖拉的方式
    • 目标用户如下:
      • 管理者/工作流的拥有者,仪表板和报告的使用者
      • IT/系统架构师,连接和数据提取
      • 分析师/开发者,仪表板的组合和配置
JBPM架构解读_第6张图片 业务活动监视器仪表盘
  • Eclipse开发者工具(Eclipse Developer Tools):

    Eclipse开发者工具是Eclipse 上面的一组插件,你可以在自己的开发环境中建模你的工作流,提供了可视化的建模工具包括很多很厉害的测试和debug能力。
    • 包括下面这些特性:
      • 用于创建新jBPM项目的向导
      • 一个支持BPMN2.0流程规范的编辑器
      • 能够插入您自己的特定于域的节点
      • 验证功能
      • 运行时支持
      • 图形化调试,以查看所选会话的所有正在运行的流程实例,可视化一个特定流程实例的当前状态等。
JBPM架构解读_第7张图片 在Eclipse创建工作流模型

 

 

你可能感兴趣的:(架构)