WS-BPEL4People走向OASIS

2007 年 6 月 27 日

今天,由 IBM、Adobe、SAP、Oracle、BEA systems 和 Active Endpoints 所组成的厂商,发布了有关新提议的WS-* 规范的最终草案,它有个有趣的名字——“WS-BPEL4People”。相比于处理业务过程自动化的WS-BPEL,WS-BPEL4People 规范(它已被秘密制定了近两年),旨在给SOA 增加一般的人类工作流能力,尤其是对最近被批准的 WS-BPEL 2.0 规范。

WS-BPEL4People 包含 2 个补充性规范。第一个是 WS-BPEL extension for people ,它定义了在 WS-BPEL 上处理人类交互和任务的层级,或者如规范的摘要所说的:

Web 服务业务过程执行语言,版本 2(WS-BPEL 2.0,或简称 BPEL)引入了基于 Web 服务的业务过程模型。

一条 BPEL 过程编制(orchestrates)不同 Web 服务间的交互。该语言包含描述复杂控制流程所需要的特性,包括错误处理和补偿行为。然而,在实践中,很多业务过程场景都需要人类交互。一个过程定义应该将人类合并为另一类参与者,因为人类也可能参与业务过程并影响过程执行。

该规范引入一个 BPEL 扩展来解决 BPEL 中的人类交互,并将它的作为一等公民。它定义了一种新的基本活动类型,它使用人工任务作为实现,允许任务可以在本地的过程中,也可在过程定义之外。这个扩展基于 WS-HumanTask 规范。

第二个引入的规范则是 WS-Human 任务,它定义了允许将人类任务作为服务引入 SOA 的接口,这些接口独立于 WS-BPEL。它的想法是使非人类服务有一种一致、标准的与人类交互的方式。规范定义目标如下:

人类任务,或简称任务,能将人类集成到面向服务应用中。本文档提供了用于人类任务的符号、状态图和 API,以及一个协作协议,它允许与人工任务以更面向服务的风格交互并且同时控制任务的自治。该文档被称为 Web 服务人类任务(在本文档的其余部分简称为 WS-HumanTask)。

人类任务是由人类"实现的"服务。它们将人类集成到面向服务应用中。一个人类任务有 2 个接口。一个接口暴露任务提供的服务,如翻译服务或批准服务。第二个接口允许人类处理任务,如查询等待他们的人类任务,以及从事这些任务。人类任务有被分配给的人类。这些分配定义了任务上的某个角色应该由谁扮演。人类任务也可能指定任务元数据在不同设备或应用上应该被如何呈现,使之在不同类型的软件间可移植和互操作。人工任务可以被定义成超时反应,触发一个合适的增加动作。

这同样适合于通知。通知是一类特殊的人类任务,它允许给人类发送值得注意的业务事件新息。通知总是单向的,它们以一种发射即忘记(fire-and-forget)的方式被传递:发送者给人们推出通知,并不等待人们确认已接收它们。

厂商们计划将两个规范都提交给 Oasis ,并且将它们批准成为另一个 WS-* 标准。

微软的 John Evdemon,他曾是核准 WS-BPEL 2.0 的 Oasis 委员会主席之一,希望在这些规范被批准成为标准之前:

…他们可以修正一些问题(如 people resolution),并拿出一个听起来不太搞笑(punchline)的名字。:)

另一方面,SAP 的 Alan Rickayzen 对新标准感到非常激动。在他的博客中,你可以看到一幅这两个标准的组件图,以及一个简短解释它们的pod-cast

你的想法是什么呢?–我们需要另一个WS-* 标准吗?新标准会受到 http://blog.jonudell.net/2007/06/05/ws-justright-revisited/ "Jon Udell 所说的"只有 WS 才是对的(WS-Justright)“的影响吗”">Jon Udell 所说的“只有 WS 才是对的(WS-Justright)”的影响吗 ?

查看英文原文: WS-BPEL4People on its way to OASIS

2007 年 6 月 27 日 00:54285
用户头像

发布了 255 篇内容, 共 45.2 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

原创 | 使用JPA实现DDD持久化-O与R:两个世界

编程道与术

Java hibernate DDD JDBC jpa

阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破

应用研发平台EMAS

什么?不写代码也能做功能开发! -RUOYI 教程二

HPioneer

Java 无代码开发 若依

JVM系列之:JIT中的Virtual Call

程序那些事

Java JVM JIT

实用!一键生成数据库文档,堪称数据库界的Swagger

程序员内点事

Java MySQL

云小课 | IPv4枯了,IPv6来了

华为云开发者社区

IP 公有云 虚拟私有云 华为云 虚拟化

在人工智能时代追逐的“后浪”

华为云开发者社区

AI 开发者 技术社区 程序员成长 华为云

第九周

hdhdh

基于 Golang的侵入式 Opentracing实现全链路追踪 ----实践篇

是老郭啊

飞天茅台超卖事故:Redis分布式锁请慎用!

程序员生活志

redis 分布式

财务分析与主要的模型

松子(李博源)

将信将疑,将中台进行到底

郭华

计算机网络基础(十一)---网络层-OSPF协议

书旅

计算机网络 网络 协议栈 OSPF

华为云GaussDB(DWS)内存知识点,你知道吗?

华为云开发者社区

数据库 数据 大数据处理 内存 华为云

第九周作业

方堃

数据人必须知道的SQL概念(A—Z)

大唐小生

sql 数据 职场成长

数据库系统设计概述

码哥字节

数据库 redis mongodb elasticsearch 数据库设计

架构师第九周作业

傻傻的帅

架构师 课程作业

阿里云小程序云发布小程序跨平台开发框架,助力开发者一次开发,多端运行

应用研发平台EMAS

智能膜切机,解决手机贴膜行业难题

Geek_116789

你问我答:微服务治理应该如何去做?

博云技术社区

微服务 PaaS API 容器云 博云

Java字符串拼接,去首尾, 判空, 类型转换

狸猫换太子

Java 类型推断 字符串

授人以渔:stm32资料查询技巧

华为云开发者社区

架构 armv8 芯片 华为云 二进制

微软苏州集体抵制来自阿里、华为的跳槽者:请停止你的“奋斗逼”行为!网友:看到 955 不加班的公司名单,我酸了

程序员生活志

加班 程序员生活 996

学编程没人带?推荐10个免费学编程的最佳网站给你

代码制造者

学习 编程 编译器、程序语言、CPU 编程网站

技术管理者带团队的几个实用技巧

Phoenix

团队管理 企业文化 团队 价值观

Newbe.Claptrap 框架如何实现多级生命周期控制?

newbe36524

架构 微服务 微服务架构 .net core ASP.NET Core

英特尔®AI计算盒参考设计发布 加速智能边缘崛起

飞天鱼2017

《深度工作》学习笔记(3)

石云升

学习 深度工作 工作哲学

Vue中使用装饰器,我是认真的

前端有的玩

Java Vue 装饰器

秒杀系统问题与方案设计

superman

秒杀 架构总结

WS-BPEL4People走向OASIS-InfoQ