UML软件工程组织

 

 

SOA 质量管理在 SOA 服务生命周期管理中的角色
 
作者:Gary McBride 来源:IBM
 

本文内容包括:

本文来自于 Rational Edge:本文介绍了 SOA 服务生命周期管理,并且阐述了 SOA 质量管理以及 IBM Rational 工具及最佳实践的支持对于将 SOA 开发活动与业务目标相结合的重要性。

 好的治理是构建成功的面向服务的体系结构(Service Oriented Architecture,SOA)的基础。SOA 治理是使各种业务单位和 IT 涉众确保他们共同设计的 SOA 是真正跨企业的。缺乏恰当的治理会令您很难获取将 SOA 的业务价值最大化的业务过程敏捷性和投放到市场的时间优势。

缺乏恰当治理的 SOA 计划几乎无疑地不能够交付长期的业务利益。而且,由于没有考虑企业中不同组织的需求,不具有治理的 SOA 成为了另一个烟囱管应用程序。许多 IT 分析人员都认为,SOA 治理对 SOA 成功来说比 SOA 技术更关键。事实上,就像 Danny Sabbah,IBM Rational 的总经理最近说的:“SOA 是 1% 的服务和 99% 的治理。” 1

服务生命周期管理是 SOA 治理向您的 SOA 及 SOA 服务的实际构建中的一个应用。然而,治理属于业务涉众,管理是技术人员(负责“实现”的团队)的权限。服务生命周期管理必然与 SOA 治理紧密结合,因为在软件交付的每个步骤(从业务分析人员到架构师到开发人员到测试人员,再到操作)上,确认了将要构建的内容结合了企业的明确业务需求是关键的。

SOA 质量管理是服务生命周期管理的一个方面 —— 与交付生命周期所有阶段的规程相交叉。IBM 将 SOA 质量管理定义为这样一个过程,通过确认 SOA 生命周期中服务的功能和操作此过程能够确保服务满足业务需求。

本文将说明 SOA 治理、SOA 服务生命周期管理,与 SOA 质量管理是怎样关联的,以及 IBM Rational 工具和最佳实践如何支持它们。文中的重点是通常的 SOA 服务生命周期管理 —— SOA 治理的实现 2 —— 以及特别的 SOA 质量管理。

SOA 治理:服务生命周期管理的基础

有效的治理为跨人、过程和技术的集成方法服务。在 IBM 中,我们看到了与按照四个阶段(计划、定义、启动和度量)的 SOA 生命周期相关的必要治理活动,它们是由图 1 中所示的迭代过程流连接起来的:

图 1

图 1:SOA 治理基础

在许多方面,SOA 计划最有挑战的方面可能是第一步:让所涉及的所有涉众都在最初的计划阶段一起工作。确定计划的范围,授权给所涉及的各种组织,以及确定度量成功的方法需要来自许多不同部门和组织的协作。

迭代的、四个阶段的 SOA 治理过程的目标是精炼并增强治理有效性,并优化对于 SOA 计划的业务价值。这四个阶段是:

  • 计划(Plan):在初始的计划阶段,涉众们合作建立并提交 SOA 治理及其整体范围的需求,并且计划项目范围、所有权,及资金,也许建立一个优秀的团队来监督 SOA 项目。在后继的迭代中,计划将确定出 SOA 治理在哪些领域可以有所提高,或者确定出 SOA 治理实现时所处的新领域,同时这些变更将应用于治理计划。
  • 定义(Define):已经确定出改进治理的机会之后,业务和 IT 涉众将协作定义新的治理策略和过程。在此阶段,组织描绘出了附加的 SOA 能力,对跨业务线的服务复用的策略达成一致,建立过程以保证服务水平,等等。
  • 启动(Enable):在此阶段,前一阶段定义的策略,将展示给企业中各种涉众。在此阶段中,组织向决策制定团体说明它们的策略,使它们确保需求得到满足,并且确保它们的组织随时可以得益于 SOA。
  • 度量(Measure):在此阶段,建立了治理策略和过程(例如,服务等级约定(Service Level Agreements ,SLAs)、复用等级,或变更策略)。这些是根据成功/效力标准(在定义阶段建立的)进行评估的,并且新的 SOA 治理活动的迭代将在那些讨论的基础上进行计划。

服务生命周期管理:应用到软件交付上的 SOA 治理

一旦组织通过多个计划、定义、启动和度量活动的迭代建立了 SOA 治理,就可以建立起最佳实践的坚固基础,极大地简化了 SOA 实现的实际构建。改进的策略生成了更好的规格,它授权了更健壮的计划,等等。

重要的是要注意,SOA 治理过程决不要落在后面。成功的服务实现需要对原始 SOA 治理框架进行不断的验证和更新。服务必须根据计划进行构建,不能达到的计划要进行修改。SOA 治理支持并指导服务生命周期管理的迭代的 SOA 实现循环。

人们可以把 SOA 治理阶段作为业务需求的具体化过程,并且把相应的服务生命周期管理阶段作为指导补充那些需求的技术的过程。例如,SOA 治理需求,像“我们要在五分钟内拿到订单项”可能会导致这样服务生命周期管理的规格,像“系统必须在 100 毫秒或更少的时间内对输入 X 进行响应”。然而,在两种情况下,都是相对于原始的业务计划来管理活动。

像 SOA 治理一样,SOA 服务生命周期管理是一个迭代的过程,如图 2 所示。该过程在 SOA 生命周期过程中持续进行。

图 2

图 2:SOA 服务生命周期管理

虽然本质上它们支持实现,而不是治理,但是服务生命周期管理的阶段与 SOA 治理阶段非常类似:

  • 建模(Model):验证计划。在此阶段,架构师共同回顾当前的 SOA 治理计划并且将其作为 SOA 实现的建模基础。
  • 组装(Assemble):验证定义。在此阶段 ,开发人员将架构师已经建模了的可复用的服务资产进行组装,从而创建将业务过程自动化,并且集成了业务过程的面向服务的应用程序。
  • 部署(Deploy):验证启动。在此,测试及发布管理功能对服务进行部署。
  • 管理(Manage):验证度量,借此,操作(Operation)将管理产品中的服务。

在四个 SOA 服务生命周期管理的每个阶段中,实践人员不断地根据原始的业务需求验证其活动和成果。这样,治理确保了业务需求推动了服务交付生命周期的所有方面,并且确保了实现仍旧与业务目标结合在一起。例如,在部署阶段,测试团队会根据治理过程中商定好规格,验证所部署的服务能如预期结果一样为其预定的用户团体服务。当然,可以根据实现团队在交付服务时实际遇到的问题来修改需求。

到达 SOA 质量管理的道路

服务复用是在 SOA 实现中促使成本节约和业务灵活性的关键因素之一。然而,如果一个服务被许多复合的业务应用程序使用的话,那么对该服务的高质量和性能的需求将比今天许多纵向集成的应用程序要更大。另外,复用的承诺承担了潜在的风险:违反安全性或法规遵循政策的服务、妨碍其他服务操作的服务,等等。需要平衡风险与服务复用的价值,而该过程已经作为 SOA 质量管理了。

以前,测试是瀑布式发布计划的最终阶段,在软件开发过程最后进行。现在,SOA 高质量的要求需要团队必须针对性能、复用、法规遵循、安全性,等等对他们根据业务需求所构架、构建、部署,及管理的东西进行验证 —— 在 SOA 实现生命周期地每个阶段。验证 SOA 的意思是在服务层和复合应用程序层对组件进行测试。它还意味着处理与遍布不同部门、不同实践,或者也许是全球分布的团队合作中所固有的控制问题。

SOA 计划从而推动了软件开发过程中的质量管理演进,如图 3 所示。

图 3

图 3:从软件测试到业务驱动的质量管理

从传统软件测试到业务驱动的质量管理的这一加速趋势是业务/IT 协作中前进的下一个步骤。在该环境中,软件测试仍旧非常重要,但是它只是跨整个 SOA 环境管理质量的,优化业务灵活性并降低整体成本的一个部分。

SOA 质量管理:服务生命周期管理的一个方面

SOA 质量管理是服务生命周期管理的一个重要方面 —— 它反映了解决跨多个 SOA 服务实现的服务质量多个方面的需要。IBM 专注于交付端到端的 SOA 质量管理,从建模到组装、部署和管理。SOA 质量管理所涉及的远远多于传统的软件开发和测试。它围绕着所有的方式,业务和 IT 组织可以以这些方式在服务方面,以及从概念到服务和复合业务应用程序的运行终结的生命周期方面进行合作。

IBM SOA 质量管理交付的重要能力包括:

  • 通过工具和最佳实践,在 SOA 生命周期中,引起对质量管理的关注
  • 通过对业务服务进行是否遵循业务和法规需求的功能及性能测试,来确保业务敏捷性
  • 通过流线化并消除过程冗余,优化并自动化跨业务过程的工作流。

图 4 例举出 SOA 质量管理活动如何通知 SOA 服务生命周期管理的。

图 4

图 4:SOA 质量管理通知 SOA 服务生命周期管理

每个服务生命周期管理阶段中的循环箭头表明,SOA 质量管理活动在每个阶段中进行迭代 —— 下潜到 SOA 治理基础上,从而验证在 SOA 生命周期的每个阶段都在满足着业务需求。每个服务生命周期管理阶段中的 SOA 质量管理过程都包括以下活动:

建模:

  • 确认业务需求
  • 发现并根据目前的服务进行评估
  • 对服务需求建模

组装:

  • 创建服务更新计划
  • 创建或修改服务,以满足业务需求
  • 根据治理规则评估服务

部署:

  • 质量保证服务
  • 功能测试
  • 性能测试
  • 法规遵循测试
  • 批准服务部署

管理:

  • 在服务生命周期中,管理并监控服务
  • 在注册处跟踪服务
  • 根据 SLA 报告服务

BM Rational 在 SOA 质量管理中的角色

IBM Rational 品牌的基本价值主张是在分布的团队之间,并且跨分布的环境进行端到端的软件交付生命周期的管理。因此,不会令人惊讶的是,IBM Rational 工具和最佳实践成为 IBM 的 SOA 质量管理构想的重要部分。如图 5 所示,质量管理产品代表了 IBM Rational Software Delivery Platform 四个关键部分的一个。

图 5

图 5:对 IBM Rational 品牌中的质量管理的强调

IBM Rational 帮助企业实现业务驱动 —— 换句话说,质量驱动 —— 提供简化并加速了业务过程建模和 SOA 的组装、部署,及管理的公认工具和过程指导的 SOA 管理环境。

通过与 IBM Rational Software Delivery Platform 的集成,Rational 不断增强的 SOA 治理能力能够帮助企业:

  • 通过确保业务需求推动自动化并集成业务过程的服务的建模和组装,来确保质量
  • 将现有资产设计为服务,从而扩展其效用,并将其组装成新的解决方案
  • 准时并在预算之内交付高质量的,基于服务的解决方案

在支持 SOA 质量管理的 IBM Rational 产品之中有许多新的工具和产品。这些包括 IBM Rational Tester for SOA Quality(它为很少用到 GUI 的 Web 服务提供自动的回归及功能测试)和 IBM Rational Performance Extension for SOA Quality(它支持对基于 Web 服务的应用程序的性能测试。这些新的产品中有许多以 SOA 为中心的特性,例如,一个能够交付高层次的及详细的测试视图的可视化测试编辑器、对非 GUI 服务的测试的支持、服务消费者的灵活建模和竞争、服务器资源数据的收集及可视化、从 WS-BPEL 业务过程的自动化测试生成,等等。

由此得出结论,SOA 质量管理需要过程变更及新的技术。IBM Rational 能够向团队提供必要的最佳实践支持,以及工具,从而在 SOA 生命周期中有效地管理质量。该能力是必要的,不仅是为了确保复合应用程序的完整性,还是为了成本的减少、投资保护,及 SOA 于业务策略的结合。

注释

1 Danny Sabbah,“The Future of Software Delivery”,白皮书,2007 年 2 月。

2 SOA 治理与 SOA 的整个主题相关,要了解更多关于 SOA 治理的信息,请访问 http://www.ibm.com/software/solutions/soa/gov/index.html

参考资料

 

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号