写点什么

语义面向服务架构参考本体论

  • 2008-12-12
  • 本文字数:1952 字

    阅读完需:约 6 分钟

由 OASIS 于上月发布的 SOA 参考本体论 OASIS 面向服务架构参考模型(SOA-RM)的一个扩展,它包含了与语义化面向服务架构相关语义的关键概念。

这一标准定义:

“经典 SOA”的一个主要局限在于……用来描述 Web 服务的标准提供的服务细节太少,主要就是一个简单的外部接口描述。光就这些描述并不足以提供该服务的进一步信息,如从该服务提供功能可得出的合理推论,或是其对外接口的行为等等。

SOA 参考本体论标准通过利用本体提供了克服这些局限的办法:

通过拓展本体以描述 SOA 当中的服务,机器可以推断它们提供的功能,调用它们的机制,以及它们所期望的输入和输出数据。换句话说,现在拥有一个语法描述(例如,一个 WSDL 文件)的每个服务,都将会有一个某种形式的语义描述。因此语义 SOA 当中的服务并非是服务的重复发明,而是服务的进一步强化。为了有效地对服务进行语义化描述,我们得明白在我们的语义描述里需要对哪些元素进行建模。在本文档中,你会发现面向服务架构参考本体论,它描述了需要对哪些元素建模才能有效地提供服务的语义描述和构建语义化的 SOA(即语义 SOA[SSOA])。

基于语义的方式,有两大基本原理,如这一标准所介绍:

  • 所有面向服务的描述应当以基于本体的形式来完成;
  • 所有基于本体的描述应具有与仲裁相联结的能力。

第一条原理在该标准中是通过将语义描述与所有的 SOA 资源联系起来得以实现的。这些描述支持服务的功能性(包括行为性)和非功能性描述,并且是创建服务实现的基础,因此只要知道这一语义描述,就同样能够找出该服务的实现。

服务描述的引入使对合适服务的选择得以正规化,选择是基于服务请求者的目标来完成的。为了促进请求者目标和提供者的服务之间的契合过程

……该参考本体论定义了目标描述,它由服务描述的同样元素来组成:即能力描述和一组接口。一个目标描述能力描述代表了所请求的能力,例如,请求者想要寻找并消费的能力。一个目标描述的接口描述了请求者在与对应服务通讯过程中试图使用的接口。

按照世界条件状态来对能力进行描述的标准必须存在,才有可能执行服务并保证在服务执行后保持世界条件状态。它进一步区分了信息的状态与真实世界的状态。作为结果,能力可以被分解到两个组别:先决条件和后置条件,它描述了信息空间、假设及影响的状态,并定义了现实世界的状态。通过提供这四个元素,该参考本体论允许在信息空间以及现实世界两者所发生的状态改变都能被有效的描述。

按照 SOA-RM,它详述了“服务接口作为与服务交互的方式”并将信息模型和行为模型两部分组合起来,SOA 参考本体论为信息和行为两种模型都作出了语义定义:

……信息模型是一个基于本体论的描述,并需要从能力和接口两方面考虑,所以它与服务(或目标)描述直接相关……对于语义 SOA 来说这一 [模型] 是由服务的领域本体来提供的;这一本体指定了服务执行以及和其它服务或请求者通讯所需要的所有信息。

……行为模型又派生出了两个不同的概念,代表着不同的视图:

  • 服务请求者视图:服务请求者执行服务所需要的信息,以编排来指定;
  • 与其它服务通讯:关于服务如何与其它服务协调和协作以实现功能的信息,以编配来指定。

对于语义 SOA 来说,这一 [模型] 被封装进通讯时需要进行交换的信息的定义,一个本体的概念和关系被标识以支持一个特定的角色(或模式)。进而,所交换消息的顺序需要清楚地指定。

仲裁原则的基础是 SOA RM 的能见度定义(“服务消费者和提供者之间相互交互时都能满意的一种关系”)和一个仲裁者,它是用相互能联结的实体和解决不匹配状态的方式来进行描述的。

该标准定义了如下的仲裁者类型:

  • 本体到本体的仲裁者(OO-Mediators)将本体联结起来并解决术语上和表示上的不匹配;
  • 服务描述到服务描述仲裁者(SS-Mediators)将服务描述联结进来并解决其功能表示上以及 / 或其访问方式上(例如,在能力和 / 或接口之间)的不匹配;
  • 目标描述到目标描述的仲裁者(GG-Mediators)将目标描述联结进来并解决服务请求者请求中的不匹配,同样是从功能或接口来考虑;
  • 服务描述到目标描述的仲裁者(SG-Mediators)将服务描述与目标描述联结起来,在消费者和提供者对于功能和 / 或其访问上的不同观点进行仲裁。

不同的仲裁者可以被归组到一个仲裁服务当中:

这一机制允许仲裁者被用于描述复杂服务所提供的功能片断以支持执行具体的仲裁场景。一个仲裁服务可以是目标描述也可以是服务描述。前者会被链接到在发现流程中用于找寻仲裁者所描述的可用功能的服务的目标,而后者会被链接到能提供仲裁者所描述的功能的服务

通过发布这一仲裁者和其所需要的所有本体,目标和服务描述,能见度的要求被满足,因此能允许目标和服务进行交互。

在接下来的几周或几月内,现有的工作草案将会按需更新以进入到公众评阅草案阶段。

查看英文原文: Reference Ontology for Semantic Service Oriented Architectures

2008-12-12 02:191546
用户头像

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

关注

评论

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

写给想学和在学编程的你们,学习编程的7个好处

三钻

学习 程序员 软件开发 编程之路 经验分享

图解JavaScript——代码实现(六种异步方案,重点是Promise、Async、发布/订阅原理实现,真香)

执鸢者

原理 异步 Promise Async

SpringCloud服务注册与发现(Eureka)

xcbeyond

Java SpringCloud Eureka 服务注册与发现

职业发展的迷茫与困境:你真的了解晋升机制吗?

伴鱼技术团队

职业规划 技术管理 技术交流 职业成长 技术人生

【数据结构与算法】如何高效学习数据结构与算法

三钻

学习 数据结构与算法

浅析Python3列表操作之*和*=

wangkx

Python Python基础

带你体验Vue2和Vue3开发组件有什么区别

三钻

Java Vue 大前端 Vue3 React

DSN 主流项目调研 0——IPFS&&Filecoin白皮书总结

AIbot

区块链 分布式存储 分布式文件存储 IPFS Filecoin

5大法则助你 成为更出色的开发者

三钻

学习 编程 程序员 敏捷开发 经验分享

【FCC前端教程】44关学习CSS与CSS3基础「一」

三钻

CSS css3 程序员 大前端

【第十周作业】

Aldaron

VSCode插件大全|VSCode高级玩家之第二篇

三钻

程序员 vscode 编辑器 插件 技巧

Lambda架构已死,去ETL化的IOTA才是未来

易观大数据

6个高效学习编程的方法

三钻

学习 程序人生 大前端 后端

DSN主流项目调研1——Storj和Arweave的简介

AIbot

分布式存储 区块链+ 分布式文件存储 Storj Arweave

Git分支管理策略及简单操作

wangkx

git git flow

VSCode常用快捷键大全|VSCode高级玩家宝典之第一篇

三钻

学习 程序员 效率工具 vscode 快捷键

用“易于改编”原则,提升编程水平,写出更好的代码

三钻

程序员 大前端 后端 经验分享 编程风格

docker-compose构建springcloud微服务项目

xcbeyond

Java Docker Docker-compose springboot

前端必看的8个HTML+CSS技巧

三钻

Java html html5 css3 大前端

解读CDN的应用场景与产品价值

阿里云Edge Plus

CDN

憋再PS抠图了,3行代码给你安排的明明白白!

wangkx

生产力 图像识别

国内外低/零代码的有哪些代表?

代码制造者

编程语言 低代码 零代码 信息化 开发应用

更优雅的编写JavaScript

三钻

Java 程序员 大前端 经验分享 ES6

CentOS7 下Docker安装、启动

xcbeyond

Docker 软件安装

【第十周】学习笔记

Aldaron

VSCode配置同步|VSCode高级玩家宝典之第三篇

三钻

程序员 效率工具 vscode 开发工具

你真的懂怎么写`服务层`吗?

三钻

php 程序员 后端 服务 架构思维

IDEA直连服务器,进行项目Docker部署,实现一键部署、启动

xcbeyond

Java Docker idea插件

【FCC前端教程】28关学会HTML与HTML5基础

三钻

CSS html 大前端

Python中list操作之append、extend

wangkx

Python Python基础

语义面向服务架构参考本体论_SOA_Boris Lublinsky_InfoQ精选文章