1. 程式人生 > >三種分散式物件主流技術——COM、Java和COBRA

三種分散式物件主流技術——COM、Java和COBRA

目前國際上,分散式物件技術有三大流派——COBRA、COM/DCOM和Java。CORBA技術是最早出現的,1991年OMG頒佈了COBRA 1.0標準,在當時來說做得非常漂亮;再有就是Microsoft的COM系列,從最初的COM發展成現在的DCOM,形成了Microsoft一套分散式物件的計算平臺;而Sun公司的Java平臺,在其最早推出的時候,只提供了遠端的方法呼叫,在當時並不能被稱為分散式物件計算,只是屬於網路計算裡的一種,接著推出的JavaBean,也還不足以和上述兩大流派抗衡,而其目前的版本叫J2EE,推出了EJB,除了語言外還有元件的標準以及元件之間協同工作通訊的框架。於是,也就形成了目前的三大流派。 

---- 應該說,這三者之中,COBRA標準是做的最漂亮的。COBRA標準主要分為3個層次:物件請求代理、公共物件服務和公共設施。最底層是物件請求代理ORB,規定了分佈物件的定義(介面)和語言對映,實現物件間的通訊和互操作,是分佈物件系統中的“軟匯流排”;在ORB之上定義了很多公共服務,可以提供諸如併發服務、名字服務、事務(交易)服務、安全服務等各種各樣的服務;最上層的公共設施則定義了元件框架,提供可直接為業務物件使用的服務,規定業務物件有效協作所需的協定規則。總之,CORBA的特點是大而全,互操作性和開放性非常好。目前CORBA的最新版本是2.3。CORBA 3.0也已基本完成,增加了有關Internet整合和QoS控制等內容。CORBA的缺點是龐大而複雜,並且技術和標準的更新相對較慢,COBRA規範從1.0升級到2.0所花的時間非常短,而再往上的版本的釋出就相對十分緩慢了。 

---- 相比之下,Java標準的制訂就快得多,Java是Sun公司自己定的,演變的很快。Java的優勢是純語言的,跨平臺性非常好。Java分佈物件技術通常指遠端方法呼叫(RMI)和企業級JavaBean(EJB)。RMI提供了一個Java物件遠端呼叫另一Java物件的方法的能力,與傳統RPC類似,只能支援初級的分佈物件互操作。Sun公司於是基於RMI,提出了EJB。基於Java伺服器端元件模型,EJB框架提供了像遠端訪問、安全、交易、持久和生命期管理等多種支援分佈物件計算的服務。目前,Java技術和CORBA技術有融合的趨勢。 

---- COM技術是Microsoft獨家做的,是在Windows 3.1中最初為支援複合文件而使用OLE技術上發展而來,經歷了OLE 2/COM、ActiveX、DCOM和COM+等幾個階段,目前COM+把訊息通訊模組MSMQ和解決關鍵業務的交易模組MTS都加進去了,是分佈物件計算的一個比較完整的平臺。Microsoft的COM平臺效率比較高,同時它有一系列相應的開發工具支援,應用開發相對簡單。但它有一個致命的弱點就是COM的跨平臺性較差,如何實現與第三方廠商的互操作性始終是它的一大問題。從分佈物件技術發展的角度來看,大多數人認為COM競爭不過COBRA。