Архитектура коннектора J2EE (J2EE Connector architecture, JCA) описывает стандартную архитектуру соединения платформы J2EE с гетерогенными корпоративными информационными системами (Enterprise Information Systems, EIS), например ERP, обработкой транзакций мейнфреймами, системами баз данных и имеющимися приложениями, написанными на языках, отличных от Java. Описывая набор расширяемых, защищенных и транзакционных механизмов, JCA обеспечивает интеграцию EIS с серверами приложений и корпоративными приложениями.
WebSphere Application Server V6 предоставляет полную реализацию спецификации JCA 1.5, включая возможности спецификации JCA 1.0.
• Общий доступ к соединениям (res-sharing-scope).
• Программная модель получение/использование/закрытие для дескрипторов соединений.
• Программная модель получение/использование/кеширование для дескрипторов соединений.
• Модели XA, Local и No Transaction для адаптеров ресурсов, включая восстановление XA.
• Опции системы безопасности А и С, согласно спецификации.
• Приложения со встроенными файлами .rar.
Новые функции спецификации JCA 1.5 следующие.
• Оптимизация отсроченных транзакций приема.
• Оптимизация ассоциирования малоактивных соединений.
• Входящая связь от корпоративной информационной системы (EIS) к адаптеру ресурсов.
• Входящие транзакции от EIS к адаптеру ресурсов.
• Управление работой, обеспечение распределения работы адаптера ресурсов по отдельным потокам и передачи контекста выполнения, такого как входящие транз акции, в поток.
• Управление жизненным циклом, разрешение останова и запуска адаптера ресурсов.
Адаптер JCA-ресурсов (JCA Resource Adapter) – это программный драйвер уровня системы, который поставляют производители EIS и сторонние производители. Он обеспечивает следующие возможности.
• Обеспечивает связь между J2EE-компонентами, такими как сервер приложений или клиентские приложения, и EIS.
• Подключается к серверу приложений.
• Взаимодействует с сервером приложений, предоставляя важные службы, такие как работа с пулом соединений, транзакции и безопасность.
JCA определяет следующий набор контрактов системного уровня между сервером приложений и EIS.
• Контракт управления соединениями позволяет пулу сервера приложений связываться с EIS, а также позволяет компонентам приложений связываться с EIS. Это формирует расширяемую среду приложений, поддерживающую большое количество клиентов, которым необходим доступ к EIS.
• Контракт управления транзакциями между менеджером транзакций и EIS поддерживает транзакционный доступ к менеджерам ресурсов EIS. Этот контракт позволяет серверу приложений использовать менеджер транзакций для управления транзакциями по нескольким менеджерам ресурсов. Этот контракт также поддерживает транзакции, управляемые внутри менеджера ресурсов EIS, без необходимости задействовать внешний менеджер транзакций.
• Контракт безопасности обеспечивает безопасный доступ к EIS. Данный контракт поддерживает защищенную среду приложений, снижает угрозы безопасности EIS и защищает ценные информационные ресурсы, находящиеся под управлением EIS.
Адаптер ресурсов реализует ту часть этих контрактов системного уровня, которая относится к EIS.
• Реализует интерфейс Common Client Interface (CCI) для доступа к EIS.
CCI описывает стандартный клиентский API, через который J2EE-компонент обращается к EIS. Это упрощает написание кода для подключения к хранилищу данных EIS.
Cвязь между EIS, сервером приложений и корпоративным приложением через CCI обеспечивает адаптер ресурсов.
• Реализует стандартный интерфейс Service Provider Interface (SPI).
SPI объединяет возможности транзакций, обеспечения безопасности и управления соединениями сервера приложений (JCA Connection Manager) с возможностями менеджера транзакционных ресурсов.
К серверу приложений могут подключаться несколько адаптеров ресурсов (по одному адаптеру на каждый тип EIS). Это позволяет компонентам приложений, размещенным на сервере приложений, обращаться к системам EIS. Это показано на рис. 6.16.
Рис. 6.16. Common Client Interface API
Преимущества JCA следующие.
• После того, как в сервере приложений реализована JCA, к ней можно подключить любой совместимый с JCA адаптер ресурсов.
• После того, как в адаптере ресурсов реализована JCA, его можно подключить к любому совместимому с JCA серверу приложений.
• Для каждой EIS требуется только одна реализация адаптера ресурсов.
• Интерфейс CCI упрощает интеграцию приложений с разнородными EIS.