程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> 從商業角度分析J2EE與WINDOWS DNA 體系結構

從商業角度分析J2EE與WINDOWS DNA 體系結構

編輯:J2EE
這份白皮書的以下部分要討論: 與COM+、WINDOWS DNA相比較,使用EJB、J2EE所能帶來的商業好處。 1 業界支持 任何一個商業化的技術要想擁有良好的市場態勢,業界內重要企業的大量參與是十分重要的。J2EE是由SUN引導,各廠商共同發起的,並得到廣泛認可的工業標准。業內‘企業計算’領域的大企業如:IBM , BEA Systems, Oracle等都有參與。 在J2EE規范制定階段讓供應商參與進來,能夠吸收他們在企業計算領域多年來成熟的經驗,而且能夠推動他們迅速開發出J2EE的產品。因為采取了以上策略,現在已經超過25個不同的服務器端平台支持J2EE 規范。 由於采用開放的協作制定規范,J2EE也體現了眾多企業計算領域供應商的知識和專業技術。這意味著產品解決方案能夠滿足任何商業需求。由於有大量的廠商支持,所以用戶的選擇范圍會更廣泛。 與此相比,WINDOWS DNA架構是由微軟單獨制定並完成的。客戶若是選擇了這種沒有得到業界廣泛支持的專有架構,就會把他們局限在某一個供應商的技術實現上。這會就妨礙客戶將來采用其他供應商的產品,而這些產品很有可能最適合某一企業的特定需求。 2保護已有的IT投資 由於公司必須適應新的商業需求,利用已有的企業信息系統方面的投資,而不是重新制定全盤方案就變得很重要。這樣,一個以漸進的(而不是激進的,全盤否定的)方式建立在已有系統之上的服務器端平台機制是公司所需求的。 J2EE架構可以充分利用用戶原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為可能是因為J2EE擁有廣泛的業界支持和一些重要的‘企業計算’領域供應商的參與。每一個供應商都對現有的客戶提供了不用廢棄已有投資,進入可移植的J2EE領域的升級途徑。由於基於J2EE平台的產品幾乎能夠在任何操作系統和硬件配置上運行,現有的操作系統和硬件也能被保留使用。 J2EE能夠保留現存的IT資產有以下三方面的好處: 應用程序能被利用 已有的代碼在J2EE方案中可被重用,一個應用程序可重新劃分層次而不用重寫。這樣就減少了開發時間,加快了進入市場的步伐,降低了開發成本,把項目保持在合理預算水平上。這同時也降低了企業的風險,因為公司可以使用已被驗證和曾經運作的方案,而不是撤掉已有系統從新編寫。 已有的產品和使用許可協議能被利用 如果一個公司已經購買了某些已有技術的使用許可協議或維護協議,如中間件,操作系統或硬件方面的許可協議,這些許可在J2EE環境中仍能被使用。因此能夠降低項目成本,縮短培訓時間。 對供應商的依賴性更小 因為正在為你服務的供應商提供了用於J2EE平台的產品,整體上只有一個供應商,你不需要依靠兩個供應商的幫助在他們產品之間建立連接。這就減小了應用程序的復雜性,降低了整體風險水平。 與此相對照,微軟的WINDOWS DNA 架構要求客戶購買並安裝Windows 2000,還有可能需要客戶購買新的硬件。客戶就沒有機會使用原有供應商的許可或維護協議,增加了項目成本。 我們也應當看到WINDOWS DNA 確實提供了到用戶已有系統的連接,可是客戶使用這種連接要依靠兩個供應商:微軟和現在為你提供產品的供應商。僅用一個供應商的方案通常比兩個供應商的連接方案更易管理,更可靠。 3保護未來的IT投資,適應變化 今天,一個公司的IT部門的靈活性與適應性是保持公司在市場中的競爭優勢的源泉。公司應迅速改進程序,以期對變化的市場環境做出反應,同時公司通過更短時間內面向市場,比競爭對手更快的采取應對措施可以在競爭中取得飛躍。通過設計能夠適應更多的用戶負載或事務需求的商務系統,IT部門能夠按照市場需求規劃部署。 J2EE能讓一個公司具有更強的適應變化的能力。因為每一個基於J2EE平台的產品都保證支持最基本的J2EE服務。公司可以只需構造一次編碼良好,符合J2EE的程序,然後在部署時按應用環境做出決策。如果底層平台的功能、伸縮性或可用性還不足以滿足新的市場需求,用戶可以有其他選擇。如果客戶的J2EE應用程序設計良好,並能符合標准,這個系統可以隨著時間的推移通過更換底層中間件、操作系統或硬件來進行放縮,卻不會顯著地更動應用程序。用這種方式對未來IT投資的保護是很具吸引力的建議。對市場需求的反應時間縮至最短,可以讓公司以INTERNET所要求的那種速度采取行動。 而WINDOWS DNA沒有提供象J2EE平台那種層次的對變化的適應性。客戶采用Windows DNA就會被綁在中間件和操作系統的微軟實現上,如果這個實現的功能性、可伸縮性、可用性不盡人意,客戶只能怪自己不夠走運。如對底層的操作系統和中間件作些修改就會顯著影響應用程序。可被選擇的硬件也十分有限。這都會極大地延誤公司對變化的市場環境做出反應。 4切入市場的時間 在今天的市場開發商業方案,數月時間已經是很漫長的概念,錯失一個很小的首先切入市場的機會都會意味著你的公司要花費數年的時間去追趕。 縮短切入市場時間的一種方法就是選擇便於應用程序快速開發的服務器端平台。J2EE和WINDOWS DNA都允許公司把一些通用的、很繁瑣的服務端任務交給中間件供應商去完成。這樣開發人員可以集中精力 在如何創建商業邏輯上,相應地縮短了開發時間。 然而基於J2EE平台的高級產品比WINDOWS DNA 提供了更大范圍的中間件服務。這種有點有些來自於J2EE平台結構本身的優勢,一些是由於J2EE能讓供應商鮮明地提供各種不同特性而同時保持與平台的兼容性。以下這些復雜的中間件服務是高級中間件供應商所提供的,而在WINDOWS DNA 中卻不具備的: 狀態管理服務:可以讓開發人員寫更少的代碼,不用關心如何管理狀態,這樣能夠更快地完成程序開發。 持續性服務:可以讓開發人員不用對數據訪問邏輯進行編碼就能編寫應用程序,能生成更輕巧,與數據庫無關的應用程序,這種應用程序更易於開發與維護。 分布式共享數據對象CACHE服務:可以讓開發人員編制高性能的系統,極大地提高整體部署的伸縮性。 公司選擇基於J2EE平台實現以上服務的產品,可比選用基於Windows DNA方案 能更快地切入市場,實現更高水准的伸縮性能。 J2EE平台快速切入市場的特性也有益於那些已擁有成型的電子商務軟件的供應商,如SAP, Peoplesoft、 Trilogy、 Oracle、 Tradex、 EC Cubed、 Integral、 I-mind 和 Intershop。供應商選擇J2EE平台能夠構造部署到任何客戶目標平台的可移植程序,這些目標平台包括WINDOWS、UNIX、其他已有系統,也包括任何基於J2EE平台的產品。供應商選擇微軟平台只能支持部署在Windows上的一小部分用戶。基於J2EE的程序是獨立於某一特定技術的,如數據庫、操作系統或硬件。這對一個擁有廣泛的異構環境下客戶的供應商是必需的。J2EE比Windows DNA 提供更多地底層平台服務,有助於軟件供應商更快地程序開發,更迅速地市場切入。 5平台的成熟性 自從1996年12月MTS發布以來,WINDOWS DNA,COM+的服務器端構件服務被不斷發展,而J2EE、EJB產品則是從1998年開始的。 看起來好像Windows DNA 是一個成熟的平台。然而事實上,現在基於J2EE平台的高端產品包含一些重要的事務邏輯,而這些事務邏輯應用在產品中許多年了。提供J2EE平台商業實現的供應商(如IBM、BEA)都有很長的、得到認可的發布中間件產品的歷史。這些中間件產品能實現大宗的事務系統。這些供應商不是從零開始構造服務器端平台(微軟的MTS卻是如此),一些供應商是通過在已得到驗證的現有技術上開發一個基於J2EE平台的具有可移植性的層來實現J2EE平台。這包括CORBA產品、事務處理監視器、數據庫、和/或應用服務器,以上這些技術以前都是各企業專用的。在一些基於J2EE平台的產品內的技術實現著大批的現今的商業事務,這些技術早在微軟進入服務器端商業領域以前就已產生。擁有早已得到認可的技術的J2EE產品供應商有: IBM's WebSphere 邏輯上脫胎於IBM's MQSerIEs、 CICS 與 Encina,而今天大多數重要的實時任務系統的事務都依靠這些產品來運轉。 BEA's WebLogic 這個產品自從微軟1996年首次推出MTS就已被投入市場。WEBLOGIC提供到M3和Tuxedo的連接,能夠讓IT部門使用事務處理監視器技術,這項技術有濃厚的可靠性歷史。 Oracle's Oracle 8i 能夠支持以下技術:數據庫服務、服務器端構件以及單個物理層上的WEB服務。Oracle 8i 是以Oracle公司在市場上占領導地位的數據庫技術和在線交易處理技術為基礎的。 Netscape's Netscape Application Server 基於Kiva應用服務器技術。 1996年開始使用,現在很多大型商業網站都靠它來驅動。 IONA's iPortal Application Server 基於OrbixWeb技術, OrbixWeb是一種CORBA產品,它有很長的發布歷史,提供一系列強大的高級中間件服務。 Inprise's Inprise Application Server 基於VISIBROKER,這是一種CORBA產品,長期以來一直被業界采用,並被部署在一些大型公司的站點上。 因為IT部門可以利用已有的、歷經考驗的技術,這在很大程度上減少了危險因素。 6 可伸縮性 公司必須要選擇一種服務器端平台,這種平台應能提供極佳的可伸縮性去滿足那些在他們系統上進行商業運作的大批新客戶。Windows 2000 Datacenter Server在2000年2月份被認為是微軟最具伸縮性的方案。據稱每台機器可支撐到16個處理器,若通過OEM則可達到32個處理器。把多個裝有Windows 2000機器集簇到一起,在理論上則可達到上百個處理器。要達到這樣高水平的伸縮性,服務器平台必須具有跨多台機器傳送客戶請求的功能。微軟的構件負載平衡技術就是為了在多個COM+構件上傳送客戶請求。 遺憾的是,微軟最近宣布由於功能不夠完善,構件負載平衡技術已經從‘Windows 2000’2000年2月發布版中取消。這意味著涉及到COM+的中間層被限定到一台機器上,進而不能提供大型商業網站所需要的伸縮性。 然而基於J2EE平台的應用程序可被部署到各種操作系統上。例如可被部署到高端UNIX與大型機系統,這種系統單機可支持64至256個處理器。J2EE領域的供應商提供了更為廣泛的負載平衡策略。能消除系統中的瓶頸,允許多台服務器集成部署。這種部署可達數千個處理器,實現可高度伸縮的系統,滿足未來商業應用的需要。 通過伸縮性的例子,我們也可看出選擇專有技術如WINDOWS DNA的危險性。客戶沒有選擇余地,只能等待供應商完成指定的特性。然而選擇J2EE這種開放結構,客戶可以選擇產品,還能保留在現有應用開發方面的投資。如果基於J2EE平台的應用程序設計正確,客戶可以變更產品供應商,以最小的移植代價來滿足一定的伸縮性或功能需要。 7長期的可用性 一個服務器端平台必須能全天候運轉以滿足公司客戶、合作伙伴的需要。因為INTERNET是全球化的、無處不在的,即使在夜間按計劃停機也可能造成嚴重損失。若是意外停機,那會有災難性後果。隨著INTERNET越來越成為主要的交易平台,這種事態現著愈發嚴重了。 J2EE部署到可靠的操作環境中,他們支持長期的可用性。一些J2EE部署在WINDOWS環境中,客戶也可選擇健壯性能更好的操作系統如Sun'sSolaris、IBM OS/390。最健壯的操作系統可達到99.999%的可用性或每年只需5分鐘停機時間。這是實時性很強商業系統理想的選擇。 基於微軟技術的部署過去還不能達到這樣高水平的可用性。WINDOWS DNA綁在Windows 操作系統上,而這種操作系統過去一直由於可靠性不高受到批評。微軟自己高度贊揚他的WIN 2000具有高度的可用性。但是否能達到以上這些操作系統的水平仍待觀察。盡管微軟的一些老客戶要選擇Windows 2000,任務時實性很強主流商務站點會采取保守姿態。 8產品的總體成本 購買服務器端平台,我們必須考慮擁有這個產品的總體成本。它包括:服務器平台的價格、在這個平台上開發和改進方案的成本、維護費用、由於伸縮性、不穩定性問題所消耗的部署時間、由於平台的缺陷所損失的客戶。較低的總體成本是擁有大宗業務、要求時實性強的商業站點所必需的。 基於J2EE平台的產品價位范圍很廣,各種類型的公司都可以找到滿足他們預算水平,所需求服務的產品。產品有完全免費(如代碼公開的Bullsoft's JOnAS)、每機2500美元(Valto's Ejipt)、每CPU35000美元(IBM's WebSphere Enterprise Edition)。而微軟指定的最初價位是:Windows 2000 Advanced Server每機3999美元外加1999美元(由於INTERNET連接造成無限授權的INTERNET用戶)。 微軟的價位是處在基於J2EE產品價位的中低檔。微軟還沒有宣布Windows 2000 Datacenter Server, Windows 2000 AppCenter Server價格,因此現在我們還無法把微軟的高端平台與大部分J2EE平台相比。以後會因為競爭的存在,各中間件供應商包括微軟會按照所提供的服務水平而達成相近的價位。 無論價格戰的結果如何,J2EE架構都會比Windows DNA節省更多的整體成本。這是因為采用J2EE架構,IT部門可更充分利用在應用程序、中間件技術、操作系統方面已有的投資。基於J2EE開發的成本(最初的、後續的成本)也會顯著降低。這是因為對於程序員,開發面向J2EE平台程序時,一些棘手的中間件任務可被隱式地完成,而WINDOWS DNA則不可以。開發符合J2EE規范的應用程序時,程序員可以花費更多的時間專注於業務邏輯的實現,提高了開發效率。 9 多種選擇與限定在某個供應商 Windows DNA 與 J2EE一個很大的不同點是:微軟的方案是專用的,排除了競爭的可能(導致壟斷)而J2EE公開標准,引入競爭(自由市場)。 競爭的好處是:價格被降低;優秀的產品會出現;客戶有選擇權和靈活性而不是固定在某一個供應商的方案上;極大降低客戶的風險水平。競爭的缺點是:制定開放的標准需要額外的工作來確保兼容。一些開放標准如SQL、CORBA在過去都曾因缺乏這種保證而深受其害,結果一些專用產品出現了。 Sun Microsystems為解決這個問題在J2EE發布中包括了一個稱為‘J2EE兼容性測試套件’的產品。所有中間件供應商必須成功通過這個測試才能獲得J2EE認證標志。這就確保了J2EE應用程序代碼可以只開發一次,然後在任何基於J2EE平台的產品中編譯、運行。客戶有選擇的機會,避免了依賴某一個供應商。 事實上,Sun Microsystems已成功地應用測試套件的方法來保證J2SE(JAVA2平台標准版)的兼容性。現在你可以創建基於JAVA2平台的程序僅一次,然後可以部署到任何兼容的Java虛擬機上。這個方法在J2EE上也是行得通的。J2EE兼容性測試套件是解決不兼容的服務器端平台的關鍵。讀者也應該注意到,由於J2EE領域激烈的競爭,供應商業會提供超越J2EE標准的便利服務。這由供應商來決定增加哪些特性是適宜的。 10 支持異構環境 一些大的公司擁有異構的服務器端部署環境,使用多種操作系統、硬件、中間件產品。異構的環境在以下情況也可能出現:要完成多個不同項目的機構;對擁有不同部署環境的公司進行合並、收購。在以上情形中,跨異構操作系統的可移植性與互操作性是非常重要的。 J2EE能夠開發部署在異構環境中的可移植程序。基於J2EE的應用程序不依賴任何特定操作系統、中間件、硬件。因此設計合理的基於J2EE的程序只需開發一次就可部署到各種平台。這在典型的異構公司計算環境中是十分關鍵的。J2EE標准也允許客戶訂購與J2EE兼容的第三方的現成的組件,把他們部署到異構環境中,節省了由自己制訂整個方案所需的費用。 WINDOWS DNA(包含COM+組件)只能應用到Windows 2000上,不能在現有的系統上使用。這對任何一個擁有異構環境的公司都是難以接受的。另外,選擇Windows DNA,公司要在異構環境中引入新的操作系統,使整個系統更加復雜。公司購買現成的組件也只能部署在WIN 2000上,限制了它的使用。 在異構環境中,不同系統的互操作或通信是非常重要的。在兩個不同的J2EE系統中,同種J2EE產品可以相互通信。兩個不同供應商的產品也可通信,但是由於缺乏標准機制,不同供應商的產品的事務、安全信息不能互操作。在新版的J2EE規范中將會制訂一個標准協議實現完全互操作性,並且不影響已有的程序代碼。微軟不想遵循這個協議,所以它的服務器端產品仍是專用的,不能和其他供應商的產品互操作。 11 可維護性 通常,公司只評估一個項目整個部署過程中的成本。然而整體成本應包括一個已實現的方案的維護費用。使用J2EE要比利用Windows DNA開發的應用程序更易於維護。基於J2EE平台產品支持更廣泛的組件類型和中間件服務,可以讓開發人員投入精力在亟待解決的商業問題而不是中間件上。開發人員利用底層平台構造靈活、易維護的企業系統,這類系統不用作大的調整就可以適應新的中間件、數據庫或數據庫規劃。 與此相比Windows DNA 部提供如此廣泛的中間件功能。在構造系統時要編寫更多代碼,增加了程序的復雜性,不能把商業邏輯與中間件功能清晰地分開。而且終端程序將難於維護,當開發組變更,項目交接時情況更糟。 總結:二十一世紀,隨著Internet日益成為主要的商業交易平台,具有可伸縮性、靈活性、易維護性的商務系統是人們關注的焦點。而J2EE恰好提供了這樣一個機制。通過以上對比,使用J2EE的好處顯而易見,並且隨著時間的推移,將會愈發顯出它的生機。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved