2016-02-19 29 views
0

據我瞭解,到目前爲止,引導CORBA應用程序的常用方法是在某個專用機器上運行外部命名服務,並讓所有實例找到並連接到它設置連接/參考管理。但是,如果我計劃運行壽命較短的小型即時網絡(可能最多10個實例)呢?想象一下遠程控制的硬件設備,每個網絡都有一臺主機管理數據採集和處理。理想情況下,這些主機/服務器網絡中的每一個都應該能夠在不依賴於外部服務的情況下啓動(或者至少使其對用戶透明)以及大量的配置工作,不會干擾範圍內的其他網絡並且能夠在不影響離線的情況下其他。如何在實際應用中緩解CORBA設置和連接管理

我還沒有想出如何用CORBA很好地解決這個問題。如果只有框架依賴的解決方案,我最習慣的框架是ACE/TAO。特別是在向客戶端部署應用程序時,我不想在它們上施加複雜的設置例程,並且儘可能少地手動干預。 有沒有辦法乾淨地做到這一點或其他技術更適用於這種情況?

回答

1

很多CORBA教程都使用命名服務,但在真實系統中,我發現很多人不使用它。這是一個單一的失敗點,也會導致你提到的外部依賴。特別是在更多嵌入式系統中,人們使用具有固定端口號的IORTable支持。目前您知道CORBA服務器所在主機的IP地址,您可以構建一個corbaloc來調用CORBA服務器。有關示例,請參閱TAO分配的一部分ACE_wrappers/TAO/tests/Forwarding。

+0

我也可以使用IORTable來解析COSEventService或FTEventService嗎?我已將啓動代碼集成到我的應用程序的可執行文件中,並對其進行了修改,以便在根POA上激活後將其綁定到IORTable。但是,當我試圖將參考縮小到相應的類型時,我得到了一個TRANSIENT異常。我做錯了什麼? – user1709708

+0

IORTable用於應用程序服務器中的僕人,不確定您的示例在COSEvent/FTEvent中的含義。啓用TAO ORB日誌記錄以瞭解爲什麼ORB引發異常。 –

+0

我的問題是:如果我在其中一個網絡節點上啓動EventService,那麼我可以使用與descibed相同的機制來連接其他網絡節點的使用者/生產者嗎?我認爲EventChannel在技術上也只是不同網絡節點上的實例的服務者?! – user1709708

相關問題