1. OMG的CORBA
CORBA分布計算技術是OMG組織基于眾多開放系統平臺廠商提交的分布對象互操作內容的基礎上制定的公共對象請求代理體系規范。
CORBA分布計算技術,是由絕大多數分布計算平臺廠商所支持和遵循的系統規范技術,具有模型完整、先進,獨立于系統平臺和開發語言,被支持程度廣泛的特點,已逐漸成為分布計算技術的標準。COBRA標準主要分為3個層次:對象請求代理、公共對象服務和公共設施。最底層是對象請求代理ORB,規定了分布對象的定義(接口)和語言映射,實現對象間的通訊和互操作,是分布對象系統中的"軟總線";在ORB之上定義了很多公共服務,可以提供諸如并發服務、名字服務、事務(交易)服務、安全服務等各種各樣的服務;最上層的公共設施則定義了組件框架,提供可直接為業務對象使用的服務,規定業務對象有效協作所需的協定規則。目前,CORBA兼容的分布計算產品層出不窮,其中有中間件廠商的ORB產品,如BEAM3,IBM Component Broker,有分布對象廠商推出的產品,如IONAObix和OOCObacus等.
CORBA CCM(CORBA Component Model)技術是在支持POA的CORBA規范(版本2.3以后)基礎上結合EJB當前規范的基礎上發展起來的。CORBA構件模型是OMG組織制定的一個用于開發和配置分布式應用的服務器端構件模型規范,它主要包括如下三項內容
(1)抽象構件模型,用以描述服務器端構件結構及構件間互操作的結構
(2)構件容器結構,用以提供通用的構件運行和管理環境,并支持對安全、事務、持久狀態等系統服務的集成
(3)構件的配置和打包規范,CCM使用打包技術來管理構件的二進制、多語言版本的可執行代碼和配置信息,并制定了構件包的具體內容和基于XML的文檔內容標準。
總之,CORBA的特點是大而全,互操作性和開放性非常好。CORBA的缺點是龐大而復雜,并且技術和標準的更新相對較慢,COBRA規范從1.0升級到2.0所花的時間非常短,而再往上的版本的發布就相對十分緩慢了。在具體的應用中使用不是很多。
2. Sun的J2EE
為了推動基于Java的服務器端應用開發,Sun于是在1999年底推出了Java2技術及相關的J2EE規范,J2EE的目標是:提供平臺無關的、可移植的、支持并發訪問和安全的,完全基于Java的開發服務器端構件的標準。
在J2EE中,Sun給出了完整的基于Java語言開發面向企業分布應用規范,其中,在分布式互操作協議上,J2EE同時支持RMI和IIOP,而在服務器端分布式應用的構造形式,則包括了Java Servlet、JSP(Java Server Page)、EJB等多種形式,以支持不同的業務需求,而且Java應用程序具有"Write once,run anywhere"的特性,使得J2EE技術在發布計算領域得到了快速發展。 J2EE簡化了構件可伸縮的、其于構件服務器端應用的復雜度,雖然DNA 2000也一樣,但最大的區別是DNA 2000是一個產品,J2EE是一個規范,不同的廠家可以實現自己的符合J2EE規范的產品,J2EE規范,是眾多廠家參與制定的,它不為Sun所獨有,而且其支持跨平臺的開發,目前許多大的分布計算平臺廠商都公開支持與J2EE兼容技術。 EJB是Sun推出的基于Java的服務器端構件規范J2EE的一部分,自從J2EE推出之后,得到了廣泛的發展,已經成為應用服務器端的標準技術。Sun EJB技術是在Java Bean本地構件基礎上,發展的面向服務器端分布應用構件技術。它基于Java語言,提供了基于Java二進制字節代碼的重用方式。EJB給出了系統的服務器端分布構件規范,這包括了構件、構件容器的接口規范以及構件打包、構件配置等的標準規范內容。EJB技術的推出,使得用Java基于構件方法開發服務器端分布式應用成為可能。從企業應用多層結構的角度,EJB是業務邏輯層的中間件技術,與JavaBeans不同,它提供了事務處理的能力,自從三層結構提出以后,中間層,也就是業務邏輯層,是處理事務的核心,從數據存儲層分離,取代了存儲層的大部分地位。從分布式計算的角度,EJB像CORBA一樣,提供了分布式技術的基礎。提供了對象之間的通訊手段。 從Internet技術應用的角度,EJB和Servlet,JSP一起成為新一代應用服務器的技術標準,EJB中的Bean可以分為會話Bean和實體Bean,前者維護會話,后者處理事務,現在Servlet負責與客戶端通信,訪問EJB,并把結果通過JSP產生頁面傳回客戶端。 J2EE的優點是,服務器市場的主流還是大型機和UNIX平臺,這意味著以Java開發構件,能夠做到"Write once,run anywhere",開發的應用可以配置到包括Windows平臺在內的任何服務器端環境中去。
3. Microsoft DNA 2000
Microsoft DNA 2000(Distributed interNet Applications)是Microsoft在推出Windows2000系列操作系統平臺基礎上,在擴展了分布計算模型,以及改造Back Office系列服務器端分布計算產品后發布的新的分布計算體系結構和規范。 在服務器端,DNA 2000提供了ASP、COM、Cluster等的應用支持。目前,DNA2000在技術結構上有著巨大的優越性。一方面,由于Microsoft是操作系統平臺廠商,因此DNA 2000技術得到了底層操作系統平臺的強大支持;另一方面,由于Microsoft的操作系統平臺應用廣泛,支持該系統平臺的應用開發廠商數目眾多,因此在實際應用中,DNA 2000得到了眾多應用開發商的采用和支持。 DNA 2000融合了當今最先進的分布計算理論和思想,如事務處理、可伸縮性、異步消息隊列、集群等內容。DNA使得開發可以基于Microsoft平臺的服務器構件應用,其中,如數據庫事務服務、異步通訊服務和安全服務等,都由底層的分布對象系統提供。 以Microsoft為首的DCOM/COM/COM+陣營,從DDE,OLE到ActiveX等,提供了中間件開發的基礎,如VC,VB,Delphi等都支持DCOM,包括OLE DB在內新的數據庫存取技術,隨著Windows2000的發布,Microsoft的DCOM/COM/COM+技術,在DNA2000分布計算結構基礎上,展現了一個全新的分布構件應用模型。首先,DCOM/COM/COM+的構件仍然采用普通的COM(Component Object Model)模型。COM最初作為Microsoft桌面系統的構件技術,主要為本地的OLE應用服務,但是隨著Microsoft服務器操作系統NT和DCOM的發布,COM通過底層的遠程支持使得構件技術延伸到了分布應用領域。DCOM/COM/COM+更將其擴充為面向服務器端分布應用的業務邏輯中間件。通過COM+的相關服務設施,如負載均衡、內存數據庫、對象池、構件管理與配置等等,DCOM/COM/COM+將COM、DCOM、MTS的功能有機地統一在一起,形成了一個概念、功能強的構件應用體系結構。而且,DNA2000是單一廠家提供的分布對象構件模型,開發者使用的是同一廠家提供的系列開發工具,這比組合多家開發工具更有吸引力。 但是它的不足是依賴于Microsoft的操作系統平臺,因而在其它開發系統平臺(如Unix、Linux)上不能發揮作用。
原文轉自:http://www.anti-gravitydesign.com