1. 程式人生 > >致力於頂級java全棧工程師

致力於頂級java全棧工程師

    我們繼續瞭解CORBA中介軟體的相關知識,本篇部落格我們講解可移植物件介面卡(POA)和紐帶機制。

CORBA中介軟體的另一優勢就是提供了靈活的服務端模型,該模型基於可移植物件介面卡體系結構,可以幫助開發人員有效管理複雜的服務端程式。在瞭解POA之前我們先明白什麼是CORBA物件和伺服物件,他們之間的關係是什麼。

    CORBA物件和伺服物件:兩者之間的關係就像是面向物件中類和物件的關係,CORBA物件是一個抽象意義上的物件,可看作一個具有物件標識、物件介面以及物件實現的抽象實體。伺服物件則是指具體程式設計語言的物件,通常存在於一個服務程式程序之中。在兩者中間就有一個物件介面卡負責將抽象的CORBA物件對映到具體的伺服物件。瞭解了兩者的關係,下面我們來認識POA又是怎麼回事。

    下面是POA的體系結構:


   在上面的POA體系結構中有一個伺服物件管理器,用於取代POA活動物件對映表的功能。

為滿足不同的應用需要,開發人員可以設計多個伺服物件管理器,伺服物件管理器分為伺服物件啟用器和伺服物件定位器,開發人員可以利用POA策略決定選用我們使用哪種型別。

    1)伺服物件啟用器:由ServantActivator型別的伺服物件管理器啟用的物件被記錄在活動物件對映表中,利用伺服物件啟用器處理請求時,POA首先查詢活動物件對映表,如果找到物件標識則呼叫伺服物件的合適操作並將結果返回給客戶程式,否則以物件標識與POA作為引數呼叫伺服物件啟用器的incamate操作,由伺服物件啟用器查詢並返回一個合適的伺服物件,然後將該伺服物件登記物件對映表中,最後呼叫伺服物件的合適操作並將結果返回給客戶程式。

    2)伺服物件定位器:伺服物件定位器負責查詢合適的伺服物件返回給POA,由POA呼叫伺服物件的合適操作並將結果返回給客戶程式後,在呼叫伺服物件定位器的postinvoke操作。

    現在我們知道了POA以及在POA體系結構中相當重要的伺服物件管理器,那麼當我們設計程式需要大量長時間的操作時,我們要選擇合適的POA策略來配置不同的POA。

    POA策略:POA策略是一個物件,負責控制相關POA的行為以及這些POA所管理的物件。目前CORBA規範定義了7中標準的POA策略,不同的ORB產品從可伸縮性或可靠性等因素使用一些新的POA策略。在建立新的POA策略時必須指定一個POA管理器用於控制新POA的狀態:


紐帶機制:編寫物件實現有兩種途徑,一是使用繼承機制,另一個就是使用紐帶機制。由於紐帶機制不佔用java語言單繼承的“配額”,所以非常適合將現有的java應用程式整合到CORBA分散式物件系統中。

    使用紐帶機制,物件實現不必繼承生成的POA類,但必須實現生成的Operations類。


    這就是本篇部落格所有的內容,下一篇部落格我們介紹J2EE規範和J2EE企業版中介軟體。