小议应用服务器Application Server

网络整理 - 07-27
应用服务器(无论是什么功能的应用服务器)在数据库服务器和终端用户之间占有很大一部分计算领地。这个领域有一个广为人知名字,这个名字就是中间件,这个名字也告诉了你应用服务器都做什么事情。首先也是最重要,应用服务器把数据库信息(通常来源于一个数据库服务器)与终端用户或者客户端程序(常常在Web浏览器里运行)连接在一起。在这个连接中存在一个中间层很多理由。这些理由包括减少客户端程序的大小和复杂性、缓存和更好的控制数据流以提供更好的性能以及为数据通信和用户通信提供安全保障。

  然而,这并不是应用服务器功能的全部。在应用服务器早期应用的时候,人们就发现应用软件本身(人们用来完成工作的程序)正变得越来越大并且越来越复杂。无论应用程序的编写和维护都是如此。与此同时,应用程序共享数据和有时候共享功能的压力也越来越大。更多的应用程序被放在网络上或使用报网络扩展功能。让某些类型的应用程序在网络上运行似乎是合乎逻辑的:这有助于以有组织和有效率地方式共享应用程序的功能,使应用程序更容易编写、管理和维护。

  这种思路的最终结果就是现在的应用服务器。然而,这些服务器首先出现在客户机/服务器中以及局域网中。首先,它们经常与“分层次”的应用程序相关联,人们把这种应用程序的功能解释为二层的(数据库和客户端程序)、三层的(数据库、客户端程序和应用服务器)和N层的(包含二层,三层以及多层)应用程序。这过去是(现在仍然是)一种复杂的应用程序开发模式,不能大规模应用。后来出现了万维网。这种网络是一种自动的三层应用(数据库、客户端程序和Web服务器),这样,利用应用服务器的功能管理数据突然之间不仅变成了程序设计中的一种较好方法,而且成为必不可少的。这使应用服务器从默默无闻的状态提升到了显要的位置。毫不夸张地说,已经有几十家公司介入了应用服务器软件产品的开发。

  毫不奇怪,对应用服务器的角色和任务,应用服务器的公司过去没有,现在仍然没有达成一致的意见。他们产上直接竞争而是为了做出各自不同的东西。应用服务器有很多不同角色,而并不是所有的客户都需要同样的功能。可伸缩性就是一个很好的例子。有些公司使用应用服务器只是要帮助他们管理WEB应用,使他们更好地管理自己的业务逻辑,以便更方便地监视数据和保证数据的安全。他们不需要数千台服务器。而另一些公司,特别是大公司,需要管理数千台服务器。对于这样的公司来说,应用服务器的可伸缩性是非常重要的。因此,有些应用服务器强调可伸缩性,有些应用服务器可以做其它一些事情,有些应用服务器什么都能做。

  因此,当你在本栏目中浏览各种应用服务器软件介绍的时候,对于你的机构需要什么和形势需要什么,你确实需要有自己的意见。什么是最重要的?安全、可伸缩性、商业规则管理或者数据库连接?

  还有一件事情(也是应用服务器涉及到的另一种复杂性),应用服务器产品属于多种编程领域。大多数应用服务器(尽管不是全部)是用Java语言编写。有些应用服务器兼容微软的产品,有些不能。对于是否支持微软体系主要是看是支持CORBA(公共对象请求代理体系结构)还是微软COM+(当然有些两者都支持)。根据一个机构的编程参考来考虑这些服务器是比较重要的。