元数据在SOA中的应用(转)

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)。在一个大型企业中内部的业务集成中,根据业务模型定义企业统一的元数据在集成中有着非常重要的意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值