内容


SOA 治理:如何迎接 SOA,第 1 部分

企业、IT 和 SOA 治理简介

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: SOA 治理:如何迎接 SOA,第 1 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:SOA 治理:如何迎接 SOA,第 1 部分

敬请期待该系列的后续内容。

简介

本文把白皮书中提出的建议和最佳实践整合在一起,帮助政府机构和各个行业顺利实现 SOA。各节中已经删除了单调乏味的细节和客户案例引用,从而突出原文中最基本、最重要的方面。

本文分为三个部分:

  • 第 1 部分 —— 介绍治理的一般概念并讨论企业、IT 和 SOA 治理
  • 第 2 部分 —— 讨论治理生命周期以及如何组织 SOA 和 SOA 治理
  • 第 3 部分 —— 讨论治理成熟度、工具、生命力和成功模式

需要通过治理过程进行必要的检查和权衡以确保成功

可以把 SOA 治理看作 IT 治理的延伸,因为它主要关注业务服务战略和服务(单一服务和服务网络)的生命周期管理,目的是确保它们对企业的业务价值。

转移到 SOA 对于企业来说是一个重大的挑战。除了引入新的技术和职责之外,SOA 还要求改变原来基于应用程序的思维方式,要求以整个企业范围的视角考虑各种问题,包括如何实现工作流以及如何开发、部署和管理服务和服务组合,从而实现企业的业务目标。

SOA 治理肯定应该包括实施、控制和管辖,但是它还需要更多元素。因为 SOA 的主要目标是识别、开发、部署和管理服务(和服务组合),所以 SOA 治理不能是生硬专制的,必须成为协作性的活动,需要集中的 IT 管理和内部相关社区 (COI) 的积极参与(如果需要的话,还包括外部人员)。

相关社区参与 SOA 治理过程的重要性是怎么强调也不过分的。SOA 的许多好处都源于共享服务以及共享信息、最佳实践体系结构及业务过程和目标。因此,应该考虑尽早采用联合的 SOA 治理模型。这应该包括及早建立核心 SOA 团队或 SOA Center of Excellence (COE),它的作用是与 Program Office 协作,分享需求、服务和资源。

在半自治的相互联系的业务单位之间进行协作往往很困难。为了克服这种制度上的天然阻碍,SOA 治理最初可以是非正式的,甚至可以是不规律的,但是随着时间推移,它应该越来越正式,应该以标准、最佳实践和企业协调一致作为最终目标。当然,实现这种协作过程的关键因素是管理层的大力支持。如果没有管理层的支持和企业相关社区的参与,SOA 的潜在优势很难实现。

治理简介

良好的治理是完全 “透明的” —— 这确保活动涉及的每个人都清楚地理解自己的角色和责任、别的团队成员对他们的期望以及他们应该如何为总目标做出贡献。在本节中,我们讨论治理的重要性,定义 SOA 治理以及它与企业和 IT 治理的关系。

为什么要治理

治理的一种定义是 “用来控制工作方式的规则、实践、角色、责任和协议集(包括正式和非正式的)”。换句话说,对于每个活动,需要定义以下方面:

  • 需要做什么
  • 应该如何做
  • 应该由谁做
  • 应该如何度量

以上定义中的关键是 “控制工作方式”。控制的程度可能差异很大,从非常宽松的非强制性控制(指导)到非常严谨的强制性控制(管辖)都可以。治理本身并不等同于管理。治理决定谁有权力做出决策。管理是做出决策和实现决策的过程。

如果我们考虑标准 IT 项目的这四个方面(什么、如何、谁和度量),就会发现不一定总是定义了这些功能性属性。实现信息技术 (IT) 功能的业务原因是为业务操作提供敏捷性。但是,IT 实现总是面对业务过程本身速度慢且不敏捷的难题。因此,IT 项目往往倾向于忽略关注点以及取消和绕过重要的步骤。在许多时候,IT 项目的 “什么” 方面(功能性和非功能性需求)并不完整,这取决于 IT 人员/部门在应该创建什么方面的 “想像”。“如何” 通常受到个人风格和喜好的影响。“谁” 取决于可用的人员。项目结果的度量常常被省略,因为开发团队转到下一个项目了。

因此,尽管 IT 治理会取得一些成果,但是在通过 SOA 迁移到服务方式时我们仍然要面对很大的困难。转移到 SOA 对于任何组织来说都是一个重大的挑战,尤其是因为:SOA 引入新的技术、角色和责任;SOA 需要新的思维方式,要求采用整个企业范围的视角,而不是只关注某一部门或某一业务线 (LOB) 领域。

如果不在整个企业范围内对服务实施严格的开发、部署和操作管理,SOA 的潜在好处就可能无法实现。过去的 SOA 项目的教训表明,仅仅增加服务而没有治理策略是无法实现面向服务体系结构的。缺少治理策略就无法避免在软件开发过程中出现不一致、缝隙和重叠,这会增加重用和业务敏捷的难度(甚至不可能实现),从而导致组织难以实现面向服务的潜在好处。因此,如果没有治理,SOA 迁移很可能会失败。

在任何组织中成功地实现 SOA 会对人员、过程和技术提出新的要求,必须通过合理有效的治理来解决这些问题。如果没有治理,业务敏捷性是不可能实现的,服务仍然封锁在组织壁垒中,服务组合管理仍然是分散低效的,安全措施仍然是孤立的,无法实现更全面的企业范围的视图。

企业、IT 和 SOA 治理

SOA 治理对 IT 系统中的业务服务的生命周期进行治理,从而扩展 IT 治理,使 IT 更符合业务的需要。部署 SOA 应该成为一种催化剂,促使组织开始考虑如何改进企业和 IT 治理以及如何更好地实现 SOA 治理实践。采用 SOA 会在 IT 决策权力、度量和控制方面出现新的问题。

随着企业越来越关注面向服务,SOA 治理会逐渐扩展 IT 治理。SOA 提供一种独特的企业级方法,帮助设计和交付各种功能性服务,让业务和 IT 部门更能满足企业战略和目标的要求。这种 SOA 治理需要使用业务策略,包括企业级和部门级策略,这些策略提供上面提到的规则。

建立 SOA 治理应该还被看作在企业和 IT 治理之间建立桥梁的机会。SOA 治理会受益于现有的 IT 和企业治理。但是,即使现在没有 IT 和企业治理或没有 “实施” IT 和企业治理实践,企业仍然可以建立 SOA 治理。在许多情况下,SOA 治理的需要会促使企业重新检查和调整 IT 和企业治理。

图 1. 企业、IT 和 SOA 治理
企业、IT 和 SOA 治理
企业、IT 和 SOA 治理

企业、IT 和 SOA 治理之间的关系随时间变化的方式见上面的图 1。

最初,SOA 治理涉及的范围有限,主要关注 IT 和业务部门都关心的相当有限的领域。

随着 SOA 成熟度的增加,SOA 治理的范围会显著扩大。业务和 IT 部门应该逐渐增加共同关注的领域,最终 SOA 治理与 IT 治理合并在一起,IT 治理本身成为企业总体治理方法的一部分。

一般来说,企业级治理要为企业运营业务确定规则和方式。企业治理包括根据业务方针建立遵从性目标和市场战略。因为 IT 是水平的,而且世界各地的企业广泛依赖于 IT,所以 IT 治理是企业治理的重要组成部分。企业中几乎所有人都使用 IT 资产来完成他们的责任,所有持久性信息都存储在 IT 系统中,所以有效的 IT 治理的影响非常显著。

SOA 治理通常会要求 IT 治理产生变化,从而适当地管理面向服务概念和原则,确保组织能够实现预定的 SOA 业务目标。另外,SOA 治理会促使业务和 IT 部门更好地协作,从而提高投资回报和业务敏捷性,实现更大的业务价值。这需要把业务需求和业务服务实例关联起来。如果严谨地构造这种关联,就可以实现更好的风险管理并提高 IT 系统实现的所有阶段的可预测性。

因为 SOA 是一种分布式体系结构,可能跨越多个业务线领域(包括内部和外部)以及 IT 领域,所以更需要有效的 SOA 治理。另外,SOA 治理为服务的重用和共享提供一个框架,重用和共享是 SOA 的关键价值。

IT 治理

IT 治理可以定义为:

  • 建立和实现与 IT 相关的决策权力。
  • 建立对 IT 决策的制定和实施方式进行控制和度量所用的机制和策略。

IT 治理最重要的方面之一是体系结构治理。

体系结构治理

通过实施体系结构治理在整个企业范围控制体系结构。企业体系结构 (EA) 在治理中扮演重要角色,EA 方针定义和维护体系结构模型、治理和迁移活动,从而有效地促使半自治的单位向统一的业务和/或 IT 目标迈进。

SOA 治理

  • 业务服务战略
  • 服务的生命周期,确保 SOA 的业务价值
  • 启用服务方法
  • 调整企业和 IT 治理,帮助实现业务目标

SOA 治理常常是改进 IT 治理的催化剂,在依赖于遗留的 IT 基础设施的大型组织中尤其如此。

治理模型的机制

SOA 治理确保业务和 IT 之间的成功协作。它确定共同认可的策略和标准。这些策略和标准指导由过程实现的受治理过程,而受治理过程是通过治理过程管理和监控的。

图 2 包含遵从性(Compliance)、交流(Communication)、生命力(Vitality)和异常情况/请求(Exceptions/Appeals)。这些是治理中最重要的机制。下面分别讨论它们。

图 2. 治理的机制
治理的机制
治理的机制

遵从性

受治理的过程由策略和标准控制。定义策略和确定标准对于实现治理最佳实践非常重要。但是,如果没有遵从性,策略和标准就不能实现其价值。因此,控制点、策略决策点和策略实施点等概念是治理的基本部分。2.4 节专门讨论这方面的策略和策略管理。

交流

明确的交流对于治理很重要。企业内部以及企业与合作伙伴、供应商和客户之间都需要交流。交流的目标是在适当的时间把适当的消息交付给适当的人员。交流是帮助人员顺利地通过任何需要感知、理解、提交和采纳的过程的各个阶段的关键因素。

通过使用基于 XML 的消息传递等开放标准和 Web 服务通信框架,可以转变业务消息传递方式。

异常情况和请求

治理不应该是一组没有任何灵活性的静态过程。在治理生命周期中,可以根据异常情况的需要请求建立或废止治理过程。在管理和监视策略和标准的遵从性时,如果发现不可能实现遵从性(包括临时或永久)的情况,就需要请求建立或废止治理过程。请求建立或废止治理过程是一个非常敏感的主题,因为治理过程一方面必须足够灵活,能够应对这些异常情况,另一方面又必须足够严格,能够防止不必要的异常情况破坏秩序。

生命力

随着时间的推移,情况会发生变化,治理过程必须能够适应变化。这种能力就称为生命力。本文后面的一节专门讨论治理的生命力。

治理策略和策略管理

业务过程管理 (BPM) 通过识别、定义和创建服务操作来帮助创建服务。企业必须遵守许多法律和法规,这是实施治理的关键原因之一。这些服务操作应该映射到设计时和运行时业务过程,应该根据服务质量 (QoS) 参数建立关键绩效指标,用这些指标衡量操作的绩效,从而满足服务水平协议的要求。

策略管理提供一种机制,根据企业制定的策略或规则分配 IT 资源。策略指定数据质量、完整性和持久性需求。策略规则可以采用 “如果,那么” 条件陈述的形式,也就是说,在某一条件下应该采取某些措施。应用程序必须能够将其正式程序策略构建到过程中,然后在系统和工具中实现并执行这些过程。

包含策略的系统要建立策略决策点 (PDP),在这些点上定义事件并做出决策。PDP 可以支持各种条件并相应地做出反应。PDP 与策略实施点 (PEP) 保持同步,PEP 监视事件并在 PDP 的上下文中执行策略。Internet Engineering Task Force (IETF) 已经定义了相关标准,包括确定策略决策点的位置、启用分散的企业支持结构以及集成为更高级的策略管理系统。

策略实施点位于网络和 IT 基础设施中,用来监视事件。提供适当的 IT 治理和全面的访问控制需要使用许多工具。每个应用程序都必须支持自己的基础设施;但是,面向服务体系结构的关键是,能够敏捷地把数据传输给新的相关社区。启用策略实施功能需要使用 web 服务管理工具,包括服务注册、存储库和元数据目录、资产跟踪和故障/绩效监视。IT Infrastructure Library (ITIL) 标准定义一个配置管理数据库 (CMDB),其中存储需要跟踪的数据元素。需要使用 IT 工具收集和报告许多数据事务的信息,跟踪用户和关键绩效指标,然后向适当的应用程序正确地报告这些信息。

下面是一些策略示例:

  • 策略可能首先出现在业务级:
    -项目必须符合内部体系结构方针
    -所有 IT 项目都必须进行安全性和法律遵从性策略检查
  • 策略可以针对更特定的法律遵从性问题:
    -病人个人可识别信息必须以安全的方式传输和存储 (HIPPA)
    -所有金融交易必须为强制审计记录提供可跟踪性和防篡改机制 (Sarbanes Oxley)
  • 项目外包活动可能有自己的策略:
    -外包公司必须提供与内部开发的服务相同的服务生命周期。
  • 比较高层的策略常常需要转换为技术性策略,让策略实施工具可以有效地实施它们。
  • 信息安全性策略示例:
    -消息必须包含授权令牌
    -密码元素的长度必须至少是 6 个字符,并且同时包含数字和字母
    -必须惟一地标识每个操作消息并进行数字签名
  • 为了确保互操作性和可重用性,还有一些与设计相关的技术性策略:
    -不要使用 RPC 编码风格的 web 服务
    -不要使用 Solicit-Response 风格的 web 服务操作
    -不要使用 XML ‘anyAttribute’ 通配符
  • 在 SOA 战略和规划过程中,每个组织都应该考虑为 SOA 程序和 SOA 服务开发生命周期建立一套标准和策略。下面是一些服务策略示例。
  • 服务规格说明应该包含:
    -对每个服务操作执行的功能的描述
    -每个服务操作的输入/输出消息格式和示例数据
    -Component Business Model (CBM) 中相应任务的定义
  • 服务规格说明不应该包含:
    -关于服务实现方式的任何信息(只要保持服务接口不变,服务提供者可以随时修改服务的实现,例如在淘汰陈旧的 IT 系统时)
    -关于应该以什么次序执行操作的任何说明。每个操作调用应该被视为独立的任务,任务的次序应该作为业务过程/自动化业务过程在另一个文档中定义

治理标准

标准是控制服务生命周期的规则或需求。受治理的服务必须符合标准。标准很少发生变化,违反标准是不允许的,或者需要通过显式的异常情况来处理。在组织决定部署 web 服务时,可以考虑采用下表中的标准:

表 1. Web 服务标准
功能推荐标准替代标准
服务组合BPELWS-ChoreographyWS-CDL
管理WS-DistributedManagement
WS-Provisioning
WS-Management
安全性WS-SecurityWS-Trust
WS-Federation
WS-SecureConversation
WS-SecurityPolicy
事务WS-Transaction
WS-Coordination
WS-CompositeApplicationFramework (WS-CAF)WS-Context (WS-Ctx)
WS-CoordinationFramework (WS-CF)
可靠性WS-ReliableMessagingWS-Reliability
描述WSDL
UDDI
WS-Inspection
Disco
WS-Discovery
WS-PolicyFramework
WS-MetaDataExchange
消息传递XML
SOAP
WS-Addressing
WS-Notification
WS-ResourceFramework
WS-Eventing
WS-Policy
SOAP with Attachment
传输HTTP
JMS
RMI-IIOP
TCP
UDP
Jabber
SMTP
互操作性WS-I Basic Profile

SOA 借用了网络管理和 IT 基础设施管理等其他信息技术领域的一些概念,比如策略、服务水平协议和服务质量。因为目前还没有与 SOA 策略管理和策略相关的标准,强烈建议参考 IETF (Internet Engineering Task Force) 和 ITIL (Information Technology Infrastructure Library) 定义的标准。

结束语

在第 1 部分中,我们讨论了治理的一般概念,讨论了企业、IT 和 SOA 治理以及它们的关系。在第 2 部分中,我们要讨论治理生命周期以及应该如何组织 SOA 和 SOA 治理。

致谢

我要感谢以下各位对白皮书原文做出的贡献。特别要感谢 Robert Laird 先生慷慨地贡献了他的时间和专业经验。

组织参与者
BoeingLes Robinson
Computer Sciences CorpJay Pollack
Harris CorpBob Riley
Harris CorpDavid Almeida
IBMMike Moomaw
IBMRobert Laird
IBMJohn Falkl
Lockheed-MartinAl Secen
L3 CommunicationsChris Francis
OraclePeter Bostrom
SITAKathy Kearns
SITAMansour Rezaei-Mazinani

相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services
ArticleID=434639
ArticleTitle=SOA 治理:如何迎接 SOA,第 1 部分: 企业、IT 和 SOA 治理简介
publish-date=10122009