技术开发 频道

如何让SOA更智能

【IT168 技术文章】

            

     北京地税个税SOA项目组

     SOA是近几年来被频繁提及的概念,它作为一种架构模型,能够帮助系统架构者更迅速、更具有重用性地架构整个业务系统。SOA的核心是“服务”,而对服务的描述则是其中的最重要的环节之一。实际上,正是通过对服务接口的标准化描述,才使得服务可以提供给异构平台上的用户使用。

     目前,服务描述最常用的是一种语法级的描述方法,即基于语法对Web服务特征、接口等进行描述,如WSDL。不过,随着服务描述研究的发展,现在也出现了一些语义级的描述方法,包括轻量级Web服务能力描述语言SCDL、规范化描述语义Web服务的本体框架WSMO、基于OWL语言的Web服务本体OWL-S等。本文基于本体描述语言(OWL),探讨如何对SOA中的服务从语义角度进行描述。

     OWL描述语言

     OWL(Web Ontology Language)是W3C开发的一种网络本体语言,用于对本体进行语义描述。由于OWL是在DAML+OIL 的基础上改进而开发的,所以一方面要保持对DAML+OIL/RDFS的兼容性,另一方面又要保证更加强大的语义表达能力,同时还要保证描述逻辑(DL,Description Logic)的可判定推理,因此,W3C的设计人员针对各类特征的需求制定了三种相应的OWL的子语言,即OWL Lite、OWL DL和OWL Full,这三种子语言的表达能力递增。

     OWL Lite是表达能力最弱的子语言。它是OWL DL的一个子集,但是通过降低OWL DL中的公理约束,保证了迅速高效的推理。因为OWL Lite表达能力较弱,为其开发支持工具要比其他两个子语言容易一些。OWL Lite主要用于提供给那些仅需要一个分类层次和简单约束的用户。

     OWL DL(Description Logic,描述逻辑)将可判定推理能力和较强表达能力作为首要目标,而忽略了对RDFS的兼容性。OWL DL包括了OWL语言的所有语言成分,但使用时必须符合一定的约束,受到一定的限制。OWL DL提供了描述逻辑的推理功能,描述逻辑是OWL的形式化基础。

     OWL Full包含OWL的全部语言成分并取消了OWL DL中的限制,它将RDFS扩展为一个完备的本体语言,支持那些不需要可计算性保证但需要最强表达能力和完全自由的RDFS用户。在OWL Full中,一个类可以看成是个体的集合,也可以看成是一个个体。由于OWL Full取消了基数限制中对可传递性质的约束,因此不能保证可判定推理。

     下面所述方法使用OWL DL来描述SOA中的服务,具有较强的表达能力和可判定推理能力。


服务描述的关键要素

     基于OWL、使用本体(Ontology)对SOA中的服务进行描述,可以从语义角度为实施SOA提供基础支持,同时,还可以使用OWL在此基础之上进一步对SOA中的服务发现、服务匹配和服务组装进行描述。

     在对SOA架构服务进行描述时会涉及以下关键要素:

     服务(Service): 服务是本文所述本体(ontology)中最基本的概念。比如,个人报税系统中会有登录页面,用户输入ID、密码,系统检查数据库匹配ID、密码,返回验证成功或者验证失败,这就是一个登录服务。

     服务提供者和服务消费者: 每个服务都有一个服务提供者,但可能会有多个消费者,产生一个或多个效果(effect)。服务提供者和消费者都是服务参与者(actor)——参与了某个活动。事实上,除了服务提供者和服务消费者还可能有很多其他种类的参与者。

     效果(Effect):  服务会产生效果,效果即为服务对消费者产生的价值。在前面所述的登录服务例子中,登录服务产生了一个效果(effect)——登录成功进入系统或者登录失败拒绝进入。

     此外,还有信息条目(Information Item)、系统和组合(Composition)等术语,这里不再赘述。
 

0
相关文章