CORBA and RMI-IIOP 與corba聯合使得EJB的客戶可以方便的移植corba應用程序。使EJB與已存在的非java語言的(例如C++、COBOL)現有系統整合起來。實事上,Corba和EJB有非常密切的聯系。J2EE中許多的概念來源于corba. Corba是EJB的基礎 許多的EJB的概念都來自于corba。EJB和J2EE帶來的是java為中心的,基于組件的,適合快速應用開發的中間件程序結構。使用corba,要求寫復雜的中間件API的程序,這無疑要求增加對于corba程序的了解程度。這就是為什么EJB和J2EE比corba更時候快速開發的原因。因為EJB正式被行業支持。(有25家之多正在同時開發EJB產品)。 盡管如此,corba還是非常重要的技術。對高級中間件開發非常有用。事實上,市場上大多數的EJB產品都基于corba,同時也在大量的使用corba的概念。 我們為什么要關心corba You can use CORBA for legacy integration. CORBA allows for advanced middleware development. CORBA and EJB have hooks connecting them. 使用corba的益處 corba不受某個公司控制 corba是獨立于語言的 Corba提供增加服務的可選性 Corba的缺點 Corba的發展受到限制:因為是一個組織,因此對于某些新特征,OMG采用的比較慢。 Corba不宜于學習 基于corba的產品可以有不協調的特征。 Corba如何工作
The ORB facilitates your networking needs. 對象實現和對象參考 對象適配器 倉庫:接口倉庫和實現倉庫 OMG的接口定義語言 語言映射(idl-java/idl-c++) 靜態調用
Calling a method in CORBA. 動態調用 corba的各種服務 名字服務/事件服務/對象事務服務/并發控制服務/安全服務 corba組件 參考規范FTP://ftp.omg.org/pub/docs/orbos/98-12-02.pdf