文案:专家分享选择开源和自研道路上的考量以及具体的业务案例,点击查看 了解详情
写点什么

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

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

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

关注

评论

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

DialogFragment探索与实现(1),2021年是做安卓开发人员的绝佳时机

android 程序员 移动开发

esp8266~lwip突破MTU最大1500限制,apt编译时期自动生成代码&动态类加载

android 程序员 移动开发

Flutter 1,基于h5框架的移动app开发

android 程序员 移动开发

新一代云原生的微服务架构分享

鲸品堂

云原生

Flutter App的启动流程,kotlin单例模式

android 程序员 移动开发

王者荣耀商城异地多活架构设计

缘分呐

架构设计

CountDownLatch 源码分析示例,《Android面试题及解析》分享给大家

android 程序员 移动开发

Flutter GetX使用---简洁的魅力!,Android高级

android 程序员 移动开发

Flutter _ 你真的会用 Slider 组件吗?(1),androidapp开发入门

android 程序员 移动开发

kubernetes系列随笔02:docker技术原理

谦寻

Docker Kubernetes 容器

Dalvik 和 ART 有什么区别?深扒 Android 虚拟机发展史,真相却出乎意料

android 程序员 移动开发

架构训练营模块七作业-王者荣耀商城异地多活架构设计

李焕之

FFmpeg之OpenGL绘制与Native Window绘制(五),安卓面试题及答案2020百度

android 程序员 移动开发

Flutter 中 Wrap 的使用详解(含对比图) _ Flutter Widgets

android 程序员 移动开发

Python爬虫私活,代码公开!采集了20000+漫展历史数据,一言不合就开源

梦想橡皮擦

11月日更

Code Review&编程习惯(1),安卓网络通信开发

android 程序员 移动开发

Code Review&编程习惯,安卓工程师面试题

android 程序员 移动开发

DialogFragment探索与实现,android高级工程师面试题

android 程序员 移动开发

Flutter Dio二次封装,Android开发还不会这些

android 程序员 移动开发

测试用例又双叒叕失败了,NLP帮你来分析

华为云开发者联盟

软件 测试 nlp 测试用例

cmake使用教程(九)-关于安卓的交叉编译,腾讯&字节&爱奇艺&网易&华为实习面试汇总

android 程序员 移动开发

Context都没弄明白,还怎么做Android开发?,靠着这份面试题跟答案

android 程序员 移动开发

模块七:王者荣耀商城异地多活架构设计

apple

Flutter 2,面试官问的那些Android原理你都懂吗

android 程序员 移动开发

Flutter _ 你真的会用 Slider 组件吗?,kotlin中文文档pdf

android 程序员 移动开发

Flutter 与 原生交互(Android),含BATJM大厂

android 程序员 移动开发

Coroutine 基本原理,吃透这份阿里P8纯手打Android面经

android 程序员 移动开发

Flutter 2(1),字节跳动高工面试

android 移动开发

Flutter 中获取屏幕以及 Widget 的宽高,flutter小程序开发

android 程序员 移动开发

Dagger2入门系列一:基础使用,从基础到源码统统帮你搞定

android 程序员 移动开发

Python代码阅读(第53篇):字符串重复拼接

Felix

Python Code 字符串 阅读代码 Python初学者

面向体验的视频云-火山引擎增长沙龙

面向体验的视频云-火山引擎增长沙龙

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