Переход с JCA на OSGI Хорошая идея?

У меня есть адаптер JCA для подключения к EIS. Стоит ли заменить адаптер модулем OSGI?

Функции, которые мне нужны,

  1. Доступ к модулю OSGI из ejb3
  2. Доступ к модулю OSGI из CDI bean-компонентов
  3. Доступ к модулю OSGI из сервлета
  4. Поддержка декларативного управления транзакциями
  5. Распространение контекста безопасности из ejb в модуль osgi

    • I dont use conection pooling.
    • Я не использую интерфейс Common Client

Каковы недостатки перехода с JCA на модуль OSGI?


person kiran.kumar M    schedule 04.08.2011    source источник


Ответы (1)


Минусы переезда:

  • JCA — это стандарт Java EE — вы можете использовать правильно написанный коннектор в любом контейнере Java EE. Osgi также является стандартом, но не (пока) для корпоративных приложений и их фреймворков.
  • Все перечисленные вами «функции» (я бы назвал их «требованиями») тесно связаны с Java EE: EJB3, CDI, Servlet, управление TXN и безопасность выполняются или обеспечиваются различными подсистемами Java EE. Вам придется глубоко погрузиться в спецификации Java EE, чтобы предоставить соответствующий связующий код.

Это сводится к следующему: Много работы, подверженной ошибкам, без уважительной причины. Итак, мой вопрос: каковы плюсы переезда (конечно, в вашем случае)?

person A.H.    schedule 07.04.2012
comment
JEE имеет очень хорошую поддержку хранилищ данных на основе RDBMS. Интеграция no-sql или объектной базы данных является сложным процессом. т. е. написать адаптер JCA, добавить ra.xml, настроить источник данных. Я ожидаю, что с OSGI процесс интеграции будет намного проще. Просто поместите пакет osgi в путь к классам и начните использовать tx-mgt, декларативную безопасность и другие полезные функции JEE. API может быть таким же простым, как @inject NOSQLPersistanceManager - person kiran.kumar M; 10.04.2012
comment
Сложная часть — написание кода JCA сравнимо с OSGI, когда вам нужны расширенные контракты JCA, такие как XA-транзакции. ra.xml не имеет значения с точки зрения усилий. И настройка DS также потребуется для OSGI - или вы жестко запрограммируете параметры подключения в свой OSGI-Bundle? Против OSGI: с JEE/JCA вы получаете много инфраструктуры бесплатно - с OSGI вам придется заново изобретать некоторые колеса только для того, чтобы соответствовать этому - особенно в вашем случае, потому что вы все еще хотите иметь доступ к EJB3,.. . - person A.H.; 10.04.2012