ws平台下得到了实现,但已经有组织正致力于开发.NET平台在其他平台上的版本,如Linux和FreeBSD操作系统。
2.J2EE平台 J2EE是一个标准的体系结构,它主要面向使用Java程序设计语言进行基于Web的企业应用的开发部署【4J。
典型的商业化J2EE系统平台包括~个或者多个容器【5】。
容器是指特定组件提供服务的一个标准化的运行时环境,Java虚拟机就是一个典型的容器。
组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了J2EE底层的API CArIplication Programming Interface,应用编程接口),为组件提供事务处理、数据访问、安全性、持久性等服务。
在J2EE中,组件和组件之间并不直接访问,而是通过容器提供的协议和方法来相互调用。
组件和容器间的关系通过“协议”来定义。
容器的底层是J2EE服务器,它为容器提供J2EE中定义的各种服务和API。
一个J2EE服务器(也叫J2EE应用服务器)可以支持一种或多种容器,常见的容器有两个:一个是Web容器,主要包含Java Servlet和JSP。
另一个是EJB容器,主要包含企业级JavaBean。
3。
.NET平台和J2EE平台的比较 从相似点来看,两个平台的基础构造较为相似:在底层执行引擎都源于托管的虚拟机概念,程序的编译都经过了两个类似的过程,面向对象的程序设计都在两个平台上得到了实现,另外两个平台都提供了丰富的API类库。
此外,两个平台都具有三层或者多层体系结构:在客户端,.NET和J2EE都提出了基于桌面的应用程序和基于浏览器的Web应用的开发组件:Windows Form与Java应用、Asp.NET与Java Servlet/JSP;在中间层,.NET组件建立在新型的COM+服务之上,而J2EE的EJB则是一个成熟的、得到业界广泛支持的大型企业级组件框架,两者在组件与操作系统的交互、客户端资源共享等方面都具有很好的支持;在后端数据层,两个平台都为数据库连接量身定做了一套数据存取模型:.NET的ADO.NET与J2EE的JDBC,它们在支持传统SQL数据源的同时,也都支持新型的XML数据源。
从不同点来看,J2EE和.NET两个平台的差异点主要体现在可移植性和开放性两方面。
在移植性方面,微软通过.NET通用语言运行时(CLR)来消除编程语言的差别,而J2EE则通过Java虚拟机(JVM)来消除平台差别。
跨平台是J2EE的一个主要特性,也是在选择企业应用开发平台时的一个重要参考因素,几乎所有的主流操作系统都提供了对J2EE的支持。
实际上,如果要搭建跨Unix,Windows等多个操作系统平台,J2EE平台几乎是唯一的选择。
在开放性方面,J2EE本身是一系列公开的规范,而不是产品,任何符合这一规范的产品都是J2EE兼容的,许多厂商如BEA,IBM,Oracle等都相继开发了符合J2EE规范的产品。
本文主要是针对基于J2EE平台的Web应用研究。
1.2国内外研究现状 J2EE多层架构是目前流行的Web应用开发框架之一,目前大多数企业采用了J2EE技术的结构设计与解决方案。
J2EE提供了中间层集成框架,用来满足可用、可靠以及可扩展的应用需求161。
通过统一的开发平台,J2EE降低了开发多层应用 第一章绪论的技术成本和复杂度,支持对现有应用程序的集成;提高了异构环境的协同工作能力,支持打包和应用部署,增强了安全机制,提高了性能。
通常认为,运行在J2EE服务器上的EJB容器是此结构的核心,EJB组件负责接收、处理Web容器的客户请求和连接,提供整个企业使用的数据【7】。
但是EJB作为一种技术,也有它的缺点。
其主要缺点有以下几方面:EJB是一种重型框架,设计思想追求完美,模型复杂,
学习难度大;作为一种持久化机制,entitybean(实体bean)的尝试是彻底失败的;与其他的J2EE技术(例如servlet)相比,使用EJB的应用程序更加缺乏不同