J2EE是一个开放的、基于标准的开发和部署的平台,用于构建N层的、基于Web的、以服务端计算为核心的、模块化的企业应用。J2EE同时也是所有兼容J2EE标准的应用服务器产品的统一标识。Sun公司领导着J2EE规范和标准的制定,但同时很多公司如IBM、BEA也为该标准的制定贡献了很多力量,所以J2EE每一个新规范的推出,都体现着整个业界对技术的共同认同。大家都遵守着“在标准上进行合作,在产品上进行竞争”的原则,从而使J2EE在技术规范上日臻完善和进步,同时又有各厂家实现J2EE规范的应用服务器产品在市场上推出,在性能上、价格上互相竞争,为最终用户提供多样化的选择。
从图1中可以看出,J2EE技术是在J2SE的基础之上,提供了企业计算所必须的服务如事务、安全性、消息服务等。J2SE平台提供java运行时环境的标准功能,如对跨平台开发的支持和内存治理等。J2EE应用的组件如企业JavaBean(EJB)、jsp和Servlet运行于J2EE容器之中,通过连接器访问企业信息系统,如数据库系统、ERP系统和其他应用程序系统。J2EE应用可以集成一系列的客户端,包括独立运行的台式客户端、无线客户端,以及基于Web浏览器的客户端等。J2EE平台为开发企业应用提供了高性能、高可靠性和可伸缩性的运行支撑环境。
图1 Ja2EEa平台体系架构
J2EE提供了一个多层的端到端的应用系统架构,如图2所示。在客户端层,多种客户端可通过多种不同的协议来访问中间层的J2EE服务,在设计J2EE应用的时候,首先需要选择的就是J2EE客户端的类型,应根据用户的使用模式及应用环境的特点来选择适合的客户端类型和通信协议,如Java Applet客户端和Java Web Start客户端适合于复杂的图形用户界面,如大量的数据录入、数据统计等应用,能满足高效的用户交互需求,根据具体应用环境的不同,可选择HTTP(S)、RMI/IIOP或JNLP等通信协议。
图2 端到端的多层应用系统架构
在中间层,主要包括Web服务器和应用服务器。在实际部署时,它们可以运行于单一的或多个物理平台上。从可靠性和可伸缩性考虑,应该采用多个Web服务器和应用服务器。Web服务器接受从客户端发来的请求,通过JSP和Servlet技术动态生成响应的内容,JSP或Servlet可以接着调用运行于应用服务器EJB容器中的企业 JavaBean进行相应的业务处理和运算。而中间层通过标准的协议访问企业信息系统层来读取数据和调用服务。
总之,J2EE为我们提供了一个建立在开放和标准的技术之上、非常灵活的端到端的多层体系架构,从而满足各种不同企业应用的需求。