[原创]元数据在SOA中的作用

2007-3-29 16:08:45【作者】 EAI之技术流 【进入论坛】
yaoyi@jite.net进入SOA之技术流

SOA之技术流

姚毅先生,熟悉行业:电力,设计,软件,IT 
本文关键字 SOA EAI
声明:
1.畅享网专栏专家文章仅代表作者个人观点,并不代表畅享网赞同其观点和对其真实性负责,本网不承担此类稿件侵权行为的连带责任。
2.在本网的文章页面上进行跟帖或发表言论者,均为网友言论,不代表畅享网观点。
广告
SOA(Service-Oriented Architecture )是这几年非常热的一个概念,强调应用程序以松耦合的方式将自己的功能以服务的方式提供出去。通常来说,SOA的建立最重要关注两个问题,protocol(SOA 并不是总是依赖于web service)与Schema。实际上,我们也注意到SOA的要求也大大促进了web service的发展,ws-*的一系列符合企业应用要求的标准纳入到web service的体系中。而集成中间件还是比较通用的解决了协议的问题。而XML作为主流的数据交换载体,XSD自然成为定义Schema的不二选择。

  而在实际的实现中,问题就不那么简单,如何定义这样的Schema呢,我们知道,我们提供服务的时候,并不一定知道会提供给哪些应用使用,我们怎么样能够确定定义这样的Schema是良好而完备的,而其它应用程序又能够准确的理解Schema呢,比如说:一个卖书的网站提供一个接受订单的服务,如何定义这样的Schema呢,需要提供书籍的SN,那么其它的应用程序如何判断这个SN是网站定义的SN,还是书籍的IBDN呢?

  这时候,我们可以利用元数据去解决这样的问题,元数据在不同的领域中的定义各不相同,我的理解是元数据就是定义了类别的为什么叫这个名字,书籍这一类别我们就定义为"Book",Book有"IBDN","Title","Publish Date"这几个属性,它和作者(Author)有关联关系,用专业的话说,元数据定义了词法和语义,而通常我们可以用UML去定义元数据。

 

  在W3C标准中,用RDF(资源描述框架)定义元数据 http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/,OWL(本体表述语言)作为其扩展也是W3C推荐标准。有机会的可以详细讨论,实际上RDF同时也可以做为信息的载体。以上例为例,RDF 可以这样定义。

  扯了半天,再扯回如何定义Schema呢,我们定义的Schema,其中的词汇必须在元数据中定义,同时XML元素(Element)和属性(Attribute)的关系符合元数据的类,属性关系,或则包含关系,比如我们可以定义这样的Schema。

  目前,很多厂商已经有自动化的工具能够辅助定义这样的Schema。 

  有一个问题,我是这么定义元数据的,别人可能采用其它的方式定义,怎么统一呢,这就依赖于行业标准,实际上各个行业都有相类似的解决方案,统一后的元数据,可以称为公共信息模型(Common infomation Model)。在一个大型企业中内部的业务集成中,根据业务模型定义企业统一的元数据在集成中有着非常重要的意义。

  关于SOA中接口和Schema的定义,大家也可以参考OAG的标准,实际上OAG 8.0的方式和上面描述的方式有相通之处。在OAG中除了业务实体外,在Schema中还包含业务的动作。目前OAG 9.0有一些改变(不过我还没仔细研究过,就不多多说了,嘿嘿)

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系
SOA之技术流SOA技术摘要

面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定……

廖斌谈SOA[原创]本体Ontology 与语义web..

先看看什么是语义web,网上很多,我摘录一些:Berners-Lee 于2000-12-18 在XML2000 的会议上正式提出了语义Web。语义Web 的目标……