技术开发 频道

SOA建模之服务规范

【IT168 技术文章】

    在本篇文章中,我们继续定义 SOA 解决方案。我们对每一个服务的规范进行详细的建模。这些规范将会定义服务的消费者和生产者之间的契约。这些契约包括被提供的和被要求的接口,那些接口在服务规范中所扮演的角色,以及那些角色在提供服务中进行交互的规则和协议是什么。

    本文的内容

    在本文中,我们继续通过对每一项服务的规范进行详细的建模来定义 SOA 解决方案。这些规范将定义服务的消费者和提供者之间的契约。这些契约包括被提供的和被要求的接口,那些接口在服务规范中所扮演的角色,以及那些角色在提供服务中进行交互的规则和协议是什么。

    服务规范概述

    我们还没有准备好开始对服务规范的细节进行建模。服务规范必须为服务的潜在消费者指定其需要知道的每一件事情,以便他们决定是否有兴趣使用该服务,以及如何使用它。它还必须指定服务提供者为成功执行该服务所必须知道的每一件事情。因此,服务规范就是消费者的需要同提供者的提供之间的媒介或者契约。

    理想情况下,这一信息由单一地点提供。这使得为复用服务而搜索资产库和获得所有必要的信息变得十分容易,而且不需要在许多不同的文档中定位或者搜索相关的元素。服务规范至少包括这些信息:

    服务的名称,暗示出其目的。
    被提供和被要求的接口,从而定义由服务和需求消费者所提供的功能性的能力。请注意:这与服务是如何被执行的并不相关,而是与服务的消费者和提供者之间的相互作用相关。
    指定功能性的能力如何被使用以及以什么样的顺序被使用的任何协议。
    反映服务想要达到什么样的成功以及如何对其进行评估的约束。
    服务消费者所期望得到的和服务提供者被期望提供的质量,例如花费、可用性、性能、脚印、任务的适宜性、和竞争信息等等。
    使用服务的原则,例如用于维持安全性和完整性或者用于将服务从无能力恢复到成功执行的安全性和事务范围。

    如同本系列中所有文章一样,我们将使用现已存在的 IBM? Rational? 和 IBM? WebSphere? 工具来建立解决方案并将它们链接在一起,从而我们能够根据需求验证解决方案并且更加有效的对变化进行管理。表1总结了我们将要开发例子的过程,以及我们将要使用的工具。除此之外,我们通过将 IBM? Software Services Profile 添加到 IBM? Rational? Software Architect 中的 UML 模型中,为服务建模扩展了统一建模语言(UML)。

    表1. 开发过程角色、任务和工具
      角色                          任务                         工具
    业务执行官                  传达业务目标               IBM? Rational? RequisitePro? 
    业务分析师                  分析业务需求               IBM? WebSphere? Business Modeler
    软件架构师                  设计解决方案的体系结构     IBM Rational Software Architect
    Web 服务开发人员            执行该解决方案             IBM? Rational? Application Developer 和 IBM? WebSphere? Integration Developer

0
相关文章