27
<在此处插入图片> BPEL 和人工工作流 马平 资深技术顾问 甲骨文 开发者计划

BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

<在此处插入图片>

BPEL 和人工工作流

马平

资深技术顾问

甲骨文 开发者计划

Page 2: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

2

以下内容旨在概述产品的总体发展方向。该内容仅供参考,不可纳入任何合同。该内容不构成提供任何材料、代码或功能的承诺,并且不应该作为制定购买决策的依据。此处所述有关 Oracle 产品的任何特性或功能的开发、发布以及相应的日程安排均由 Oracle 自行决定。

Page 3: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

3

<在此处插入图片>

BPEL 简介

Page 4: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

4

BPEL 是什么?

• 业务流程执行语言

• 基于 XML 的标记语言,能够将一组分散的服务组合到端到端的流程中。

• 利用 Microsoft (XLANG) 和 IBM(WSFL、FDML)10 多年的研究和开发成果

• 使用和编排基于 WSDL 的服务• 将 web 服务粘合起来

• BPEL 流程公开一个 WSDL 接口

• 流程自动公开为服务

Gartner 相信 BPEL 将成为 Web 服

务编排和业务流程协调方面的主要

行业标准。

— David Smith,Gartner 研究部门副总裁

和分析师

在我看来,BPEL 是集成的发展趋势,

为什么?这是因为,如果您不但可以

提供多种集成应用程序的方式,还可

以提供从其中创建服务并将其置于业

务流程中的方法,那么您获得的价值

会更高。

— John Rymer,Forrester Research, Inc 副

总裁

Page 5: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

5

BPEL 的强大力量

• 编排服务

• 专为长期运行的流程设计

• 为异步交互提供内置支持

• 错误处理和补偿事务

• 可扩展

• 并行流

• 条件分支

Page 6: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

6

基于标准

• 使用和扩展 web 服务模型• 使用 WSDL 定义接口

• XML 和 WSDL 定义的变量类型

• 通过 SOAP 进行通信

• 使用 XML 模式进行定义

• 使用 XPath 查询数据

• 使用 XSLT 进行转换

• WS-Addressing

Page 7: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

7

……并且开放

• Web 服务/SOAP 接口

• 公共 Java API

• 还可供内部使用

• 示例:控制台

Page 8: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

8

BPEL 示例

Page 9: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

9

BPEL 示例

<process>

</process>

Page 10: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

10

BPEL 示例

<partnerLink>

<partnerLink><partnerLink>

Page 11: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

11

BPEL 示例

<invoke>

Page 12: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

12

BPEL 示例

<variable>

Page 13: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

13

BPEL 示例

<faultHandlers>

Page 14: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

14

BPEL 示例

<flow>

</flow>

Page 15: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

15

BPEL 示例

<invoke>

<receive>

Page 16: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

16

BPEL 示例

<switch>

Page 17: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

17

BPEL 示例

<process>

<variables>

<partnerlink>

<sequence>

<invoke>

<flow>

<sequence>

<invoke>

<receive>

</sequence>

<sequence>

<invoke>

<receive>

</sequence>

</flow>

<switch> <case>

<sequence/>

</case> <case>

<sequence/>

</case>

<switch>

</sequence>

</process>

Page 18: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

18

BPEL — 编排器

Web 服务

Java 服务

数据库存储过程

ERP、SAP、Oracle 等

用户任务

Page 19: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

19

架构和部署

SOA Composite Editor

MDS

DehydrationStore

SCA 组合

基于 Web 的控制台

Page 20: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

20

设计视图和源代码视图

Page 21: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

21

特性:BPEL PM 11g可伸缩的 DOM

减少内存消耗

提高大的有效负载的性能

实体变量

SDO 支持

只有在需要时才获取数据

接口:

ADF-BC、自定义

运行时

内存中状态

RAC 集成增强

统一错误医院

转换

多个输入源

复杂的结构:any、xsi:type

替换

抽象类型和元素

EDN 支持

BPEL 可以直接发布和订阅事件

迁移工具

将现有 BPEL 流程迁移到组合应用程序

能够将正在运行的实例迁移到新的流程版本

Page 22: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

22

<在此处插入图片>

人工工作流

Page 23: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

23

工作流架构

BPEL 流程

服务使用者

(非 BPEL)

JavaPOJO/EJB

人工工作流服务WSDL

接口

Java API

主管

工作代理人

流程所有者工作列表应用程

自定义应用程序

分配任务

任务全面

更新任务

组件服务

• 任务管理服务任务数据、表单、附件

• 用户元数据服务规则、工作队列

• 任务路由服务分配、调度

• 工作列表服务任务查询、报告

• 通知服务电子邮件、无线

• 身份服务、用户、角色

Page 24: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

24

工作流特性总结任务分配• 用户• 角色• 组

管理规则• 升级、过期• 委托、休假规则• 负载均衡

工作列表应用程序• 基于配置文件 — 代理人、主管、组所有者、流程所有者

• 作为 portlet 提供• 完全可定制• Web 服务和 Java API

任务表单• 基于 ADF 的任务表单• 自动生成、用户定义• 任务数据控制• MS Office 集成

任务路由• 声明式模式• 即席路由• 基于文档的路由• 使用业务规则完成复杂路由

通知•关于以下内容的说明性规范:

• 何时 — 分配、到期……• 何人 — 代理人、经理……

•电子邮件、语音、寻呼机、SMS

报告、审计跟踪……•生产力和分发报告•完整历史记录和审计跟踪

身份管理• 角色和组织层级结构• 与 OID、LDAP、JAZN 集成;自定义插件

Page 25: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

25

特性:BPEL PM 11g — 工作流针对任务表单的 ADF 任务流

ADF 使用 RCF 组件支持复杂的任务显示表单,可以创建多页的表单

自动生成 ADF 任务表单。

新的、现成的工作列表应用程序

基于富客户端框架 (JSF)

可用性显著增强

新的身份管理层

使用 Java 平台安全性进行用户/角色查找支持 OVD(用户/组属性有多个来源)

基于角色的 WF 路由

使用业务规则实现复杂的任务路由情形可在路由链中前进或后退 n 级

通知增强

可靠性增强 — 检测自动回复、格式错误的响应、垃圾邮件

针对不同设备类型和不同类型通知的用户首选项

11g 新特性:IM

为任务提供数字签名

在对任务执行操作时,使用数字认证为任务内容添加签名

MS Office/Excel 集成

使用 Excel 启动工作流

使用 Excel 访问工作列表任务

访问/可见性策略

限制谁可以看到和编辑任务的不同部分

限制参与者可执行的操作

任务服务增强

支持待办任务

支持子任务

任务报告增强

BPEL、调节器、工作流的端到端实例跟踪

针对任务效率和代理人时间分布的新报告

工作流引擎信息板

SOA 控制台中提供工作流组件视图

详细的性能指标

错误报告

Page 26: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

26

http://otn.oracle.com/soahttp://www.oracle.com/soa

Page 27: BPEL 和人工工作流 - Oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf 任务流 adf 使用rcf 组件支持复杂的任务显示表 单,可以创建多页的表单

27