Який фреймворк краще CXF або Spring-WS? [зачинено]


80

Я в процесі дослідження / порівняння CXF та Spring-WS для веб-служб? Мені потрібно працювати як постачальник, так і споживач WS. У двох словах, мені сказали, що Spring-WS більш конфігурується, але CXF легше запустити і запустити. Це питання суб’єктивне, але допоможе мені в моїх дослідженнях.

  • Який досвід ви маєте з будь-якою з цих систем?
  • Ви натрапляли на якісь підводні камені з будь-якою структурою?
  • Ви знайшли якісь корисні функції, надані будь-якою, що можливо не надаються іншими?

Відповіді:


21

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

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

Останній договір починається з коду Java, тому, як правило, легше розпочати роботу з ним.

Однак WSDL, який він створює, як правило, є більш крихким.


19
Я вважаю, що JAX-WS підтримує контрактний підхід, яким користуються люди, які роблять серйозні розробки. Тож це точно не найкращий спосіб диференціювати стеки JAX-WS та Spring WS. Насправді Spring WS не порівнюється з JAX-WS, Spring WS - це просто мінімалістичний стек WS.
Pascal Thivent,

80

Про Apache CXF:

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

Про Spring WS:

  • Spring WS пропонує "лише" контракт, починаючи із схеми XSD.
  • Spring WS підтримує SOAP, WS-Security, WS-Addressing.

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


34

CXF жодним чином не заважає розпочати контракт (WSDL). Обидва ці продукти я використав для створення веб-служби.

У CXF я використовував Maven та плагін Maven, викликаючи мету wsimport для генерації SEI (інтерфейсу), який потім реалізував. Після реалізації інтерфейсу, який містив фактичну логіку обслуговування, та налаштування моєї реалізації bean- файлу beans.xml , я дозволив Maven упакувати його у військовий файл для розгортання. Вся вправа не могла бути простішою.

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


12

У нас є досвід роботи з CXF та його попередником XFire, і я можу рекомендувати його як надійний, швидкий (створення та виконання WS) та надійний фреймворк.

Щодо питань, з якими ви можете зіткнутися з CXF, дивіться мою публікацію /programming/289977/recommended-framework-for-java-web-services#290205 І я погоджуюся з набором інструментів , що найбільша різниця між фреймворками ідеологічно: що таке перший код (тобто інтерфейс) або контракт (тобто wsdl). Деякі деталі дивіться тут:


0

Ще один варіант, який слід розглянути в цьому порівнянні, - Enunciate .

Особливо, якщо ви хочете спочатку почати з Java.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.