俞輝
摘要:J2EE和.NET是目前用于開發(fā)各種基于Browser/Server結構軟件項目的主流技術。J2EE是由Sun公司提出的一種用于開發(fā)企業(yè)級應用程序的標準,開發(fā)人員只要按照該標準,選擇合適的框架就能開發(fā)出跨平臺的企業(yè)級應用程序;.NET是微軟公司構造的一個技術平臺,它具有高效、穩(wěn)定的特性,能夠為客戶構建互聯(lián)互通的應用程序。本文對J2EE和.NET進行了介紹和闡述,并針對它們在表現(xiàn)層、中間層和數(shù)據(jù)層三個方面所展示的技術進行了分析與比較。
關鍵詞:J2EE .NET Browser/Server 標準 框架
中圖分類號:TP312.1 文獻標識碼:A 文章編號:1007-9416(2016)05-0000-00
1 引言
隨著Internet的普及和發(fā)展,各種軟件項目的開發(fā)由原來的Client/Server模式逐漸轉變?yōu)锽rowser/Server模式,使用B/S結構開發(fā)的各類軟件能夠被客戶在有網(wǎng)絡連接的計算機上直接進行使用,而不管客戶身處何處。J2EE和.NET是這種結構的兩個典型代表,越來越多的公司和程序員使用它們開發(fā)基于TCP/IP協(xié)議的應用程序,特別在近幾年來它們幾乎成為了軟件開發(fā)的代名詞,在各類大中專院校和專業(yè)培訓機構,它們也成為了學生和學員必學的課程。
2 J2EE和.NET
J2EE全稱為J2EE stands for The Java 2 Platform,它是由Sun公司提出的一種用于開發(fā)企業(yè)級應用程序的標準。它給各類組件及中間件提供了一組共同的規(guī)范和標準,使不同平臺上的企業(yè)級應用程序能夠相互兼容,解決了企業(yè)軟硬件升級后的維護成本,降低了開支。軟件開發(fā)人員只要按照J2EE的標準,制定相應的解決方案,選擇合適的框架就能開發(fā)出跨平臺的、具有良好兼容性的企業(yè)級應用程序的開發(fā)。
J2EE定義了很多的技術規(guī)范,如:EJB、JDBC、JSP、XML等。J2EE的核心其實就是Java平臺,因此它自然繼承了Java“編寫一次,隨處運行”的特點。J2EE解決了Client/Server模式存在的自身缺陷,使企業(yè)級的應用具有平臺獨立、可移植、多用戶、安全等優(yōu)勢,從而徹底優(yōu)化了企業(yè)級應用的開發(fā)、部署和維護。
.NET是微軟公司為了迎接網(wǎng)絡時代的到來提出的一個統(tǒng)一的Web開發(fā)模型,它是建立在公共語言基礎庫上的編程框架,可用在服務器上生成功能強大的Web應用程序。它具有高效、穩(wěn)定的特性,能夠為客戶構建互聯(lián)互通的應用程序。.NET是基于Windows操作系統(tǒng)的平臺,使用.NET開發(fā)的應用程序是運行于.NET框架之上的,是基于互聯(lián)網(wǎng)的分布式應用。
.NET作為一個技術平臺即框架其核心技術主要由三大部分組成:公共語言運行時(CLR)、基礎類庫、語言運行庫。公共語言運行庫是.NET框架的運行環(huán)境,負責運行和維護用戶編寫的程序代碼;基礎類庫提供了上百個面向對象的類來提供數(shù)字計算,字符串操作,數(shù)據(jù)庫操作等各種功能;語言運行庫是.NET框架的頂層應用,也就是通常所說的編程語言。
3 J2EE和.NET的比較
從定義上看,微軟的.NET是一個產(chǎn)品套件而J2EE只是一組規(guī)范和標準,但是從本質上來看它們都是為開發(fā)基于Web的企業(yè)級應用服務的。下面分別對它們在表現(xiàn)層、中間層和數(shù)據(jù)層三個方面所展示的技術進行對比。
3.1 表現(xiàn)層技術
在基礎結構上,.NET使用了微軟自家的IIS,J2EE并未指明;在編程模型上,.NET使用ASP.NET框架,J2EE使用Servlet和JSP;在高可用性和負載平衡上,.NET規(guī)定了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 數(shù)據(jù)層技術
在分布式事務處理上,.NET使用了Microsoft Distributed Transaction Coordinator (MS-DTC),J2EE采用了JTS;在關系性數(shù)據(jù)庫的接口上,.NET使用了ADO.NET,J2EE使用了JDBC;在數(shù)據(jù)存儲上,.NET指定了SQL Server數(shù)據(jù)庫,J2EE沒有指明。
從以上三個方面它們所采用的技術來看,相比J2EE來說.NET為開發(fā)企業(yè)級的三層結構應用指定了更多的技術,例如:在負載平衡和高可用性上都使用NLBS或者ACS來更好的平衡客戶端對服務器端的請求及在與服務器的連接中斷的情況下為客戶端提供持續(xù)的服務。另外它們之間兩個主要的區(qū)別在于:.NET僅支持Windows環(huán)境下的應用開發(fā),J2EE支持多種操作系統(tǒng)即跨平臺;J2EE是語言獨立的即只可使用Java進行開發(fā),.NET支持更多的開發(fā)語言。此外,相比.NET而言,J2EE更加成熟,它的出現(xiàn)比.NET早了整整三年。
4 結語
綜上所述,J2EE和.NET是目前用來開發(fā)基于Web的企業(yè)級應用的兩個很好的選擇。它們各自都有自己的優(yōu)點和缺點。由于J2EE的跨平臺性,其應用范圍和市場份額更大,但是.NET以其較為完整的框架結構、便利的開發(fā)模式及微軟的大力支持同樣也深受中小型企業(yè)的親睞。隨著Sun公司和微軟公司對J2EE和.NET的不斷改進和完善,它們之間的競爭還會繼續(xù)下去。
參考文獻
[1]王輝,來羽,陳德祥.ASP.NET 3.5使用教程[M].北京:清華大學出版社,2011.
[2]劉明彥,王超.ASP.NET實用案例教程[M].大連:大連理工大學出版社,2009.
[3]阿盧(美).J2EE核心模式[M].北京:機械工業(yè)出版社,2005.