预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

●技术与应用J2EE与.NET技术架构的比较岳福香(电信科学技术第十研究所西安710061)摘要:从体系架构、移植性、性能、安全性、稳定性、可扩展性、成熟度、第三方厂商支持、开源支持、学习成本和对Web服务支持等方面,试图对目前两种重要的软件开发技术架构J2EE与.NET进行一个客观、公正、全面的比较。关键词:J2EE.NET体系架构移植性安全性可扩展性Web服务随着三层/多层公司信息系统结构的深度发展和下一代分布式计算模型Web服务的出现,软件开发中关于平台、框架、语言的竞争也愈演愈烈。自从微软推出.NET平台,业界关于J2EE平台与.NET平台的比较从未停止过。本文在收集整理相关文章的基础上,试图对目前两种重要的应用软件开发技术架构J2EE与.NET进行一个客观、公正、全面的比较,以帮助软件开发商选择一个较为合适的开发平台进行应用软件的开发。一、J2EE简介Java于1995年由Sun公司推出,当时它的重要用途是制作产生动态网页的Applet。后来,人们发现Java的“一次开发,多次运营”、纯面向对象的特性、垃圾回收机制和内置安全特别适合于开发公司应用系统。于是,公司应用开发商纷纷在Java标准版的基础上各自扩展出许多公司应用API,其结果导致基于Java的公司应用呈爆炸式增长。但是各公司系统API之间又不能互相兼容,破坏了Java的平台独立性。鉴于此,Sun公司联合IBM、Oracle、BEA等大型公司应用系统开发商于1999年共同制订了一个基于Java组件技术的公司应用系统开发规范,该规范定义了一个多层公司信息系统的标准平台,旨在简化和规范公司应用系统的开发和部署。这一规范和其定义的平台就构成了J2EE。它定义了基于组件的方式设计、开发、组装和部署公司应用系统的各个组成部分。同时,J2EE规范定义了分布式多层应用系统模型、组件重用策略、一体化的安全模型以及灵活的事务控制策略等,使得独立软件提供商(ISV)可以比以前更快的速度,向市场推出用户适应的解决方案。J2EE是一套针对于公司级分布式应用的计算环境,其结构体系如图1所示。它定义了动态Web页面功能(Servlet和Jsp)、商业组件(EJB)、异步消息传输机制(JMS)、名称和目录定位服务(JNDI)、数据库访问(JDBC)、与子系统的连接器(JCA)和安全服务等。需要注意的是,J2EE自身是一个标准,而不是一个现成的产品(虽然现在有很多符合J2EE标准的产品),它由以下几个部分组成:(1)J2EE规范该规范定义了J2EE平台的体系结构、平台角色及J2EE中每种服务和核心API的实现规定。它是J2EE应用服务器开发商的大纲。(2)J2EE兼容性测试站点Sun公司提供的一个测试J2EE应用服务器是否符合J2EE规范的站点,对通过该站点测试的产品,Sun公司将发放兼容性证书。(3)J2EE参考实现即J2EESDK,它既是Sun公司自己对J2EE规范的一个非商业性实现,又是为开发基于J2EE公司级应用系统原型提供的一个免费的底层开发环境。(4)J2EE实行指南即BluePrints文档,该文档通过实例来指导开发人员如何去开发一个基于J2EE的多层公司应用系统。图1J2EE体系结构图1.组件-容器模型J2EE是一个基于组件-容器模型的系统平台,其核心概念是容器。容器是指为特定组件提供服务的一个标准化的运营时环境,Java虚拟机就是一个典型的容器。组件是一个可以部署的程序单元,它以某种方式运营在容器中,容器封装了J2EE底层的API,为组件提供事务解决、数据访问、安全性、持久性等服务。在J2EE中组件和组件之间并不直接访问,而是通过容器提供的协议和方法来互相调用。组件和容器间的关系通过“协议”来定义。容器的底层是J2EE服务器,它为容器提供J2EE中定义的各种服务和API。一个J2EE服务器(也叫J2EE应用服务器)可以支持一种或多种容器。2.J2EE的核心——EJBJ2EE定义了四种组件:Applet组件、Application客户组件、Web组件及EJB(EnterpriseJavaBeans)组件。其中Applet和Application客户组件在客户端运营,J2EE通过Java插件为Applet提供运营环境,Application客户的容器就是本地Java虚拟机;Web及EJB组件在服务端运营。J2EE中包含JSP和Servlet两种Web组件,它们是Web服务器的功能扩展,都能生成动态Web页面。不同的是JSP是将Java代码嵌入到HTML中,服务器负责解释执行,生成结果返回用户(与ASP技术相似);而Servlet是单独的Java类,它动态生成HTML文献返回给客户。Web组件的容器比较典型的就是基于Java的Web服务器。EJB是J2EE平台的核心,也是J2EE