【编者按】网学网JAVA频道为大家收集整理了“ 基于java的应用服务器的设计与实现 “提供大家参考,希望对大家有所帮助!
1 引 言3层结构模型比起2层结构模型来说,具有更高的性能,更好的可扩展性、可维护性与可重用性.中间层服务器,即通常所说的应用服务器,作为3层结构的核心,是业务逻辑与规则的执行场所,提供连接池管理和分布式事务支持等功能.为比较后来出现的各种应用服务器,本文将90年代初未融合Web技术的应用服务器称为传统应用服务器.
Web的出现使得企业级应用有了新的解决方案,由于Web具有开放、低成本、跨平台等特性,基于Web的应用服务器很快出现在市场上.Web应用服务器往往包括一个Web页面设计工具和动态页面服务器,提供基于Web的客户/服务器计算,此类Web应用服务器从功能上说只是一个Web网关.目前,新一代的应用服务器开始集成传统的应用服务器与Web应用服务器的功能.例如,Sybase的EAServer 3.0包含了动态页面服务器——PowerDynamo与组件应用服务器——Jaguar Component Transac-tion Server.
1999年3月,Sun推出了Java 2 platform,Enterprise Edition (J2EE). J2EE面向基于Java与Web的企业级应用开发,其包含了一个应用程序模型、一组API以及一个参考实现.目前,大多数主流应用服务器都开始支持等.尽管J2EE的各种兼容实现已经开始在业界使用,但是,J2EE作为规范,本身设计存在着一些缺点,而这些缺点与基于Web应用的体系结构,以及分布式组件技术的使用都有着密切的关系.如何合理使用J2EE中的各项技术,以及Java语言、EJB组件标准给应用服务器的设计带来哪些便利与缺点等,都是理论与实践中值得探讨的问题.
本文的第2节从Web应用的体系结构与应用开发范型角度,剖析了J2EE的应用程序模型;第3节指出了J2EE与EJB在版本管理上的缺陷;第4节给出了JWebFrame——一个基于Java的轻量级服务器的设计与实现;最后一部分比较了两个设计各自的优缺点,展望了基于Java的Web应用服务器的未来.
2 J2EE的应用程序模型2.1 Web应用的体系结构传统的3层体系结构模型是:包含表示逻辑的客户层,包含应用逻辑的中间层应用服务器,以及表示事务处理与存储的数据库层.Web的出现使应用服务器的功能发生了变化,因为此时的应用服务器既包含了应用逻辑,又包含了表示逻辑.代表了表示逻辑的HTML在中间层产生,又下载到客户端浏览器.中间层的双重功能有3种实现方式:
直接用程序设计语言编程,返回的结果是一个Web页面,如CGI程序;在HTML页面中嵌入一些可执行的代码,如ASP程序;分成两个文件,一个是HTML模板,另外一个是应用逻辑,存放应用逻辑的程序运行后将结果输送到HTML模板文件中.微软的idc/htx组合采用的就是第3种方法.从概念的清晰度与程序的可维护性角度来说,第3种是最理想的方法.在J2EE中,Servlet,JSP分别属于第1种、第2种方法.但是,如果用户将主要的应用逻辑放在服务器端JavaBeans中,那么JSP+JavaBeans也可以看作是第3种方法.在J2EE中,将体系结构与开发范型等统称为应用程序模型.J2EE的体系结构如图1所示,其被分为4层:
①客户层,客户层可以是基于浏览器的,也可以是普通的J2EE客户.
②Web容器层,支持基于Web的开发.包含Web服务器、JSP、服务器端JavaBeans和Servlet.
③EJB(enterprise JavaBeans)容器层,一个管理和调度EJB组件的EJB服务器以及相应的EJB池.
④EIS层,原有的企业信息系统.