2011-08-04 71 views
1

我有一個連接到EIS的JCA適配器。 用OSGI模塊替換適配器是個好主意嗎?從JCA遷移到OSGI這是一個好主意嗎?

我需要的功能是

  1. 訪問從EJB3的OSGI模塊
  2. 訪問從CDI豆OSGI模塊
  3. 訪問從一個servlet的OSGI模塊
  4. 支持聲明式事務管理CHINESE
  5. 將安全上下文從ejb傳播到osgi模塊

    • 我不使用連接池。
    • 我不使用公共客戶端接口

什麼是從JCA移動到OSGI模塊的利弊?

回答

1

移動的缺點是:

  • JCA是一個Java EE標準 - 你可以在任何Java EE容器使用正確編寫連接器。 Osgi也是一個標準,但對於企業應用程序及其框架來說還沒有。所有列出的「功能」(我稱之爲「需求」)都與Java EE緊密結合:EJB3,CDI,Servlet,TXN管理和安全性均由各種Java EE子系統完成或提供。您將必須深入深入到Java EE規格,以提供適當的膠水代碼。

歸結爲:很多容易出錯的工作,沒有很好的理由。所以我的問題是:什麼是專業移動(在你的情況當然)?

+0

JEE對基於RDBMS的數據存儲具有非常好的支持。整合no-sql或對象數據庫是一個涉及的過程。即編寫JCA適配器,添加ra.xml,配置數據源。使用OSGI我期望整合過程會更簡單。只需在類路徑中放入osgi包,並開始使用tx-mgt,聲明式安全性和JEE的其他好用功能。 API可以像@inject NOSQLPersistanceManager一樣簡單 –

+1

當您需要像XA事務這樣的高級JCA合同時,難以完成的部分 - 編寫JCA代碼與OSGI相當。 ra.xml在努力方面無關緊要。 OS的_configuration_也是OSGI所必需的 - 或者你會將連接參數硬編碼爲OSGI-Bundle?對於OSGI來說:使用JEE/JCA可以免費獲得大量的基礎設施 - 對於OSGI,您必須重新創建一些輪子才能與之相媲美 - 特別是在您的情況下,因爲您還想訪問EJB3 .. 。 –

相關問題