如何让SOA更智能

日期: 2009-02-22 来源:TechTarget中国 英文

  让SOA更智能

  用语义级的本体描述语言(OWL)来描述SOA的整个过程,可以提高SOA的自动化程度,以实现服务的自动发现、自动匹配与自动组装。

  北京地税个税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)等术语,这里不再赘述。
 
  分页标题
  
  地税对私业务实例

  以下结合个人所得税服务管理系统中的信息核对服务实例来解析上述基于OWL的服务描述方法的语义描述能力。

  假设用户张三使用信息核对服务,成功核对了个人身份信息。在信息核对服务实例中,假设包含以下子服务: 公安数据交换服务、核心数据交换服务、身份核对服务、车船核对服务、房产核对服务。下面来分别描述各个子服务。

  在公安数据交换服务中,公安数据交换系统作为服务的提供者,也是服务的参与者,用户张三作为服务的请求者,也是服务的参与者。公安数据交换系统“提供”了公安数据交换服务; 张三“消费”了公安数据交换服务。张三使用了公安数据交换服务后,成功完成与公安数据的数据交换,得到身份信息及与纳税人的身份关系,这是公安数据交换服务的“效果”。

  假设在服务页面上有如下提示“请输入18位身份证号”,这就是“information item”,同时“请输入18位身份证号”描述了一个操作步骤,是一种“描述”,它“描述”了下一个步骤。张三在“information item”的提示下输入了自己的身份证号,成功完成公安数据交换,获得了相关的身份信息,成功调用了该子服务。

  获得相关个人信息后,身份核对服务开始运行,同样,身份核对系统和张三分别是身份核对服务的提供者和请求者。身份核对服务运行过程中若有相关提示,如“核对中,请稍候”,该提示即为“information item”,是对核对进行状态的一种描述。核对完成后,系统提示核对成功,于是张三“消费”了身份核对服务,得到了一个身份核对服务的“效果”,即核对成功,在身份核对服务中,这个“效果”同时也是一种“修改”,即对于身份核对状态的一种改变。

  核心数据交换服务、车船核对服务、房产核对服务与上述两服务基本类似,这里不再加以重复描述。

  需要说明的是,本文所述服务描述方法中,OWL语言所支持的基数受到限制。在上述例子中体现为,公安数据交换服务只能有公安数据交换系统一个提供者,身份核对服务也只能有身份核对系统这样一个服务提供者,这由本体(ontology)中对服务的基数限制决定。同样,公安数据交换服务至少有一个“效果”,即交换成功或者交换失败,本例中交换服务有两个“效果”。

  最后,从信息核对服务这个整体来看,这些子服务构成了一个“组合(composition)”,而信息核对服务由这个组合“提供(produce)”。这个组合“has component”身份核对服务,与之相对,身份核对服务“is component of”这个组合。

  限于篇幅,此处只是简单地描述了几个服务实例。事实上,本文描述的本体可以作为应用于地税行业SOA的领域本体的核心,并在此基础之上可以使用OWL进一步对SOA中的服务发现、服务匹配、服务组装进行描述,从而完成对SOA整个过程的完整语义描述,以实现服务的自动发现、自动匹配与自动组装。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 多云工作负载迁移:自动化是何作用?

    云计算正在发展进入一个崭新的、更成熟的阶段。云规划和部署的关注点已经从低效应用的远程托管转至对云的支持,并将其作为开发人员所使用的虚拟应用平台。

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。