技术开发 频道

理解SOA 管理

    有效SOA管理的五个要点

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

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

    下面具体介绍上述内容。

    服务网络监控

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

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

    

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

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

    服务和基础架构发现

    以目标为参照,找出哪些服务确实已实现,对于那些试图发挥SOA最大潜力的组织来说是一块巨大的绊脚石。发现实际情况将引导我们发现潜在的浪费。还可以通过发现那些未经过正式流程的恶意服务来应用更加严格的监管策略。将发现功能直接集成到SOA管理中,将为组织的架构师、IT和管理部门提供更加准确的表示。

    在SOA管理中,还需要建模和表示SOA内的所有服务,以及自动发现服务。这些服务可能拥有部署特征。另外,还需要自动追踪在多运行库环境中的变化。

    这里有一个在典型的实例:一家公司希望实施对整个公司的服务的更佳监管流程。这家公司没有任何方法或流程在一个具有多个项目及部门的复杂组织中找到这些服务。通过实现SOA管理,即可检测到这些服务,即便是在服务或可能是恶意服务的时候。这些服务甚至可能在没有任何保护的情况下被客户使用,而公司毫不知情。服务一旦被SOA管理解决方案检测到,就会进入监管流程,或者应用策略来提高消息安全性实施水平,从而更好地保护这些服务。

    策略实施

    通常,仅有SOA的可见性(只读视图)是不够的,实施策略的能力将使组织能够应对SOA问题,并为得到更好的响应对其进行优化。

    SOA管理的关键支持因素就是用于一个服务或一组服务的系统特征声明性规范策略的使用。策略可以表示出系统的不种种属性,从流程与功能到系统在其上执行的基础架构的安全性、性能和健壮性需求。策略还可以作为一种控制机制,为SOA的新属性实施更改。仅仅更改一项策略就有可能使得通信更加快速准确。

    通过将系统的更多行为作为策略指定(而非过程代码),系统的适应性将更强,因为策略更加简洁易懂,并且修改起来比代码容易得多。

    例如,IT组织可能决定改变其用户的身份验证方式,从原有的输入用户名和密码更改为提供一个证书验证。在基于策略的世界里,安全性策略与应用程序彼此分离,IT员工可以通过声明的方式来描述这种更改,并在动态实施所提供安全性策略的基础架构上运行这个应用程序。即使安全性策略改变了,代码也不需要变动。修订后的策略将应用于系统基础架构,它能够动态调整以便实现。做这样一个简单的更改而不需要对系统进行维护,好处是显而易见的。

    另一个例子是通过策略声明路由行为,一旦服务不可用,策略中声明的规则可以阻止请求或将请求重定位到镜像服务来容纳负载。这样,对路由策略的简单改变就可以改变系统的行为。

0
相关文章