写点什么

通用信息模型,助你构建丰富语义的服务

  • 2010-09-14
  • 本文字数:947 字

    阅读完需:约 3 分钟

成功实施 SOA 的必备要素之一是服务消息在语义上的互操作性。通常,为实现这一点,服务消息 / 接口应该基于行业相关的通用信息模型(Common Information Model,简称 CIM)。因为 CIM 是抽象的,所以绝大多数情况下都需要对 CIM 进行扩展,其原因有很多,可能是出于整合的目的而加入某些附加的数据,也可能需要加入某些元素,让其承载服务组件的某些业务逻辑。Gandhi Sivakumar 和 Ram Viswanathan 在 DeveloperWorks 的一篇新文章中介绍了 3 个典型的 CIM 层,并界定了它们各自的特性。

两位作者认为,核心 CIM 层是基础,它

……包括原始发布的行业模型,比如电信管理论坛为电信行业定义的共享信息数据模型(SID)和 IBM 为金融行业定义的 IBM 金融服务模型(又称 IFW),它们包含一些抽象实体,它们的属性和关系。

这一层通常是预定义的,但是可以稍微对其进行客户化,如添加一些缺失的数据定义、关系和唯一命名标识等。这一层一般有其独立的命名空间,这样服务规范生成工具就可将它作为一个独立的基础层来维护,从而与其他 CIM 层相分离。

弱化 CIM 层是对核心 CIM 层的扩展,它:

……包括一些扩展的 CIM 实体,这些实体能够传达纯粹的业务语义……通常,除非在业务的角度有其他的方法保证这些元素的存在,并能进一步通过抽象术语来表示它们,不然,建模工具一定要为它们的声明实现可视化,以使它们可出现在服务接口中。

弱化 CIM 层是核心 CIM 层的扩展,它提供了更多的属性、对象、关系和接口。该层包含了大量的实现服务所需但在核心 CIM 中找不到的那些与业务相关的实体。一般来说,这一层是最动态的,而且随着服务中要求增加越来越多的功能,它也在不断地发展。

最后,最弱化 CIM 层

……包括纯粹为整合的目标所需的对象、属性、接口和方法。譬如,与实体相关的消息头、控制结果和连接服务操作以及弱化 / 核心 CIM 层所需的实体。需注意的是该层必须与弱化 CIM 和核心 CIM 层共存,而这两层又是通过服务操作连接起来。

此层的目的纯粹是提供为实现整合及控制功能所需的那些实体。

本文为在 SOA 实施中采用行业特定的 CIM 模型带来了一个良好定义的多层次的方法。文中提到的明确分离的核心、服务相关和整合相关的扩展,有利于更好地维护 SOA 的语义模型。

查看英文原文: Using the Common Information Model for Building Semantic Services

2010-09-14 03:331802
用户头像

发布了 184 篇内容, 共 80.1 次阅读, 收获喜欢 8 次。

关注

评论

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

如何站在架构师的角度做框架

小新

Java 集合 框架

区块链+金融赋能高原特色农业重点产业

CECBC

打破信息孤岛 区块链+咖啡 特色农业 咖云链

架构师训练营第五周学习总结

张明森

架构师训练营 第 5 周作业

Lingjun

极客大学架构师训练营

源码分析 | 数据异构Canal 初探

小新

专科程序员与本科程序员之间有什么区别?薪资待遇又差多少?

码农月半

spring 程序员 面试

解读 java 并发队列 BlockingQueue

猿灯塔

Java

SQLite你用对了吗

山楂大卷

sqlite 数据库 选型

如何搭建一个Zookeeper集群

Rayjun

大数据 zookeeper 分布式

Java架构-Apache POI Excel

猿灯塔

ConcurrentHashMap里面也有死循环

无予且行

Java jdk 面试 jdk8

锦囊篇|一文摸懂SharedPreferences和MMKV(二)

ClericYi

农产品电商平台的S曲线分析

石云升

增长 S型曲线 破局点

为什么建议项目中统一线程池类?

张挺

计算机操作系统基础(十一)---线程同步之互斥量

书旅

php laravel 线程 操作系统 进程

在Windows上使用IIS来托管站点

Puran

windows IIS Server

cms项目系列(一)——SSM框架搭建

程序员的时光

spring

1.2w字 | 初中级前端 JavaScript 自测清单 - 1

Geek_z9ygea

Java 大前端 Web

架构师训练营 -week5 命题作业

J.Smile

极客大学架构师训练营

【思考】互联网厂商争夺企业市场

superman

企业中台 互联网

你真的理解透彻高并发了吗?来看看架构师眼里的高并发

小谈

Java 面试 高并发 高并发系统设计

面试中必问的JVM应该怎么学(面试题含答案)

猿灯塔

PHP实现一致性哈希算法

任小龙

授权专利争夺正当时

CECBC

数据隐私 授权专利 平台应用服务

什么时候不要用微服务?以 Istio 为例

无予且行

Java 微服务 后端

饿了么4年,阿里2年:我的总结与思考

程序员生活志

工作经验

今天来聊聊如何挑书

封不羁

读书 个人感想

面试官:既然CPU有MESI,为什么 JMM 还需要volatile关键字?

犬来八荒

Java 面试 JVM 硬件

编程核心能力之组合

顿晓

Java 学习 pipe

程序员阿里、京东、美团面试整理的面试题,测试一下你都会了吗?

小谈

Java 阿里巴巴 面试

spring 那点事儿——让你少走弯路

爱java爱自己

Spring Cloud Spring Boot

通用信息模型,助你构建丰富语义的服务_SOA_Boris Lublinsky_InfoQ精选文章