基于CGI(Common Gateway Interface)的应用服务器以微软的IIS(Internet Information Server)为代表。IIS原本是用来发布静态Html的Web服务器产品,后来通过CGI、ISAPI(Internet Server Application PRogramming Interface)等应用接口和服务器端的脚本等扩充技术,演化成应用服务器。现在,Internet上的中小规模Web应用,基本上都是这种形态。非凡是服务器端脚本,只要将脚本语言嵌入HTML中,就能很简单地实现Web应用。所以假如系统功能单纯,初学者也能很轻易地构筑系统,这是基于CGI的应用服务器的优点。可惜用这种应用服务器,难以构筑嵌入复杂业务逻辑的系统,另外在应对来自多个用户的处理要求的可伸缩性方面也存在问题。
用Java构筑应用服务器已经成为潮流。因此最重要的是,要有用Java能够进行高效开发的综合环境(Integrate Development Environment)。IBM和Inprise的Java开发环境,捆绑在自家的软件包中;而BEA和Oracle则利用其它公司的Java开发软件包作为Java开发环境。目前存在的问题是,在这些环境中应用服务器与Java开发环境的集成性还很不完善。通常在Java开发环境中,能提供具体测试用的查错功能,如分步执行、断点设定等;但是能对应用服务器实施综合查错的工具很少。因此,在客户端的本地环境下完成具体查错之后,要将构筑的模块移到应用服务器,实施执行水平的测试。这样的测试环境,对于习惯于开放系统中的查错环境的开发者来说,不能说是完善的。人们渴望有在应用服务器中能进行具体查错的、综合性分散型查错工具。