BPM应用开发生命周期

BPM实现模型主要涉及的三个阶段:建模、实现、部署。围绕这三个阶段的开发生命周期可以有多种模式,对于不同模式所对应的产品与组件也是不同的。

模式一:建模、实现、部署应用

intro_studio_app_dev_lifest

  1. 使用Oracle BPM Studio(流程分析师角色/流程开人员角色)创建模型
  2. 实现流程所需要的服务与应用资源(由流程开人员实现)
  3. 编译应用(流程开发人员)
  4. 部署到Oracle BPM运行时(流程开人员/流程管理员)

模式二:基于流程蓝图(Blueprints)创建应用

intro_studio_app_dev_lfecyc

  1. 使用Process Composer创建蓝图(流程分析师)
  2. 发布包含流程蓝图的项目到MDS(流程分析师)
  3. 在Oracle BPM Stdio打开项目(流程开发人员)
  4. 实现基于流程的应用(流程开发人员)
  5. 发布项目到运行时(流程开发人员,业务管理人员)或另存为项目模板(流程开发人员)

模式三:创建项目模板

intro_studio_app_dev_lfecy2

  1. 使用Oracle BPM Studio创建项目模板(流程开人员)
  2. 发布模板到MDS(流程开发人员)
  3. 使用Business Process Composer创建基于项目模板的新项目(流程分析师)
  4. 基于项目模板中的编辑策略编辑项目中的流程(流程分析师)
  5. 部署项目(流程分析师,业务管理员)或重新将项目发布到MDS(流程开发人员可以进行进一步实现)

模式四:集成Oracle BPM Suite与Oracle BPA

intro_studio_app_dev_lfecy3

使用Oracle BPA套件建模(流程分析师)

  1. 将流程模型导入到Oracle BPM Stdio(流程开发人员)
  2. 实现(流程开发人员)
  3. 编译(流程开发人员)
  4. 部署到Oracle BPM运行时(流程开发人员/流程管理员)
      • 使用MDS从Oracle BPM Stdio直接部署
      • 导出项目为SAR文件,使用Oracle Enterprise Manager导入到BPM运行时

      (完)

BPMN 概念初步理解

什么是BPMN

  • 业务流程建建模标记标准
  • 图形化标记用于捕获业务流程与交互
  • 由OMG发布,当前版本1.1
  • 厂商中立

BPMN 2.0 特性

BPMN1.1局限性扩展

BPMN 1.1BPMN 2.0
No interchange formatprovides visual model  and accompanying interchange format
No explicit meta modelprovides semantic metamodel and accompanying interchange format
No choreography supportprovides semantic for process interactions and public processes.
Semantics of modeling constructs not wel definedprovides refined and formalized BPMN excution semantics.
    其它扩展
  • 为流程模型与图形扩展提供扩展能力
  • 基于XML与XSD 的交换格式
  • 重新定义了事件组合与相互性
  • 数据流与关联
  • 涵盖人工交互

未涵盖部分

组织模型、数据与信息模型、策略与规则模型

BPMN2.0基础

BPMN包含三种主要对象:

  • 活动(Activity):活动节点或工作节点(也就是一系列动作组成的逻辑单元),这里主要包括:自动化活动节点与人工节点
  • 网关(Gateway):流程逻辑控制点,主要用于流程的切分与合并。
  • 事件(Event):事件节点,用于支持与其它流程实现异步交互、出错处理与控制流程逻辑 3obj

用BPMN描述的流程模型就是由以上三种主要对象组合而成,当然,对于每种对象还有很多细分类型。例如:事件节点可以分为:启动节点、结束节点等。

flow

任务(Task)类型

任何即原子类型的Activity。每个厂家对于任务类型的定义有所不同,对于Oracle来说有:

  • Service Task:同步系统交互
  • Send and Receive Tasks:异步系统交互
  • User Task:人工步骤-由工作流引擎控制(Workflow engine)
  • Manual Task:非工作流引擎控制
  • Rules Task:由规则引擎(Business Rules engine)控制
  • Script Task:用于运行脚本
  • Note Task:只用于文档与映射目的
  • Call Activity:调用其它BPMN流程

task

泳道(Lanes)

    将流程活动按照角色分类的一种可视化手端
    lane
    异或数据网关(XOR Data Gateway)
    排它条件切分,即基于给定条件只有一个通路。
    xor
    xor_merge
    与网关(And Gateway)

并行拆分(fork)与合并(join),并行合并节点用于合并无条件并行路径。

and

或网关(OR Gateway)

给定通路全部通或任一通即通过

or

复杂网关(Complex Gateway)

链切分-即后一个切分基于前一个切分的评估

投票模式-N个路径中只要有M个通过就通过

complex

嵌入式子流程(Embedded Sub-process)

虽然有启动与终止事件节点,但是没有泳道。主流程不能跨越嵌入式子流程的边界。嵌入式子流程可以嵌入其它子流程。

sub

流程标注(Process Annotation)

任何文本,无流程语义。

BPMN & Oracle BPM Suite 11g

bpm11g

BPMN在运行时

  • BPM Studio:业务人员使用,用于建模与模拟。Oracle BPM Suite 11g中的BPM Stdio支持BPMN2.0,并具有两个视图:业务(Business)与IT。IT视图用于实现BPMN流程细节,这两个视图使用同一语言,无需转换。
  • Process Composer:是一个基于Web的BPMN工具,可以让业务人员客户化BPM Stdio创建的流程。当然,这种客户化是有限制的,但带来的好处也很显明,即无需IT的介入。

BPMN运行时

  • BPMN 运行时(Run-time)引擎:Oracle BPM Suite 11g具有一个原生(Native)BPMN2.0运行时引擎。
  • 基于BPMN的监控(Monitoring):Enterprise Manager for BPM:EM充许实现BPMN流程端到端的追踪与监控,包括异常管理。
  • 流程门户(Process Portal):流程门户是一个协作工作空间建立在WebCenter Space用于实现更高效的BPMN协作包括基于流程仪表板的BPMN视图。