Jakarta Connectors ( JCA ; ранее известный как Java EE Connector Architecture и J2EE Connector Architecture ) — это набор инструментов языка программирования Java , разработанных для соединения серверов приложений и корпоративных информационных систем (EIS) в рамках интеграции корпоративных приложений (EAI). В то время как JDBC специально используется для установления соединений между приложениями Java и базами данных, JCA предоставляет более универсальную архитектуру для подключения к устаревшим системам.
JCA и Java EE
JCA был разработан в рамках Java Community Process, включая версии JSR 16 (JCA 1.0), JSR 112 (JCA 1.5) и JSR 322 (JCA 1.6).
Для J2EE версии 1.3 требуется, чтобы серверы приложений поддерживали JCA версии 1.0.
Для J2EE версии 1.4 требуется, чтобы серверы приложений поддерживали JCA версии 1.5.
Java EE версии 6 требует, чтобы серверы приложений поддерживали JCA версии 1.6.
Контракты
Архитектура коннектора Jakarta определяет стандарт для подключения совместимого сервера приложений к EIS. Она определяет стандартный набор контрактов системного уровня между сервером приложений Jakarta EE и адаптером ресурсов. Системные контракты, определенные версией 1.0 архитектуры коннектора J2EE, описываются спецификацией следующим образом:
- Управление подключением
- Управление соединениями позволяет серверу приложений объединять соединения с базовой EIS и позволяет компонентам приложений подключаться. Это приводит к масштабируемой среде приложений, которая может поддерживать большое количество клиентов.
- Управление транзакциями
Управление транзакциями позволяет серверу приложений использовать менеджер транзакций для управления транзакциями между несколькими менеджерами ресурсов. Этот контракт также поддерживает транзакции , которые управляются внутри менеджера ресурсов EIS без необходимости привлечения внешнего менеджера транзакций.
- Управление безопасностью
- Управление безопасностью снижает угрозы безопасности EIS и защищает ценные информационные ресурсы, управляемые EIS.
Версия JCA 1.5 добавляет в спецификацию системные контракты следующим образом:
- Управление жизненным циклом
- Управление жизненным циклом позволяет серверу приложений управлять жизненным циклом адаптера ресурсов от инициации через обновления до устаревания. Этот контракт предоставляет серверу приложений механизм для загрузки экземпляра адаптера ресурсов во время его развертывания или запуска сервера приложений, а также для уведомления экземпляра адаптера ресурсов во время его изъятия или во время упорядоченного завершения работы.
- Управление работой
- Управление работой позволяет адаптеру ресурсов выполнять работу (мониторинг конечных точек сети, вызов компонентов приложения и т. д.), отправляя экземпляры работы на сервер приложений для выполнения. Сервер приложений отправляет потоки для выполнения отправленных экземпляров работы. Это позволяет адаптеру ресурсов избегать создания или управления потоками напрямую и позволяет серверу приложений эффективно объединять потоки и иметь больший контроль над своей средой выполнения. Адаптер ресурсов может управлять контекстом транзакции, с которым выполняются экземпляры работы.
- Управление потоком транзакций
- Управление потоком транзакций позволяет адаптеру ресурсов распространять импортированную транзакцию на сервер приложений. Этот контракт также позволяет адаптеру ресурсов передавать вызовы завершения транзакции и восстановления после сбоя, инициированные EIS, и гарантирует сохранение свойств атомарности, согласованности, изоляции и долговечности ( ACID ) импортированной транзакции.
- Управление потоком сообщений
- Управление потоком сообщений позволяет адаптеру ресурсов асинхронно доставлять сообщения конечным точкам сообщений, находящимся на сервере приложений, независимо от конкретного стиля сообщений, семантики сообщений и инфраструктуры сообщений, используемых для доставки сообщений. Этот контракт также служит стандартным контрактом подключаемости поставщика сообщений, который позволяет подключать широкий спектр поставщиков сообщений ( Java Message Service (JMS), Java API for XML Messaging (JAXM) и т. д.) к любому серверу приложений, совместимому с Java EE, с адаптером ресурсов.
Интеграция EIS
Адаптеры JCA могут быть созданы для интеграции с различными корпоративными информационными системами, такими как Siebel Systems , SAP AG , Great Plains Systems, Oracle Applications и т. д. Siebel предоставляет API для интеграции с различными платформами, такими как Java , C++ , .NET , Visual Basic и т. д. Для Java он предоставляет интерфейс под названием «Java Data Bean» (JDB). Адаптер Siebel обеспечивает доступ к данным через JDB API. Great Plains Systems предоставляет интерфейс под названием eConnect для интеграции с другими платформами. SAP предоставляет интерфейс для Java под названием SAP Java Connector (SAP JCo).
Внешние ссылки
- Официальный сайт
- Домашняя страница J2EE Connector содержит много полезной информации,
- то же самое можно сказать и о статье IBM о выборе между JCA, JMS и веб-сервисами.
- JSR 112 (JCA 1.5)
- JSR 322: Архитектура коннектора Java EE 1.6 (JCA 1.6)
- JSR 16 (JCA 1.0)
- http://www.onjava.com/pub/a/onjava/2004/03/24/j2eeca.html