bpel 和人工工作流 - oracle · 特性:bpel pm 11g —工作流 针对任务表单的adf...
TRANSCRIPT
<在此处插入图片>
BPEL 和人工工作流
马平
资深技术顾问
甲骨文 开发者计划
2
以下内容旨在概述产品的总体发展方向。该内容仅供参考,不可纳入任何合同。该内容不构成提供任何材料、代码或功能的承诺,并且不应该作为制定购买决策的依据。此处所述有关 Oracle 产品的任何特性或功能的开发、发布以及相应的日程安排均由 Oracle 自行决定。
3
<在此处插入图片>
BPEL 简介
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 副
总裁
5
BPEL 的强大力量
• 编排服务
• 专为长期运行的流程设计
• 为异步交互提供内置支持
• 错误处理和补偿事务
• 可扩展
• 并行流
• 条件分支
6
基于标准
• 使用和扩展 web 服务模型• 使用 WSDL 定义接口
• XML 和 WSDL 定义的变量类型
• 通过 SOAP 进行通信
• 使用 XML 模式进行定义
• 使用 XPath 查询数据
• 使用 XSLT 进行转换
• WS-Addressing
7
……并且开放
• Web 服务/SOAP 接口
• 公共 Java API
• 还可供内部使用
• 示例:控制台
8
BPEL 示例
9
BPEL 示例
<process>
</process>
10
BPEL 示例
<partnerLink>
<partnerLink><partnerLink>
11
BPEL 示例
<invoke>
12
BPEL 示例
<variable>
13
BPEL 示例
<faultHandlers>
14
BPEL 示例
<flow>
</flow>
15
BPEL 示例
<invoke>
<receive>
16
BPEL 示例
<switch>
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>
18
BPEL — 编排器
Web 服务
Java 服务
数据库存储过程
ERP、SAP、Oracle 等
用户任务
19
架构和部署
SOA Composite Editor
MDS
DehydrationStore
SCA 组合
基于 Web 的控制台
20
设计视图和源代码视图
21
特性:BPEL PM 11g可伸缩的 DOM
减少内存消耗
提高大的有效负载的性能
实体变量
SDO 支持
只有在需要时才获取数据
接口:
ADF-BC、自定义
运行时
内存中状态
RAC 集成增强
统一错误医院
转换
多个输入源
复杂的结构:any、xsi:type
替换
抽象类型和元素
EDN 支持
BPEL 可以直接发布和订阅事件
迁移工具
将现有 BPEL 流程迁移到组合应用程序
能够将正在运行的实例迁移到新的流程版本
22
<在此处插入图片>
人工工作流
23
工作流架构
BPEL 流程
服务使用者
(非 BPEL)
JavaPOJO/EJB
人工工作流服务WSDL
接口
Java API
主管
工作代理人
流程所有者工作列表应用程
序
自定义应用程序
分配任务
任务全面
更新任务
组件服务
• 任务管理服务任务数据、表单、附件
• 用户元数据服务规则、工作队列
• 任务路由服务分配、调度
• 工作列表服务任务查询、报告
• 通知服务电子邮件、无线
• 身份服务、用户、角色
24
工作流特性总结任务分配• 用户• 角色• 组
管理规则• 升级、过期• 委托、休假规则• 负载均衡
工作列表应用程序• 基于配置文件 — 代理人、主管、组所有者、流程所有者
• 作为 portlet 提供• 完全可定制• Web 服务和 Java API
任务表单• 基于 ADF 的任务表单• 自动生成、用户定义• 任务数据控制• MS Office 集成
任务路由• 声明式模式• 即席路由• 基于文档的路由• 使用业务规则完成复杂路由
通知•关于以下内容的说明性规范:
• 何时 — 分配、到期……• 何人 — 代理人、经理……
•电子邮件、语音、寻呼机、SMS
报告、审计跟踪……•生产力和分发报告•完整历史记录和审计跟踪
身份管理• 角色和组织层级结构• 与 OID、LDAP、JAZN 集成;自定义插件
25
特性:BPEL PM 11g — 工作流针对任务表单的 ADF 任务流
ADF 使用 RCF 组件支持复杂的任务显示表单,可以创建多页的表单
自动生成 ADF 任务表单。
新的、现成的工作列表应用程序
基于富客户端框架 (JSF)
可用性显著增强
新的身份管理层
使用 Java 平台安全性进行用户/角色查找支持 OVD(用户/组属性有多个来源)
基于角色的 WF 路由
使用业务规则实现复杂的任务路由情形可在路由链中前进或后退 n 级
通知增强
可靠性增强 — 检测自动回复、格式错误的响应、垃圾邮件
针对不同设备类型和不同类型通知的用户首选项
11g 新特性:IM
为任务提供数字签名
在对任务执行操作时,使用数字认证为任务内容添加签名
MS Office/Excel 集成
使用 Excel 启动工作流
使用 Excel 访问工作列表任务
访问/可见性策略
限制谁可以看到和编辑任务的不同部分
限制参与者可执行的操作
任务服务增强
支持待办任务
支持子任务
任务报告增强
BPEL、调节器、工作流的端到端实例跟踪
针对任务效率和代理人时间分布的新报告
工作流引擎信息板
SOA 控制台中提供工作流组件视图
详细的性能指标
错误报告
26
http://otn.oracle.com/soahttp://www.oracle.com/soa
…
27