抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

语义 Web 服务 WS-BPEL 扩展 (BPEL4SWS)

2008 年 12 月 16 日

Web 服务业务流程执行语言,第 2 版 (WS-BPEL 2.0,简称 BPEL),基于伙伴链接 (基于 WSDL1.1 的定义) 为不同 Web 服务之间的交互定义了编配模型。这一语言包含了描述复杂控制流所需要的特性,包括错误处理和补偿行为。

该语言的一大限制就是要求使用伙伴链接来定义目标 Web 服务,这导致了流程实现和服务之间的点对点通讯。语义 Web 服务 BPEL(BPEL4WS) 试图通过使用语义 Web 服务框架定义通讯信道来克服这一限制。相对于显式地指定活动,它借助对服务请求者和提供者的本体描述,为描述带来了极大的灵活性。该规范:

为 BPEL 引入一个扩展以支持使用语义 Web 服务框架而不是 WSDL1.1 来描述交互。语义 Web 服务 (SWS) 可看作是 Web 服务之上的集成层;它们使用本体作为数据模型并且拥有丰富的概念模型。语义面向服务架构参考本体论 (RO4SSOA) 致力于将这一概念模型进行标准化。

在 SOA-RM(SOA 参考模型) 中,它根据接口和能力对服务描述的概念进行了形式化。不同于 SOA-RM 的是,它还显式地对所需求的能力和服务消费者的潜在交互进行了建模。用来容纳这些描述的概念被叫作目标(goal)。

该规范的核心引入了一个“WSDL-less 交互”的模型,基于新近引入的对话(conversation)概念:

一个对话是对伙伴链接的一个 WSDL-less 抽象:对话不是引用一个伙伴链接,而是引用一个目标或是基于 RO4SSOA 定义的 Web 服务描述

对于对话的支持是建立在该标准引入的几个新类型之上的:

为了定义伙伴之间的消息交换,BPEL4SWS 定义了新的活动类型:表示 WSDL-less 接收的回复和调用活动;一个 WSDL-less 活动;和一个 WSDL-less。这些活动可使用元素来分组。以此方式,一个 BPEL4SWS 流程可以参与到与伙伴的长期多消息交互中。对话可使用元素来分组。这种方式可以定义与单一伙伴进行的多个对话。

BPEL4SWS 对话被认为适于解决具体问题,比如,预订航班。每一对话里面都有两个角色——一个伙伴提供预订航班的功能,通过 RO4SSOA 的服务概念来描述;另一个想要使用 / 消费该功能的伙伴,通过目标的概念来描述。作为结果,BPEL4SWS 将区分提供对话(providing conversation)和消费对话(consuming conversation)。对于提供对话,流程可以为伙伴服务提供功能,而在消费对话里,一个 BPEL4SWS 流程将会使用伙伴服务所提供的功能。提供对话是用服务描述来描述的,而消费对话是用目标描述来标记的,即附加了目标。目标描述被用来发现相应的 Web 服务。如果没有找到相应的服务,将会抛出noServiceFound错误。

BPEL4SWS 里的对话是使用 RO4SSOA 的概念来描述的:

RO4SSOA 于 Web 服务之上构建了一层。它从技术细节当中抽象出来,为服务请求者和服务提供者提供的服务描述不仅专注于接口,同时还用假设和影响描述了服务的能力……实现 RO4SSOA 的框架要求一个提供如下功能的中间件组件: - 基于目标的服务发现

  • 服务请求者与服务提供者之间的通讯生命周期管理
  • 能接收来自服务请求者和提供者两方面数据的端点
  • 能调用服务请求者和提供者两者的手段

尽管这一规范还处于非常早期的阶段,BPEL4SWS 是以“现有情况提供并只用于审阅和评估”,但它提供了服务编配和语义 Web 服务之间的直接集成路径,反过来它也能支持更加显著的服务集成模式,并能更好的匹配现实业务场景。

查看英文原文: WS-BPEL Extension for Semantic Web Services (BPEL4SWS)

2008 年 12 月 16 日 23:05573
用户头像

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

关注

评论

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

电子产品PCB电路板散热的方法

不脱发的程序猿

嵌入式 PCB 电路板散热 电子电路 电路板

【多线程与高并发】从一则招聘信息进入多线程的世界

牧小农

多线程与高并发 Java 8

终于看到阿里大牛能把springboot讲的如此出神入化

云流

Java 程序员 架构 计算机

请警惕 ES 的三大坑

悟空聊架构

elasticsearch 架构 分布式 微服务 ES

网络攻防学习笔记 Day27

穿过生命散发芬芳

5月日更 网络攻防

【大咖直播】Elastic 可观测性实战工作坊

小小的一朵云

elastic

Flume自定义拦截器

大数据技术指南

大数据 5月日更

学到了,用138个案例讲明白了Spring全家桶+Docker+MQ

Java架构师迁哥

阿里开源:历年亿级活动高并发系统设计场景总结

Java架构师迁哥

NUCLEO-L432KC实现UART1、UART2双串口数据通信(STM32L432KC)

不脱发的程序猿

嵌入式 stm32 单片机 NUCLEO-L432KC 串口通信

阿里面试官梳理2021年最全999道Java岗必备面试题答案

Crud的程序员

Java 程序员 架构

扫盲篇-什么是分布式任务调度

会飞的鱼

分布式 分布式锁 大数据任务调度 分布式任务调度 zookeeper分布式锁

可视化突破海绵城市发展困境,智慧城市从“一张图”开始

一只数据鲸鱼

数据可视化 智慧城市 智慧水务 三维可视化 海绵城市

视频门禁的优点及应用场景

anyRTC开发者

WebRTC RTC sdk 实时音视频

Flink的批数据SQL

五分钟学大数据

flink 5月日更

突击 22 天面进腾讯,给到 32K*14 薪!全靠这份阿里面试参考指南了

云流

Java 程序员 架构 面试 计算机

ThingJS粒子特效一键实现雨雪效果

森友小锘

可视化 场景应用 3D可视化 数字孪生

CCF C³-04@百度丨“AI+开源”的昨天今天和明天

百度大脑

百度 AI+

国家工业信息安全发展研究中心与华为联合发布《数据安全白皮书》

DT极客

阿里P7简历上都有哪些可以拿得出手的项目?

Java架构师迁哥

☕️【Java 技术之旅】带你看透Lambda表达式的底层

李浩宇/Alex

Java Lambda 底层原理 5月日更 行为参数化

DWF低代码开发技术及其在数字化运营和运维平台建设中的应用

云智慧技术社区

低代码 智能运维

吐血总结 | Java并发编程 72 变

Java架构师迁哥

GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版

云流

Java 程序员 架构 面试

Alibaba面试官:“这该死的程序员,技术竟如此深厚!”

Java架构之路

Java 程序员 架构 面试 编程语言

一周信创舆情观察(5.17~5.23)

统小信uos

极速恢复精灵 Tech Support

凌天一击

大厂面试内幕:阿里内部整理出的5000页Java面试复盘指南,起飞

Java架构追梦

Java 架构 面试 阿里巴巴面试 5000页面试题

入职美团定级P7,总结2021年最新最全180道高级岗面试题及答案

Crud的程序员

Java 架构 java面试

爱了! Alibaba技术官甩出的“阿里内部Java成长笔记”,技术人成长的标杆!

Java架构之路

Java 程序员 架构 面试 编程语言

助力秋招第三弹:Java集合框架体系详细梳理

北游学Java

Java 面试 框架 秋招

Study Go: From Zero to Hero

Study Go: From Zero to Hero

语义Web服务WS-BPEL扩展 (BPEL4SWS)-InfoQ