【IT168 专稿】
随着越来越多的IT部门使用多级中间件作为业务关键应用服务的实现平台,人们也希望它能拥有面向服务体系结构(SOA)的众多优点:灵活性、柔性、高开发效率和可扩展性。

图1 组合应用SOA架构的优点
如图1所示,在SOA架构中实现组合应用可以更好地将IT技术与业务操作相结合,快速适应频繁的业务变化。 然而,支持这些关键应用程序的应用管理产品却使企业很难体验到这些优点。
基于SOA的组合应用管理面临的挑战
SOA架构的松耦合特性使IT企业可以通过在现有应用程序中加入新代码来开发组合应用程序,提高对业务变化的适应能力。在SOA架构中,软件模块或应用程序都是以服务的形式进行封装的。然后,在进行组合应用开发时才能使用这些服务创建新的应用程序。然而,这种应用程序开发模式上的变化产生了新的管理问题。其中最重要的三个问题是:
1. 如何解决实现组合应用与SOA基础设施的复杂性问题?
2. 如何准确评测应用程序性能并提供24×7的实时监控?
3. 产生问题时如何进行快速分析并解决?
本文将重点讨论基于SOA的应用管理所面临的新挑战。 此外,还会定义 “应用服务”的概念,并在这一层次上解释如何管理应用性能,以提供上下文与可视化技术,从SOA投资中获得最大的收益。
1. 柔性与易管理性的反相关关系
柔性与易管理性之间有一种固有的反相关关系。 比如,当一个汽车公司提高车辆的供应能力时,其制造流程与库存方面的管理难度也将相应提高。这一逻辑同样适用于基于SOA的组合应用。 当IT企业采用新的技术平台与开发模式以增强灵活性时,应用管理也会变得越来越困难。
并且,由于运行组合应用程序的软件平台网络中心化与模块化的发展趋势,基础设施的复杂性也会随之显著提高。再加上SOA管理经验、方法与工具的缺乏,IT企业开发与使用组合应用程序面临巨大的困难。
2. 性能指标污染及其对24×7实时监控的影响
多年来,为实现软构件的有效重用,软件开发一直都是采用面向对象的设计(OOP)概念——比如继承、多态、封装和覆盖等。 与此相似,SOA的目标之一也是构件重用。区别在于,OOP是在源代码层次实现构件重用,而SOA则是在运行时实现构件重用。 软构件重用有许多好处,包括提高开发效率与增强软件维护性。 然而,以面向对象或面向服务为中心的软构件重用却导致了各企业普遍存在的性能指标污染。
如果多个应用程序运行时需共享同一软件构件,就无法准确地进行性能评测。 现有的应用性能管理(APM)解决方法是用Java虚拟机(JVM)对共享组件进行性能评测。 这个方法污染了性能指标,因为JVM并不会消除单个组合应用程序对共享组件产生的影响。

图2 用受污染的指标进行性能评测将受到应用程序的影响
如图2所示,在JVM层次进行性能评测将无法避免指标污染。 传统的APM管理通过计算共享组件各种方法的调用与平均反应时间来产生评测指标。方法调用次数与反应时间是受到污染的,因为它牵涉到几个组件与共享组件的交互。 换句话说,这些指标代表的是多组合应用环境下共享组件的性能。
另外,性能指标污染会影响企业对其应用程序进行24×7实时监控,因为不准确的标准会引发不适当的警告和响应。 处理错误警告要花费许多时间、精力与资源。 对于想建立一个SOA环境下高效率管理系统的IT企业来说,如何进行准确的性能评测无疑是当前最急需解决的问题。
3. 不准确的评测会降低分析与解决问题的速度
性能指标污染同样会为IT操作管理带来严重的问题:当共享组件产生性能问题时,如何正确的确定相关负责人?而性能问题的分析经常会陷入僵局。因为共享组件在不同的组合应用下有不同的表现,用受污染的测量标准会受到应用服务性能的影响,从而降低了分析与解决问题的速度。
消除性能指标污染并在特定组合应用环境中取得准确的性能评测标准是快速分析与解决问题的关键。
一个解决方案:应用服务管理(ASM)
多级的理念、专业的需求与不断变化的SOA环境的特性导致了一个传统管理系统与APM工具无法解决的“IT可视性间隙”。 所有这些工具都缺乏根据业务环境快速筛选并解决业务所面临的最重要的问题的能力。将应用服务与构成服务的共享代码组件相结合便可对这种环境进行了解。这个过程就是应用服务管理(ASM)。 通过ASM可以智能地确定监控点,自动部署客户端,并根据应用程序相关指标动态显示功能仪表。
企业应用程序的主要目的是提供商业服务,因此,如果性能上存在问题或者无法提供组合应用支持的某种应用服务,应用程序将因服务中断、性能问题与维护时间而变得毫无价值。 此外,IT企业需要一个可靠的影响分析工具。 比如,在企业做出预计划变动之前,必须明确所有应用程序进程,应用组件,系统等可能受到影响的因素。 这将产生极大的价值,因为如果没有能越过这条IT可视间隙的工具,这一切都是不可能的。
ASM工作流程
ASM工作流程第一步是建立一个应用体系架构的动态拓扑模型(见图3)。

图3 动态关系模型
借助组合应用模型,在理解各级业务流程的基础上,公司可实现组合应用管理关键步骤的自动化——开设、分析、管理变化与服务支持。
利用这个应用模型,用户在进行试生产或生产操作时便可以快速找出某个应用服务性能问题的根本原因,并推测出其它可能受到影响的应用服务。并且,ASM使性能指标可以建立在应用服务的层次上、代码层次上,或者两者之间的任何层次上。 更不用说,这些指标状态将自动相互关联,并根据应用环境变化做出相应调整。
结论
多级的理念、专业的需求与不断变化的SOA特性导致了只能由应用服务管理解决的“IT可视性间隙”。 ASM为复杂的组合应用产生的IT可视间隙架设了桥梁。如果没有这个环境,将不可能有效地分析多级中间件系统企业软件中的应用服务问题。一个无法管理的应用程序,无论多么成熟或有着多么完善的服务,对企业来说都是没有价值的。并且,IT企业必须了解应用逻辑,以进行有效的影响分析,提前解决潜在的应用问题。
总之,如果能在应用服务层次上对复杂的组合应用进行有效管理,IT企业可以最大化应用程序的表现性能,减少解决问题的平均时间,使开发效率最大化。 ASM与全自动化APM将使IT企业从其组合应用投资中获得满意的回报。
关于Rob Greer
Rob Greer现在ClearApp公司担任产品管理与销售副总裁,负责所有产品的销售与管理。Rob持有圣何塞大学工商管理学士学位,主修信息系统管理。