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

Разница между веб-сервисом Axis2 и веб-службой CXF

Буду признателен, если кто-нибудь поможет мне понять разницу между веб-сервисом axis2 и веб-службой CXF.

4b9b3361

Ответ 1

Основные отличия между веб-службой axis2 и веб-службой CXF заключаются в следующем:

  • CXF поддерживает WS-Addressing, WS-Policy, WS-RM, WS-Security, и WS-I BasicProfile. Axis2 поддерживает каждый из них, кроме WS-Policy, которая будет поддерживаться в следующей версии.

  • CXF был написан с учетом Spring; Axis2 не является.

  • Axis2 поддерживает более широкий набор привязок данных, включая XMLBeans, JiBX, JaxMe и JaxBRI, а также собственную привязку собственных данных, ADB. Обратите внимание, что поддержка JaxME и JaxBRI по-прежнему считается экспериментальный в Axis2 1.2. CXF в настоящее время поддерживает только JAXB и Aegis; поддержка XMLBeans, JiBX и Castor войдет в CXF 2.1.

  • Axis2 поддерживает несколько языков - есть версия C/С++ доступный в дополнение к версии Java.

Тем не менее, при сравнении этих фреймворков так же важно взглянуть на их подход к разработке веб-сервисов, так как сравнивать их. С точки зрения разработчика обе структуры ведут себя очень по-разному друг от друга. Axis2 использует подход, который во многом напоминает сервер приложений в миниатюре. Axis2 поставляется в комплекте с WAR, который может быть развернут в контейнере сервлетов, таком как Tomcat, который предназначен для упрощения управления и развертывания веб-сервисов на лету. Модуль веб-администрирования Axis2 позволяет динамически настраивать Axis2 во время работы приложений - новые сервисы могут быть загружены, активированы или деактивированы, а их параметры могут быть изменены. Пользовательский интерфейс администрирования также позволяет включать модули для одной или нескольких запущенных служб. Единственным недостатком использования пользовательского интерфейса для этих целей является тот факт, что внесенные в него изменения конфигурации не являются постоянными - они исчезают при перезагрузке контейнера сервлета.

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

CXF концентрируется на эргономике и встраиваемости проявителя. Большая часть конфигурации выполняется через API, а не громоздкие XML файлы, интеграция Spring сильно подчеркивается, включая поддержку Spring 2.0, а API CXF и Spring конфигурируют зеркало друг друга довольно близко. CXF подчеркивает первый дизайн кода, используя простые API-интерфейсы, чтобы упростить разработку сервисов из существующих приложений (и также помогает его встраивание).

Какую бы рамку вы ни выбрали, у вас будет преимущество активного и стабильного сообщества с открытым исходным кодом. Каждая из этих структур имеет корпоративную поддержку: Axis2 поддерживается WSO2, а CXF - Iona. Оба имеют оживленные сообщества разработчиков. Axis2 работает дольше, но CXF быстро догоняет. Моя рекомендация такова: если многоязычная поддержка важна, Axis2 - это четкий выбор. Если вам интересна реализация, ориентированная на Java с тесной интеграцией в такие проекты, как Spring, CXF - лучший выбор, особенно для внедрения веб-сервисов внутри других программ. Если новые функции в этих проектах не важны, и вы относительно довольны Axis1, вам следует подумать о том, чтобы оставаться на этом и идти в ногу с последними версиями технического обслуживания, пока у вас не возникнет причина для миграции.