Какой фреймворк лучше CXF или Spring-WS?
Я нахожусь в процессе исследования/сравнения CXF и Spring-WS для веб-сервисов? Мне нужно функционировать как поставщик и потребитель WS. В двух словах, мне сказали, что Spring-WS более настраивается, но CXF легче вставать и работать. Этот вопрос субъективен, но поможет направить меня в моем исследовании.
- какой опыт у вас есть с любой из этих структур?
- вы столкнулись с какими-либо ловушками с любым рамки?
- вы нашли какие-либо полезные функции, предоставляемые либо, что, возможно, не предусмотрено другим?
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