理解SOA管理:您的SOA中都有什么?

ZDNet软件频道 时间:2009-02-04 作者:Dain Hansen | 论坛整理 我要评论()
本文关键词:管理 SOA
本文提出了现今与SOA相关的一些挑战,探讨了SOA管理是如何应对了其中的大部分挑战。此外,本文还涉及到了采用SOA 管理解决方案的关键功能。
本文提出了现今与SOA相关的一些挑战,探讨了SOA管理是如何应对了其中的大部分挑战。此外,本文还涉及到了采用SOA 管理解决方案的关键功能。

  关注SOA

  您真的了解您的服务究竟在何处吗?您知道自己的企业里面有多少服务正在进行生产吗?而它们当中有多少达到了您所期望的质量水平呢?又有多少服务未得到合理保护或直接暴露在客户或合作伙伴面前了呢?或许甚至还存在着您根本不知道的服务?当您的服务出错时有什么保护措施吗?现今您又是怎样监控着自己的服务呢?

  如今,在设计SOA的架构时,您要提出类似于上述的种种问题呢。令人惊讶的是,尽管有许多组织已经使自己的任务关键型业务应用依赖于这些服务,但依然无法回答这些问题。

  因此,让我们来回顾一点基础知识吧。SOA究竟是什么?SOA即Service Oriented Architecture(面向服务的架构),它使企业通过改进的服务重用性迅速开拓新的业务渠道。因此SOA管理将从可见性和控制两方面着眼于SOA。如果没有管理,使SOA达到预期效果这一目标就无法得到保障。最可怕的是,SOA甚至会因为依托于这些用于任务关键型应用的服务而给整个组织造成危害。

  管理SOA为何如此困难?

  是什么使得管理SOA的这些服务变得如此困难?首先,SOA中服务的形式与规模不尽相同,符合的规范也相差甚远,既有细粒度的也有粗粒度的;既有传统的基于事件的非XML队列,也有最新的基于XML的WS兼容服务。每个服务在其运行平台上都是独特的,有的基于Java EE,有的基于.NET,还有的基于遗留或专有平台。

  其次,当SOA跨多个部门和项目实现时,其复杂性将会增加。即使并非有意为之,SOA被迫进入分布式环境,而原因仅仅是企业固有的复杂本质。例如,服务可能是某一个部门设计的,并在其他部门重用;合作伙伴发布的服务也有可能要在公司内部使用,反之亦然。如果在分布式环境中无法对这些服务进行集中管理,发生更改或故障的服务就可能对企业的账本底线产生显著影响。

  再次,SOA系统发展迅速。新版本发布时,SOA的规模和复杂度都会有所增加,还会向SOA领域中融入一些新的应用程序,增加新客户和合作伙伴的参与。任何服务的更改都会在整个网络中产生连锁反应,进而影响整个系统。

  由于SOA的异构性、分布性以及高度流动性,使得采用传统手段来处理SOA很困难。事实上,传统的IT管理框架可能并不完整,有必要采取新方法关注SOA,来更好的实现组织的可见性与控制

  SOA管理和传统IT管理有什么不同?

  传统的IT服务管理框架包括管理应用程序的功能,并且确实能够获得对应用程序的一般行为的更好可见性,应用程序是正常运行还是故障了呢?遗憾的是,SOA并非如此有逻辑。很可能在一个任务关键型服务从客户的角度来看已完全崩溃之后,应用程序仍存在并运行着。

  此外,传统的IT服务管理作为一整套SOA应用程序的基础,是很重要的。而SOA管理可以返回到业务线层面上帮助管理和优化这种行为。SOA并不仅仅与应用程序有关:服务还可能存在于wire消息协议或事件之中。这些服务通过中介处理,到达了我们看不到的目的地,比如合作伙伴或者客户。

  最后,SOA管理需要和IT管理策略共存。JMX、SNMP、WS-Man以及WSDM中的标准,都将为两者的共存提供帮助。例如,SOA管理触发的SNMP trip可以利用一个ESM(例如HP的OpenView和BMC的Patrol)整合并管理

  实现SOA的最初目的就是降低IT的复杂性。遗憾的是,仅为少数IT工作人员提供可见性并未实现最初这个SOA目标的优势。SOA管理可以帮助满足将正确的信息带给正确的人员的需求;这些信息以服务量度、计分卡和策略信息等形式收集起来,随后公开给架构师,以便更好地优化端到端的架构。

  SOA管理的好处是什么?

  实现SOA管理的好处在于最终为组织创建更广泛的可见性和控制。这将给企业带来无尽的益处,并且最终得到更出色的企业敏捷性,而这恰恰就是实现SOA的初衷。

  事实上,实现SOA管理还有一个实际的原因,那就是支持SOA监管。例如,将运行库计分卡和服务相关联,就可以更好地作出在监管生命周期中需要优化哪些服务的决策了。

  SOA管理的其他好处还包括:

  • 可以总览运营健康状况和服务依赖性
  • SOA系统实现可预测性和控制
  • 在联邦、分布式环境下检测和预防服务问题
  • 在异常影响业务之前对其进行检测、诊断和修复
  • 降低应用程序支持成本和快速诊断及问题解析的IT开销,
  • 实现企业SOA对其客户和合作伙伴的保证
  • 确保遵从业务和运营策略或法规控制

  这些因素将更有效地降低成本、减少风险,并带来企业创收机遇。不仅证明了SOA管理解决方案的ROI,也从宏观上证实了投资SOA的合理性。

  有效SOA管理的五个要点

  SOA中的所有环境都是独一无二的,但SOA管理却有着一致的需求,即每个组织都可以为满足其特有需求来利用SOA管理。现今的SOA管理有一些关键元素,它们对跨多个系统的可见性聚集方法和控制实现方法至关重要。其中包括:

  • 服务网络监控——确保分布式和异构SOA的可见性
  • 服务和基础架构发现——提供现实与目标的对比的可见性
  • 策略实施——强制实施增加即时控制以改善您的SOA
  • 服务层协议管理——保证服务的正常运行
  • 异常管理——检测并找到异常的根由

  下面具体介绍上述内容。

  服务网络监控

  由于SOA的本质就是将应用程序筒仓整理为分散在网络中的多个服务,分布式系统故障的风险将呈指数级增加。24x7的SOA系统生产需要全面的、系统级追踪和操作可见性,使故障和宕机时间最小化。

  可视化要求有足够多的信息——端到端网络的逻辑和物理服务都包括在内。例如,您也许想了解每个服务节点的吞吐量和可用性,以便迅速确定与某个特定服务相关联的操作问题。这就需要具备详查网络的能力,以图形化的方式来评估服务相关性和中断造成的影响,并且下钻到端点本身来了解与该服务相关的所有关系。图1给出了一个例子。

  理解SOA 管理:您的SOA中都有什么? 图-1

          图1. BEA AquaLogic SOA Management的相关性浏览

  组织越是分散,在服务网络上进行统一监控的需求就越迫切。此类企业的典型例子就是一家刚刚采购了多种打包的应用软件的公司(如订单管理或库存系统)。企业希望进行整合,但尚未理解在多个系统上运行的服务的实际运行库影响。管理这些服务间的复杂关系的惟一方法就是实现SOA管理系统,它使企业能够了解可从何处开始整合,并做出进一步的优化。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134