从当前集成的J2EE应用程序到SOA的出现,企业Web应用程序变得越来越复杂、越动态并且对于企业的成功越来越重要。这个回报是巨大的,但是,由此产生的新的风险也是巨大的。IT团队日益需要新的管理解决方案提供可见性、分析和所有层次的控制。这些层次包括从应用程序运行时间环境到数据和Web服务以及业务流程等。
什么是Web应用程序?
当前的Web应用程序有许多形式。Web应用程序可以是基于.NET或者Java的程序、一个Web服务、一个SOA组件、一个混合的应用程序或者通过独立的业务功能编排的一个业务流程。Web应用程序可以使面向客户的应用程序或者是一个后台的应用程序。在一个制定的环境中能够存在任何数量的这类应用程序。从而是管理这些应用程序非常困难。
业务流程映射
把业务流程映射到支持它的基础的Web应用程序中是迫切需要的。这样做能够为评估一个特定的事务处理对一个业务流程的影响提供一个必要的环境。例如,一个提供实时访问后台数据的在线环境可以启动一个Web服务。在晚上的一个批处理流程也可以启动这个Web服务。实时的事务处理需要更高水平的服务,因为一个用户一般要等待这个事务处理的完成,并且会拥有比那个批处理应用程序门槛更低的报警。只有理解IT到业务的映射才能让管理工具理解这个Web服务的两种不同的启动方式。
跨层次的应用程序跟踪
Web应用程序一般都调用多个应用程序组件,包括Web服务。Web服务可以接下来与其它Web服务或者应用程序组件对话。重要的是,这些Web应用程序的管理能够跟踪这个应用程序经过这些应用程序组件或者层次的状况,以便全面了解这个应用程序以及应用程序的性能。否则,性能数据就必须以竖井的方式进行观察,根据不包含应用程序环境的物理服务器的情况拼凑一个事务处理流。虽然这在某种程度上是有价值的,但是,以这种方式观察数据会缺少必要的信息,看不到应用程序在事务处理过程中确实在做什么。
根本原因分析
在谈到一个故障到底发生在什么地方的具体问题时,根本原因分析的需求是很明显的。在管理一个Web应用程序的时候,迅速鉴别的能力是必须的,因为这个应用程序不可用的每一分钟都会给企业带来数千美元的损失。把Web应用程序与它运行的环境进行对照和比较的能力对于这个鉴别是非常重要的。事实上,一个Web应用程序的故障可能是由一个几分钟之前发生的并且现在已经被消除的一个故障引起的。把历史数据与当前应用程序性能数据进行对照和比较的能力对于找出故障发生的确切地方是非常重要的。一个应用程序服务的请求队列有时候会严重超过应用程序的负荷,这个服务器需要一段合理的时间才能处理这些请求。
监视最终用户体验
监视一个最终用户的体验通常以两种方式发生:主动的和被动的。主动监视是一个产品执行所谓合成处理以衡量响应时间的地方。要确定这个故障是否与网络有关,这个合成处理要从不同的地理位置运行,以查看这个故障是普遍存在的,还是仅仅与某一个互联网提供商有关。被动的监视解决方案实际上是查看实时发生的事务处理,以确定网络组件的整个响应时间是否在发生。这种类型的解决方案通常是与另一个解决方案一起使用的。另一个解决方案能够通过计算两者之间的网络时间差衡量这个事务处理的基于托管的部分。这种被动的观察或者访问浏览器上的定时数据还可以用户观察客户端技术运行的状况,如镜像负载等。
预防性的与反应性的管理
在每一个发生问题的情况下,无论是性能问题还是可用性问题,以预防性的模式工作或者以反应性的模式工作是不可避免的,特别是在你拥有包含Web服务的混合应用程序的时候。在Web服务级发生的故障可能会影响到一些独特的事务处理,因为它们都依赖同样的Web服务。这些类型的预防性的行动可能会提示这个系统它正在执行某种程度的内存管理和恢复,如果它确定一台应用服务器的内存量很低的话。预防性行动的另一个例子是启动一台额外的应用服务器,如果它确定当前的应用服务器数量不能处理进来的工作量。同样,如果它确定运行的应用服务器数量超过了处理当前的工作量所需要的服务器数量,那么,它就会关闭一台或者更多的应用服务器。
Web应用程序的环境
一个Web应用程序只能在它的操作系统环境中进行管理。这就意味着如果一个应用程序出现了某种形式的问题,无论是与性能有关的问题还是与可用性有关的问题,根本的原因可能就是环境问题,也许是与服务器的CPU、输入/输出或者与内存有关的问题,或者是服务器本身的问题。不稳定的流程、过度的页面调动和交换或者与输入/输出有关的数据库操作都能够对Web应用程序的性能产生影响,同时掩盖问题的真正原因。
丰富互联网应用程序及其对Web应用程序管理的影响
丰富互联网应用程序能够减缓应用程序的速度,因为它们是客户端密集型计算或者传送。这就使Web应用程序对于最终用户来说似乎减慢了速度,与此同时,实际上服务器端也许没有进行任何处理的操作。当一个Web应用程序使用大量的免费的这种技术设法让一个Web应用程序看起来像一个桌面应用程序一样的时候,就会出现这种情况。虽然这些类型的应用程序通常被看作是传统的Web应用程序的开销较小的替代方式,但是,如果返回的数据数量和大小超过一个网页返回和传送的能力,这些Web应用程序就会引起更多的网络通讯量。
结论
调整业务流程使其与支持它的IT基础设施一致比以往任何时候都重要。目前,这种事情主要以Web应用程序的形式出现,无论是传统的应用程序还是能够启动一个或者更多Web服务的应用程序。许多因素正在推动越来越多的业务逻辑以Web服务的方式在网络上应用。这些因素包括代码再利用和组件化在业务环境中的技术产品的能力。这样就产生了一个更难管理的动态的和复杂的环境。要使当地管理这些环境,必须要有能够提供必要的可见性和控制以便提前管理这些环境的工具和流程。