BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Boris Lublinsky 关注 0 他的粉丝 ,译者 马国耀 关注 1 他的粉丝 发布于 2010年9月15日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

成功实施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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT