Какой фреймворк лучше CXF или Spring-WS?



Я нахожусь в процессе исследования/сравнения CXF и Spring-WS для веб-сервисов? Мне нужно функционировать как поставщик и потребитель WS. В двух словах, мне сказали, что Spring-WS более настраивается, но CXF легче вставать и работать. Этот вопрос субъективен, но поможет направить меня в моем исследовании.




  • какой опыт у вас есть с любой из этих структур?

  • вы столкнулись с какими-либо ловушками с любым рамки?

  • вы нашли какие-либо полезные функции, предоставляемые либо, что, возможно, не предусмотрено другим?

767   7  

7 ответов:

Я думаю, что самая большая разница Весна-WS составляет только '' в то время как я считаю, CXF-это нормально 'контракт-в прошлом'.

http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html

контракт-последний начинается с кода Java, поэтому обычно легче начать работу.

однако WSDL, который он создает, имеет тенденцию быть более хрупким.

об Apache CXF:

  • CXF поддерживает несколько стандартов, включая SOAP, базовый профиль WSI, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy и WS-SecureConversation.
  • Apache CXF предлагает как последний контракт (начиная с Java), так и первый контракт (начиная с WSDL) подходы.
  • Apache CXF реализует JAX-WS и JAX-RS.

Про Весну WS:

  • Spring WS предлагает" только " контракт-во-первых, начиная со схемы XSD.
  • Spring WS поддерживает SOAP, WS-Security, WS-Addressing.

Итак, в конце концов, я вижу Spring WS как минимальный платформа веб-сервисов, но учтите, что она (на мой взгляд) не имеет никаких преимуществ перед Apache CXF (который очень хорошо интегрируется с Spring). Между тем, я бы взял Apache CXF.

CXF никоим образом не мешает вам начать с контракта (WSDL). Я использовал оба этих продукта для создания веб-сервиса.

в CXF я использовал Maven и плагин Maven, вызывая wsimport цель создать SEI (интерфейс), который я затем реализовал. После реализации интерфейса, содержащего фактическую логику службы и настройки моей реализации bean - бобов.xml, затем я позволил Maven упаковать его в файл war для развертывания. Все упражнение не могло быть проще.

Я не думаю, что Spring-WS предлагает какие-либо преимущества, которые перевешивают отсутствие JAX-WS. CXF уже позволяет использовать Spring для подключения ваших бобов, а также имеет полную реализацию JAX-WS.

У нас есть опыт работы с CXF и его предшественник объявление и я могу рекомендовать его как прочный, быстрый (WS создание и выполнение) и надежный фреймворк.

Что касается вопросов, которые вы можете встретиться с CXF см. мой пост https://stackoverflow.com/questions/289977/recommended-framework-for-java-web-services#290205 И я согласен с набор инструментов, что самая большая разница между рамками идеологически: что такое первый код (т. е. интерфейс) или контракт (т. е. wsdl). Смотрите некоторые подробности здесь:

Apache CXF:

Основные Плюсы :

❶ наиболее широко используемый стандарт веб-сервисов в настоящее время; улучшение по сравнению с AXIS2, который теперь постепенно заменяется Apache CXF

Intuitive интуитивно понятный и простой в использовании (требуется меньше кодирования по сравнению с AXIS2)

Clean чистое отделение интерфейсов, таких как JAX-WS, от основного кода

❹ полностью совместим с JAX-WS, JAX-RS и другими

Best лучшая производительность во всех доступных рамках с минимальными вычислительными затратами

Supports поддерживает большое разнообразие моделей переднего плана

❼ поддерживает оба JAX-WS & JAX-RS (для Restful Services)

Supports поддерживает JBI & SDO (не поддерживается в AXIS2)

Compatible совместим с Spring Framework

Основные Проблемы:

❶ пока не поддерживает Orchestration & WS Transactions

❷ не поддерживает WSDL 2.0 и все же

Весна WS:

Основные Плюсы :

❶ Лучший с точки зрения поддержки контракта-первый подход к разработке веб-сервисов

❷ применяет стандарты и лучшие практики с помощью ограничений фреймворка (нет выхода из него и, следовательно, ограничения)

❸ поддерживает весенние аннотации, а также JAX-WS

❹ минимум кода с точки зрения разработчика

❺ соответствует технологии Spring Стек (также похожий на архитектурный стек Spring MVC), включая Spring Security

Основные Проблемы:

❶ минимальное количество поддерживаемых спецификаций WS -* (не полностью соответствует JAX-WS)

Spring Spring предлагает себя в качестве стандарта и, следовательно, другие Java-совместимые фреймворки поддерживают лучшие стандарты поддержки

❸ только контракт на поддержку - первая модель разработки веб-сервисов

источник : https://dzone.com/articles/apache-cxf-vs-apache-axis-vs

еще один вариант для рассмотрения в этом сравнении является произнести.

особенно если вы хотите начать с Java в первую очередь.

пожалуйста, взгляните на соответствующий пост по адресу: создание веб-сервиса с помощью Spring-WS

Comments

    Ничего не найдено.