2、應(yīng)用服務(wù)器的解決方案及比較
目前市場上國內(nèi)外的應(yīng)用服務(wù)器產(chǎn)品大概超過50家。從實現(xiàn)技術(shù)的角度劃分,可以將應(yīng)用服務(wù)器歸為基于J2EE的解決方案、Microsoft解決方案和其他技術(shù)等3大類。
2.1基于J2EE的應(yīng)用服務(wù)器
近年在應(yīng)用服務(wù)器市場上最具意義的進展,就是J2EE(Java 2 Platform Enterprise Edition)的出現(xiàn)。J2EE 是Sun公司提出的開發(fā)、部署、運行和管理基于Java分布式應(yīng)用的標(biāo)準(zhǔn)平臺。它以Java 2平臺標(biāo)準(zhǔn)版(J2SE)為基礎(chǔ),繼承了標(biāo)準(zhǔn)版的許多優(yōu)點(如“編寫一次,到處運行”),還提供了對EJB、Java Servlet、JSP等技術(shù)的全面支持。J2EE使用EJB Server作為商業(yè)組件的部署環(huán)境,在EJB Server中提供了分布式計算環(huán)境中組件需要的服務(wù),例如組件生命周期的管理、數(shù)據(jù)庫連接的管理、分布式事務(wù)的支持、組件的命名服務(wù)等。
J2EE用于實現(xiàn)應(yīng)用服務(wù)器有其優(yōu)勢,它可以利用Java語言自身具有的跨平臺性、可移植性、對象特性、內(nèi)存管理等方面的性能,為應(yīng)用服務(wù)器的實現(xiàn)提供一個完整的底層框架。J2EE中定義的各種服務(wù),包括JSP和Servlet容器、EJB容器、JDBC、JNDI(名字目錄服務(wù))、JTS/JTA(事務(wù)服務(wù))、JMS(消息服務(wù))等,也分別為應(yīng)用服務(wù)器提供了各種支持。實現(xiàn)商業(yè)邏輯的EJB組件可以更加高效的運行在應(yīng)用服務(wù)器中,用戶可以通過Java Sevlet或者JSP調(diào)用運行在EJB Server中的EJB,也可以通過IIOP直接訪問運行在EJB Server中的組件。除了應(yīng)用服務(wù)器的基本特性以外,J2EE應(yīng)用服務(wù)器還應(yīng)實現(xiàn):支持Java編程的工業(yè)標(biāo)準(zhǔn),包括EJB、JDBC、JNDI、RMI-IIOP、JCA、JTS/JTA等;能夠與業(yè)界主要的IDE(如Borland Jbuilder、VisualCafe等)集成;與標(biāo)準(zhǔn)的Java操作平臺兼容,如Sun、IBM等系統(tǒng)平臺;使用完全的Java語言編碼實現(xiàn),保證良好的可移植性和支持Java的語言特性。
2.2微軟的解決方案
將微軟的解決方案單獨劃作一類,不僅僅是應(yīng)為微軟在業(yè)界的地位,而是應(yīng)為微軟在應(yīng)用服務(wù)器上的解決方案代表了另一種思路,可以說,選擇了微軟的應(yīng)用服務(wù)器解決方案也就意味著選擇了完全的微軟平臺。微軟的目標(biāo)是分布式的Web應(yīng)用開發(fā)環(huán)境,它并沒有提供一個類似通常所說的應(yīng)用服務(wù)器的軟件或軟件包,而是將Windows NT/2000看做其應(yīng)用服務(wù)器的基礎(chǔ),通過附加一系列具備中間件功能的軟件包來實現(xiàn)應(yīng)用服務(wù)器平臺。目前,應(yīng)用服務(wù)器的實現(xiàn)體現(xiàn)在微軟命名為.Net的Web應(yīng)用開發(fā)框架中。.NET戰(zhàn)略引入了許多新概念,包含了一些新的技術(shù),如Web Services和C#語言,但.NET在很大程度上是微軟以前開發(fā)的企業(yè)級應(yīng)用平臺DNA的重新包裝。微軟在.NET中提供了一系列企業(yè)級服務(wù)器,為部署、管理和建立基于XML和Web的應(yīng)用構(gòu)筑了.NET服務(wù)器結(jié)構(gòu),包括Application Center、BizTalk Server、Commerce Server、Exchange Server、SQL Server等,它們結(jié)合Windows平臺上的一系列開發(fā)工具和技術(shù)(包括Visual Studio .NET、ASP .NET等),提供了強有力的應(yīng)用服務(wù)器解決方案。
2.3其他解決方案
由于應(yīng)用需求和技術(shù)的原因,尚有一些應(yīng)用服務(wù)器使用其他語言和技術(shù)實現(xiàn)。Macromedia公司的ColdFusion服務(wù)器就是采用標(biāo)記語言CFML(ColdFusion Markup Language)實現(xiàn),使得熟悉HTML的開發(fā)者能夠簡單快速地進行應(yīng)用開發(fā),在開發(fā)的簡單性和快速的生產(chǎn)力方面較有優(yōu)勢。ColdFusion的目標(biāo)是致力于中小型的企業(yè)應(yīng)用環(huán)境,但是它也具有高性能和良好的可靠性,在市場上仍能占有一定的份額。PHP是開放源代碼的服務(wù)器端腳本語言,它為實現(xiàn)應(yīng)用服務(wù)器提供了一種易于編程的實現(xiàn)手段,PHP應(yīng)用服務(wù)器的代表有Midgard和PhpLens。Zope則是使用Python語言編寫的開放源碼應(yīng)用服務(wù)器,它也為Web應(yīng)用提供了完整的實現(xiàn)框架和手段,在協(xié)同工作支持、Web內(nèi)容管理等方面有其特點
總之,在各種應(yīng)用服務(wù)器的解決方案中,J2EE和微軟.net是兩大主流陣營,占據(jù)了絕大部分的市場,所以對它們作一簡單比較。
首先需要注意區(qū)別的是,.NET是一個產(chǎn)品套件,是產(chǎn)品戰(zhàn)略,而J2EE是編寫產(chǎn)品時的標(biāo)準(zhǔn),二者在能力上各有千秋。例如,在對已有系統(tǒng)的集成能力方面,J2EE要優(yōu)于.NET,它通過JCA(Java Connector API)可以更容易地將已有的企業(yè)應(yīng)用進行集成。微軟的解決方案則在Windows平臺上提供了一系列快速開發(fā)和部署應(yīng)用的工具,但由于微軟對Java的支持并不好,所以在一定程度上影響了其接受程度。J2EE的接受程度則較高,因為它定義了一個應(yīng)用服務(wù)器在Java體系結(jié)構(gòu)下的基本服務(wù)和能力的規(guī)范,為不同廠商的應(yīng)用服務(wù)器產(chǎn)品的標(biāo)準(zhǔn)化提供了一條可行途徑。J2EE應(yīng)用服務(wù)器可以使用戶在此標(biāo)準(zhǔn)下創(chuàng)建的應(yīng)用程序都能運行于其上,更重要的是,在滿足J2EE兼容性的條件下,在不同的應(yīng)用服務(wù)器上的應(yīng)用組件可以很好地互操作,這樣可以降低移植的風(fēng)險和代價,提高應(yīng)用的靈活性,有助于保護用戶的投資。因此,許多應(yīng)用服務(wù)器廠商已經(jīng)轉(zhuǎn)向采用J2EE標(biāo)準(zhǔn),而且所實現(xiàn)的J2EE應(yīng)用服務(wù)器在Windows平臺上也可以很好地工作。
出處:
責(zé)任編輯:藍色
上一頁 多層企業(yè)應(yīng)用:J2EE應(yīng)用服務(wù)器 下一頁 J2EE產(chǎn)品的比較標(biāo)準(zhǔn)
◎進入論壇網(wǎng)絡(luò)編程版塊參加討論
|