俞辉
摘要:J2EE和.NET是目前用于开发各种基于Browser/Server结构软件项目的主流技术。J2EE是由Sun公司提出的一种用于开发企业级应用程序的标准,开发人员只要按照该标准,选择合适的框架就能开发出跨平台的企业级应用程序;.NET是微软公司构造的一个技术平台,它具有高效、稳定的特性,能够为客户构建互联互通的应用程序。本文对J2EE和.NET进行了介绍和阐述,并针对它们在表现层、中间层和数据层三个方面所展示的技术进行了分析与比较。
关键词:J2EE .NET Browser/Server 标准 框架
中图分类号:TP312.1 文献标识码:A 文章编号:1007-9416(2016)05-0000-00
1 引言
随着Internet的普及和发展,各种软件项目的开发由原来的Client/Server模式逐渐转变为Browser/Server模式,使用B/S结构开发的各类软件能够被客户在有网络连接的计算机上直接进行使用,而不管客户身处何处。J2EE和.NET是这种结构的两个典型代表,越来越多的公司和程序员使用它们开发基于TCP/IP协议的应用程序,特别在近几年来它们几乎成为了软件开发的代名词,在各类大中专院校和专业培训机构,它们也成为了学生和学员必学的课程。
2 J2EE和.NET
J2EE全称为J2EE stands for The Java 2 Platform,它是由Sun公司提出的一种用于开发企业级应用程序的标准。它给各类组件及中间件提供了一组共同的规范和标准,使不同平台上的企业级应用程序能够相互兼容,解决了企业软硬件升级后的维护成本,降低了开支。软件开发人员只要按照J2EE的标准,制定相应的解决方案,选择合适的框架就能开发出跨平台的、具有良好兼容性的企业级应用程序的开发。
J2EE定义了很多的技术规范,如:EJB、JDBC、JSP、XML等。J2EE的核心其实就是Java平台,因此它自然继承了Java“编写一次,随处运行”的特点。J2EE解决了Client/Server模式存在的自身缺陷,使企业级的应用具有平台独立、可移植、多用户、安全等优势,从而彻底优化了企业级应用的开发、部署和维护。
.NET是微软公司为了迎接网络时代的到来提出的一个统一的Web开发模型,它是建立在公共语言基础库上的编程框架,可用在服务器上生成功能强大的Web应用程序。它具有高效、稳定的特性,能够为客户构建互联互通的应用程序。.NET是基于Windows操作系统的平台,使用.NET开发的应用程序是运行于.NET框架之上的,是基于互联网的分布式应用。
.NET作为一个技术平台即框架其核心技术主要由三大部分组成:公共语言运行时(CLR)、基础类库、语言运行库。公共语言运行库是.NET框架的运行环境,负责运行和维护用户编写的程序代码;基础类库提供了上百个面向对象的类来提供数字计算,字符串操作,数据库操作等各种功能;语言运行库是.NET框架的顶层应用,也就是通常所说的编程语言。
3 J2EE和.NET的比较
从定义上看,微软的.NET是一个产品套件而J2EE只是一组规范和标准,但是从本质上来看它们都是为开发基于Web的企业级应用服务的。下面分别对它们在表现层、中间层和数据层三个方面所展示的技术进行对比。
3.1 表现层技术
在基础结构上,.NET使用了微软自家的IIS,J2EE并未指明;在编程模型上,.NET使用ASP.NET框架,J2EE使用Servlet和JSP;在高可用性和负载平衡上,.NET规定了Network Load Balancing Services(NLBS)、A Communications Server (ACS),J2EE对此未定义。
3.2 中间层技术
在核心结构上,.NET使用了微软的COM+,J2EE使用了EJB技术;编程工具上,.NET使用了Visual Studio.NET,J2EE没有定义;在高可用性和负载平衡上,.NET使用了ACS技术,J2EE未作说明;.NET分别在安全性和消息队列的接口上使用COM+ Security Call Context和MSMQ技术,而J2EE则指明了JAAS和JMS;在命名与目录服务上,.NET使用了Active Directory Service Interfaces ( ADSI),J2EE使用了JNDI。
3.3 数据层技术
在分布式事务处理上,.NET使用了Microsoft Distributed Transaction Coordinator (MS-DTC),J2EE采用了JTS;在关系性数据库的接口上,.NET使用了ADO.NET,J2EE使用了JDBC;在数据存储上,.NET指定了SQL Server数据库,J2EE没有指明。
从以上三个方面它们所采用的技术来看,相比J2EE来说.NET为开发企业级的三层结构应用指定了更多的技术,例如:在负载平衡和高可用性上都使用NLBS或者ACS来更好的平衡客户端对服务器端的请求及在与服务器的连接中断的情况下为客户端提供持续的服务。另外它们之间两个主要的区别在于:.NET仅支持Windows环境下的应用开发,J2EE支持多种操作系统即跨平台;J2EE是语言独立的即只可使用Java进行开发,.NET支持更多的开发语言。此外,相比.NET而言,J2EE更加成熟,它的出现比.NET早了整整三年。
4 结语
综上所述,J2EE和.NET是目前用来开发基于Web的企业级应用的两个很好的选择。它们各自都有自己的优点和缺点。由于J2EE的跨平台性,其应用范围和市场份额更大,但是.NET以其较为完整的框架结构、便利的开发模式及微软的大力支持同样也深受中小型企业的亲睐。随着Sun公司和微软公司对J2EE和.NET的不断改进和完善,它们之间的竞争还会继续下去。
参考文献
[1]王辉,来羽,陈德祥.ASP.NET 3.5使用教程[M].北京:清华大学出版社,2011.
[2]刘明彦,王超.ASP.NET实用案例教程[M].大连:大连理工大学出版社,2009.
[3]阿卢(美).J2EE核心模式[M].北京:机械工业出版社,2005.