写点什么

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

  • 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:191318
用户头像

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

关注

评论

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

Go语言学习查缺补漏ing Day8

Regan Yue

Go 语言 11月日更

Apache ShardingSphere 5.0.0 内核优化及升级指南

SphereEx

数据库 开源 架构 ShardingSphere SphereEx

超强实时跟踪系统首次开源!支持跨镜头、多类别、小目标跟踪!

百度开发者中心

AI 实时跟踪

CSS布局(六)之居中布局

Augus

CSS 11月日更

数据分析从零开始实战,Pandas读写TSV/Json数据

老表

Python json 数据分析 11月日更

Python代码阅读(第64篇):角度与弧度互转

Felix

Python 编程 Code 阅读代码 Python初学者

7张图揭晓RocketMQ存储设计的奥妙

中间件兴趣圈

RocketMQ 存储 消息队列 Apache RocketMQ

如何通过mock数据提高前端开发效率?

石云升

大前端 Mock 职场经验 11月日更

如何使用 Flutter 创建桌面应用程序【Flutter专题1】

坚果

flutter 签约计划第二季

充分挖掘数字人民币的三个隐性价值

CECBC

linux如何将输出重定向到文件和标准输出

入门小站

Linux

为什么Git用SHA做版本控制,而非像SVN用int数字或者是时间戳

吴脑的键客

git 学习

分享8个可以编译为JavaScript的语言

devpoint

typescript 函数式编程 11月日更 ClojureScript Clojure

C#中的yield

喵叔

11月日更

如何使用 Workbench 远程连接到 MySQL 数据库 -MySQL Workbench 使用教程

蒋川

MySQL 数据库 MySQL 数据库

Python Qt GUI设计:QPainter、QPen、QBrush和QPixmap窗口绘图类(基础篇—17)

不脱发的程序猿

Python GUI设计 PyQt5 绘图功能

ExoPlayer播放在线TS文件无声音问题分析

Changing Lin

11月日更

掘金新大陆——最后一个十亿蓝海

水晶球“数据洞察”正式上线:洞悉用量趋势变化,觉察互动体验细节

声网

人工智能 水晶球 数据洞察

在线VLOOKUP数据查找工具

入门小站

工具

完美!华为爆出Redis宝典,原来Redis性能可压榨到极致

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

InfoQ 写作平台优质创作者签约计划第二季,我们来了!

InfoQ写作社区官方

签约计划第二季 热门活动

猫,量子力学,和手机人像摄影之变

脑极体

在 Flutter 中使用 http包【Flutter专题2】

坚果

flutter 签约计划第二季

非科班毕业生,五面阿里:四轮技术面+HR一面已拿offer

热爱java的分享家

Java 架构 面试 阿里 经验分享

虚拟偶像,人类探索元宇宙的萌芽

CECBC

26 K8S之Service资源调度

穿过生命散发芬芳

k8s 11月日更

双非渣硕,在传统公司磨炼四年后成功拿到阿里offer!(附面经分享)

Geek_1df311

Java 程序员 架构 面试

工具 | pg_recovery 设计原理与源码解读

RadonDB

数据库 postgresql 源码 RadonDB

献出我的膝盖!这份“基础-中级-高级”Java程序员面试集结,看完我是说直接跪了

热爱java的分享家

Java 架构 面试 程序人生 经验分享

【高并发】朋友去面试竟然栽在了Thread类的源码上

冰河

Java 并发编程 多线程 高并发 异步编程

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