Подтвердить что ты не робот

Каковы преимущества JCA?

Наше приложение часто подключается к различным видам серверной части через веб-сервисы, MQ, JDBC, проприетарный (прямой через сокет) и другие виды транспорта. У нас уже есть ряд реализаций, которые позволяют нам подключаться из нашего приложения к этим бэкэндам, и хотя все эти реализации реализуют общий интерфейс Java, они больше ничего не разделяют.

Мы поняли, что существуют значимые части кода, которые являются общими для всех этих конкретных реализаций соединителей, и мы решили упростить разработку будущих соединителей через один универсальный соединитель. Этот соединитель будет способен форматировать сообщения в формат, ожидаемый серверной частью, и отправлять их с использованием доступного транспортного механизма. Например, формат сообщения фиксированной длины через MQ или через сокет.

Одна из дилемм, с которой мы сталкиваемся, - это наиболее подходящая технология для такого рода разъемов. До сих пор наши коннекторы были базовыми классами Java, которые реализуют общий интерфейс Java. Поскольку мы обычно размещаем наши приложения на каком-либо сервере приложений Java EE, кажется, что Java Connector Architecture будет наиболее подходящей технологией для этого программного обеспечения. Однако реализация JCA-совместимого соединителя представляется относительно сложной. Каковы ощутимые преимущества использования стандарта - JCA, и оправдывают ли преимущества дополнительные усилия?

4b9b3361

Ответ 1

Действительно, JCA кажется самой подходящей для вас технологией. Уже сделаны отличные аргументы: переносимость, стандартизованный интерфейс, объединение пулов и поддержка транзакций. И не забывайте о безопасности.

С сервером WebSphere Process адаптеры могут быть представлены как служба SCA, которые могут иметь много преимуществ, если это важно для вас.

Также некоторые средства разработки имеют обширную поддержку для разработки и тестирования разъемов JCA.

Еще одно преимущество: опытные разработчики Java EE и разработчики Java EE (должны) знать стандарт, поэтому администрирование и разработка должны быть легко упрощены.

Но в конце концов вам придется найти причины для внедрения JCA на основе объема вашего проекта, будущих планов, которые у вас есть для вашего проекта или, возможно, в рамках политики вашей компании.

Ответ 2

Короткий ответ: я не вижу преимуществ при выборе JCA по сравнению с другими технологиями, я считаю это недостатком, так как вам нужен контейнер Java EE.

Длинный ответ:

Я уже скептически отношусь к этим стандартам Java EE. Я не вижу убедительной технической причины использовать полнофункциональный Java EE-сервер, поскольку для каждой предлагаемой функции есть лучшие версии с открытым исходным кодом. Я несколько раз укусил несовместимость реализаций при переходе к/из "решений предприятия".

Идея JCA здесь всплывает, и я нажимаю, чтобы попробовать apache camel или spring интеграция. Я все для реализации с открытым исходным кодом, которые вы можете использовать повсюду. И происходит много. Проверьте этот список компонентов. Конечно, возможно, это меньше, чем то, что уже было разработано с помощью JCA, но каждый бит открыт и все в одном месте. Кроме того, я считаю, что документация проще и полнее. Стремление к интеграции требует мощного SPI с большим количеством открытых исходных, реальных живых примеров, разработанных таким же образом и которые можно найти на одном и том же месте.

Я ненавижу негатив, но мне не нравятся полнофункциональные серверы приложений. Например, я мог бы пойти на tomcat и terracota в любой день по сравнению с другими продуктами "предприятия", так же, как я поеду с верблюдом перед JCA, пока не будет доказана необходимость в JCA. Мне не нравится идея Java-комитета рассказать, как я должен разрабатывать свои собственные приложения, потому что я им не доверяю. Я считаю, что это в моих интересах, когда часть программного обеспечения может так же легко работать на Java SE/RCP, как в средах Java EE или в чистом контейнере Servlet.

Ответ 3

Я только что разработал адаптер входящего ресурса для устройства gps, обменивающегося проприетарным протоколом. Это было не так много хлопот, хотя у меня сложилось впечатление, что разработка исходящего может потребовать больше работы. Самое худшее с JCA - отсутствие документации. Кажется, что у всех книг и статей есть такой же немой пример.

Мне больше всего нравится переносимость. После того, как вы написали адаптер, вы можете подключить rar (архив адаптера ресурсов) к любому серверу приложений, чтобы предоставить развернутым приложениям возможность общаться с eis, поддерживаемым вашим ra. Или вы можете связать rar с войной/ухом.

Ответ 4

Преимущества в первую очередь для вендоров, которые хотят продавать коннекторы на проприетарные задние системы для использования с любым сервером приложений, для клиентов, которые хотят иметь возможность заходить в коннектор, не беспокоясь о том, работает ли он только на WebLogic, а не на Websphere, и т.д. Действительно, это цель Java EE в целом.

Обратите внимание, что JBoss решил поместить несколько вещей в JCA, например, JDBC-соединения идут через JCA.

Ваш будущий клиентский код будет иметь стандартизованный интерфейс, некоторую поддержку объединения и транзакций и т.д., но важно следить за большей картиной; а именно, что преимущества не нацелены на вас и ваш проект конкретно, а на программную экосистему, состоящую из множества серверов приложений, много задних систем, много разъемов и т.д.

Ответ 5

Звучит неплохо для контейнера JBI со связующими компонентами. Обсуждение JCA против JBI.