写点什么

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

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

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

关注

评论

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

「Spark从精通到重新入门(一)」Spark 中不可不知的动态优化

尔达Erda

云计算 大数据 spark 开发者 感悟

智慧社区服务平台搭建,智慧安防社区建设方案

电微13828808271

WeTest小程序质量专项方案推出,小程序异常监控内测招募中

WeTest

打造全新批流融合:详解 Apache Flink 1.14.0 发布的 Pulsar Flink Connector

Apache Pulsar

Java 大数据 分布式 云原生 Apache Pulsar

使用 @Transactional 时常犯的N种错误

程序猿DD

spring Spring Boot 事务

云原生:详解|容器核心技术解析

息之

Docker 镜像 技术优势

【量化】股市技术分析利器之TA-Lib(一)

恒生LIGHT云社区

量化投资 量化

如何更快上手使用 OceanBase 社区版?

OceanBase 数据库

数据库 直播 课程 OceanBase 开源

Istio 实践手册 | 迎接新一代微服务架构

xcbeyond

istio 服务网格 28天写作 12月日更 Istio 实践手册

官宣!yMatrix 完成A轮融资,打造超融合时序数据库!

YMatrix 超融合数据库

博文推荐|使用 Pulsar IO 打造流数据管道

Apache Pulsar

Java 开源 架构 云原生 Apache Pulsar

四步做好Code Review

百度开发者中心

Code Review

秒过!度目智慧通行让常态化防疫更高效

百度开发者中心

人工智能

区块链IM社交系统开发,区块链即时通讯直播系统搭建

电微13828808271

【有奖征文】第一届 OceanBase 技术征文大赛来啦!

OceanBase 数据库

数据库 开源 征文大赛 oceanbase

Linux/CentOS/Ubuntu查看文件内容命令总结

入门小站

Linux

搭建企业级实时数据融合平台难吗?Tapdata + ES + MongoDB 就能搞定

tapdata

云原生:Docker实战之容器命令解析(附视频教程)

息之

Docker 视频课 解析

科技热点周刊|PHP 基金会成立、Rust 内讧、Amazon Linux 2022 预览版发布

青云技术社区

云计算

大规模 K8s 集群管理经验分享 · 上篇

尔达Erda

程序员 云原生 k8s K8s 多集群管理 经验分享、

《鱿鱼游戏》中的 AI 是绝对公平的吗?

澳鹏Appen

人工智能 人脸识别

贝壳Flutter调试工具-FDB

贝壳大前端技术团队

flutter 调试工具 内存监控

云原生:详解|K8s核心对象技术

息之

k8s pod service Deployment

区块链应用食品溯源,为食品安全保驾护航

电微13828808271

如何设置Activity背景颜色与ProgressBar进度条颜色

Changing Lin

12月日更

年末冲刺!坚持就是胜利,12月日更来啦~

InfoQ写作社区官方

12月日更 热门活动

架构实战营模块五作业

spark99

架构实战营

社区知识库|常见问答 FAQ 集合第 1 期

Apache Pulsar

Java 开源 Apache Pulsar 代码人生 社区

ZEGO 即构科技首发适配鸿蒙系统的 Express SDK 1.0 版本,并正式启动公测!(内附源码)

ZEGO即构

音视频 HarmonyOS 鸿蒙开发 即构科技

后端开发实战总结 | 签约计划第二季|后端

阿Q说代码

内容合集 签约计划第二季 技术专题合集

【量化】股市技术分析利器之TA-Lib(二)

恒生LIGHT云社区

量化投资 量化

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