面向服务的体系结构(Service-Oriented Architecture,SOA)承诺通过使业务与 IT 需求和目标保持一致来提供业务敏捷性。但是如果没有恰当的治理,SOA 实现只是一组可能不相关的服务,无法交付具有可持续价值的任何东西。作为您的企业中的 SOA 活动的一部分,成功地启动 SOA 治理以保证 SOA 实现的成功是至关重要的。这包括确定何时将 IBM® WebSphere® Service Registry and Repository 集成到 SOA 体系结构流程中。在本文中,了解 SOA 治理,并确定 WebSphere Service Registry and Repository 如何向您提供帮助。

Muhammed Yaseen Muriankara (muhammedyaseen@in.ibm.com), SOA 架构师, IBM

Muhammed Yaseen photoMuhammed Yaseen Muriankara 是位于印度班加罗尔的 IBM India Software Lab 的一名 SOA 架构师。他拥有十多年的软件开发经验,并且在过去七年中一直在负责架构解决方案。在为 IBM 工作之前,他是一名 ESB 和 Service Registry and Repository 架构师,现在与 IBM Business Partner Technical and Strategic Enablement 合作支持系统集成商和合作伙伴使用 SOA 和 IBM WebSphere 产品。他负责领导 SOA Leadership Center Bangalore 的 SOA 治理计划。



2008 年 7 月 10 日

引言

您的业务很可能具有某种形式的文档说明,涉及业务中日常实施的操作过程和目标。该文档说明是提供业务运行状况可见性的工具,并为新员工提供有关业务如何运作的教育。该文档说明介绍主要的业务流程、组织结构、财务管理、目的和目标以及其他相关策略。所有这些项目对于清楚了解业务状况及其运作方式是极为重要的。即使非正式的业务流程也是业务结构的一部分,并影响业务的工作方式和对客户的响应方式。这称为业务设计

在理想的情况下,IT 和业务负责人协作确定业务设计的哪一部分必须实现自动化,以及哪一部分应该手动执行。这最终会改进实现业务目标的效率。您的业务本质上需要对其操作方式做持续的修改。竞争、市场力量、创新和客户要求是影响业务变更的部分因素。当业务与 IT 具有协同关系(其中一个可以适应另一个的需要而进行更改)时,则认为业务是敏捷和灵活的。这有助于保证业务增长。SOA 承诺实现 IT 和业务一致性,而 SOA 治理则确保实现该承诺。


SOA

概括地说,服务 是业务流程中的可重复任务。业务流程 由一组任务组成,然后您可以声明那些任务是服务。业务流程是这些服务的组合。面向服务 是将业务作为一组相联系的服务集成在一起的方式。

然后,SOA 是一种适合于企业 IT 体系结构的体系结构风格,利用了面向服务的原则来实现业务和支持业务的信息系统之间更为紧密的关系。(此定义摘自 IBM developerWorks 上的 SOA 概念 wiki。)

典型的企业具有远景和在各个增长阶段中满足此远景的后续策略。存在旨在使企业经历这其中每个阶段的策略。形成策略组成部分的资产包括业务流程、组织资产、业务模型和 IT。

请考虑一家正规的企业,该企业依赖一系列由各种各样的不同实体执行的服务。图 1 显示了客户、各个公司部门、共享服务、供应商和外包合作伙伴所涉及到的流程和交互。

图 1. 标准企业流程和交互
标准企业流程和交互

通常,企业希望利用这些流程以实现增长。使用这些流程来使企业变得更加高效对于该增长非常关键,并且需要合并业务和 IT 功能以改进组织的敏捷性。有了这种创新,敏捷性也就水到渠成。图 2 显示了这种增长和敏捷性如何在企业生态系统中发生。

图 2. 企业在业务生态系统中的扩张
企业在业务生态系统中的扩张

当您的企业开始这种增长时,可以在 SOA 的帮助下最有效地实现增长。SOA 尝试实现业务与 IT 的一致性,这种一致性最终将交付所需的敏捷性和灵活性。为此,可以通过应用定义良好的方法,从而将业务及其流程细分为在适当的支持环境中公开的服务。


SOA 生命周期

大多数企业都倾向于采用某种生命周期方法来实现 SOA。该方法从模型阶段开始,您将在此阶段中收集业务需求,并设计和优化所需的业务流程。在优化业务流程之后,您将通过组合新的和现有的服务来实现那些流程。然后您将已创建的资产部署到安全的环境中。完成这些资产的部署之后,您需要管理那些资产,并且要同时注意 IT 和业务功能。在此阶段,信息可以帮助提供对支持智能决策的业务流程的认识。所有这一切的核心是 SOA 治理。图 3 显示了生命周期和重要的活动。

图 3. SOA 生命周期
SOA 生命周期

SOA 治理

在定义 SOA 治理之前,您需要了解应用于整个企业的治理是什么。IBM 将治理定义为“建立责任、授权和通信链,以对人员进行权利分配(决策权)”和“建立度量、策略和控制机制,以支持各个人员执行各自的任务和履行相关职责。”

下一个级别的治理是 IT 治理,根据 IBM 的定义,IT 治理“是指与组织的信息技术流程以及这些流程支持业务目标的方式相关的治理方面。”

最后,IBM 将SOA 治理 定义为“IT 治理的一种特殊化,其将关键 IT 治理决策置于服务组件、服务和业务流程的生命周期上下文中。SOA 治理是对该生命周期的有效管理,该生命周期是 SOA 治理的关键目标”。


采用 SOA

通常,采用 SOA 的决定是企业增长策略的一部分。假设您的企业已选择采用 SOA,并且已经为此确定了很好的起点。在开始 SOA 实现时需要考虑的重要特征包括:

  • 处理得到充分理解的业务问题,以说明采用 SOA 的直接优点。
  • 包括业务部门 (LOB) 目标和 IT 目标。
  • 要求超越当前能力的可达范围以处理差距(例如技能和流程)。
  • 成为企业将用作其业务活动的一部分的某种东西。
  • 确保该项目是作为总体业务和 IT 目标路线图一部分的渐进 SOA 采用计划的一部分。

找到 SOA 的基本要素

应用 SOA 以改进敏捷性、灵活性、工作效率和通过重用(举例而言)来加快新产品上市时间,这对 IT 和业务操作都具有直接明显的好处。面向服务本身无法带来改进的工作效率、更快的上市时间和重用的效果,因为存在其他起作阻碍作用的力量。

本练习中确定和公开的服务具有连带的风险:

  • 如果所产生的资产在可重用性方面没有多大价值又会怎么样呢?
  • 如果解决方案不遵守标准和最佳实践又会怎么样呢?
  • 或者更糟糕的是,如果合作项目的结果产生了不适合 SOA 的服务,那又会怎么样呢?
  • 谁将拥有服务并对其做出投资?
  • 谁将使用它们?
  • 人们如何订阅它们?
  • 是否存在用于管理服务更改以满足新需求的流程?
  • 解决方案是否足够安全?
  • 如何能够对其进行充分测试?

这些全都是在启动任何基于 SOA 的项目之前应该处理的问题。

设计用于在您的企业中实现 SOA 的策略应该首先回答这些问题。这是一个需要开始考虑应用 SOA 治理的关键点。这还导致另一个非常重要的问题:如何投资治理模型以及谁为它提供支持?在缺乏此类框架的情况下,SOA 架构师应该检查此范围中的策略以确定该需求是否已得到处理。

这种治理模型需要建立责任、授权和通信链来对人员进行权利分配,以带来必要的面向服务更改并维持那些更改,以使组织不会回归到以往的业务模式中。


采用 SOA 治理

SOA 治理在渐进地采用时是最有效的。SOA 治理包括两个方面:

  • 方法
  • 平台

IBM 推出的 SOA 治理采用方法和模型称为 SOA 治理和管理方法(SOA Governance and Management Method,SGMM)。您可以对此方法进行定制以适应项目的范围。此方法的结果是一个负责相关 SOA 治理关注事项的 SOA 治理框架,如图 4 所示。

图 4. 创建 SOA 治理框架
创建 SOA 治理框架

SOA 治理实现方法会产生一个无缝地织入 SOA 生命周期各个阶段的框架,并具有检查点、检查表、强制策略和质量门控,确保 SOA 以更低的成本产生业务敏捷性和灵活性。

IBM Rational® Method Composer 的方法文档说明可供下载。Rational Method Composer 是一个灵活的软件开发流程平台,可帮助您向项目团队交付自定义但一致的流程指导。可以定制 Rational Method Composer 的 SGMM 插件以满足项目的需求。虽然本文不介绍 SGMM 的详细信息,但是图 5 提供了其快照。SOA 治理框架也是通过一个迭代生命周期来构建的。图 5 显示了在生命周期过程中处理的一些重要方面。

图 5. SOA 治理生命周期
SOA 治理生命周期

平台

治理框架由流程组成,必须时常测量这些流程的有效性。其中有些流程可以实现自动化,以获取所涉及的资源和资产的更好视图,从而确保更好的流程可见性,并简化管理和测量。必须发布已定义的方法,必须建立正确的通信渠道,并且应该建立链接到 SOA 实现的生命周期的流程自动化。该自动化可以确保 SOA 治理将自身集成到 SOA 生命周期。该自动化通常在平台上完成。总而言之,作为 SGMM 活动的一部分而建立的治理框架通过软件或硬件平台实现自动化(请参见图 6)。

图 6. SOA 治理框架和平台
SOA 治理框架和平台

该平台应该有能力自动化使用该治理方法派生而来的治理框架。用于初创项目的一些最低限度的必需自动化功能包括:

  • 集中的注册中心和存储库,以查找和发布与服务相关的构件和元数据。这是实现以下目的所必需的:
    • 查找正确的授权服务。
    • 避免重复工作。
    • 促进重用。
    • 确定服务在 SOA 生命周期中的当前状态。
    • 为服务订阅者提供可见性。
    • 确定相关服务和更改某个服务所造成的影响。
    • 传达对服务所做的更改。
  • 用于联系和强制应用于某个服务的策略的机制。策略通过使用治理框架来定义。
  • 具有生命周期感知性的可自定义系统,该系统在生命周期中发生阶段更改时触发验证,以便能够自动化逐个阶段的治理验证。
  • 在理想的情况下,注册中心应该针对 SOA 运行时进行优化,以便能够在运行时期间,使用存储在注册中心的元数据来通过动态路由充实内容。

这些功能是自动化治理框架所必需的。WebSphere Service Registry and Repository 就是这样一个满足自动化功能的产品。必须在平衡的范围内定义策略,以便像采用 SOA 一样渐进地整合 SOA 治理。随着 SOA 在企业中的成熟,SOA 治理也会随之成熟。图 6 中描绘的解决方案是一个入门级解决方案,其中业务没有准备任何 IT 治理,但是表明了在包括 IT 治理的情况下,存在许多可进行处理的潜在方面。

结束语

尽可能早地在 SOA 采用策略中包括 SOA 治理是非常重要的,并渐进地安置治理框架和平台,以便 SOA 交付业务敏捷性和灵活性的价值。

参考资料

学习

获得产品和技术

  • 使用 IBM 试用软件开发您的下一个项目,可下载或索取 DVD 光盘。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services, WebSphere
ArticleID=318948
ArticleTitle=SOA 治理框架和解决方案架构
publish-date=07102008