【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

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

关注

评论

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

Prototype以及jQuery和CDN -内容分发网络在使用JavaScript实战运用

恒山其若陋兮

8月月更

用RocketMQ这么久,才知道消息可以这样玩

牧小农

RocketMQ

IDEA开发Spark应用实战(Scala)

程序员欣宸

8月月更

来聊聊 OpenJDK 和 JVM 虚拟机

HoneyMoose

Java基础之网络编程(二)

自然

网络 8月月更

解密 Flutter 的 const 关键字

岛上码农

flutter ios 前端 安卓开发 8月月更

Java基础之网络编程(一)

自然

网络 8月月更

RT-Thread记录(十、全面认识 RT-Thread I/O 设备模型)

矜辰所致

单片机I/O设备的控制方式 RT-Thread 8月月更 设备模型

架构师的十八般武艺:高可用

agnostic

容灾

用户权限-Linux系统特殊权限

Albert Edison

Linux centos 运维 用户权限 8月月更

[CSS入门到进阶] 用transform后z-index失效了?总结transform的注意事项!

HullQin

CSS JavaScript html 前端 8月月更

Bigdata 毕业设计

Pyel

架构设计小结

Geek_e8bfe4

毕业总结

Geek_2ce415

Bigdata 大数据训练营毕业总结

Pyel

IT运维如何助力企业数字化转型

阿泽🧸

数字化转型 8月月更

基于STM32+ESP8266设计物联网产品(重点支持微信小程序一键配网连接腾讯云平台)

DS小龙哥

8月月更

模块九毕业设计

Geek_2ce415

架构实战营毕业总结

Naoki

架构实战营

高绩效研发团队领导者的视野和格局

顺哥聊成长

秒杀系统设计demo

Geek_e8bfe4

国内外最顶级的11款Wiki 系统工具

PingCode

【Go事】一眼看穿 Go 的集合和切片

梦想橡皮擦

Python 爬虫 8月月更

IPv6过渡技术部署策略与建议

穿过生命散发芬芳

ipv6 8月月更

Struts2应用详解

No Silver Bullet

应用 Struts2 8月月更

SpringBoot(二、基础知识)

SpringBoot 2 8月月更

架构实战营模块 9 作业

Naoki

架构实战营

如何做好项目规划?以及项目规划常用的管理软件盘点

PingCode

项目管理

数据结构——树(树的基本概念)

工程师日月

8月月更

Spring 全家桶之 Spring Data JPA(五)

小白

8月月更

如何安全地移动WSL 2 到另一个驱动器

DisonTangor

windows WSL2

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