Pytanie Który framework jest lepszy CXF lub Spring-WS?


Jestem w trakcie badania / porównywania CXF i Spring-WS dla usług internetowych? Muszę działać zarówno jako dostawca, jak i konsument WS. Mówiąc krótko, powiedziano mi, że Spring-WS jest bardziej konfigurowalny, ale CXF jest łatwiejszy do uruchomienia. To pytanie jest subiektywne, ale pomoże mi w moich badaniach.

  • Jakie masz doświadczenie z którąś z tych frameworków?
  • Czy napotkasz jakieś pułapki przy pomocy frameworka?
  • Czy znalazłeś jakieś użyteczne funkcje dostarczone przez któreś z nich prawdopodobnie nie zostały dostarczone przez inne?

76
2017-11-17 21:37


pochodzenie




Odpowiedzi:


Myślę, że największą różnicą jest Spring-WS tylko "kontrakt-pierwszy", podczas gdy uważam, że CXF jest zwykle "ostatnim kontraktem".

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

Kontrakt ostatni zaczyna się od kodu Java, więc zazwyczaj łatwiej jest zacząć.

Jednak WSDL, który tworzy, wydaje się być bardziej delikatny.


21
2017-11-17 21:45



JAX-WS popiera podejście oparte na kontrakcie, jak sądzę, w jaki sposób korzystają z niego ludzie dokonujący poważnych zmian. To zdecydowanie nie jest dobry sposób na rozróżnienie stosów JAX-WS i Wiosennych WS. W rzeczywistości Spring WS nie ma porównania z JAX-WS, Spring WS to tylko minimalistyczny stack WS. - Pascal Thivent


O Apache CXF:

  • CXF obsługuje wiele standardów, w tym SOAP, WSI Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy i WS-SecureConversation.
  • Apache CXF oferuje zarówno ostatni kontrakt (zaczynający się od Javy), jak i kontraktowy (zaczynający się od WSDL).
  • Apache CXF implementuje JAX-WS i JAX-RS.

O Spring WS:

  • Spring WS oferuje "tylko" kontrakt-pierwszy, zaczynając od schematu XSD.
  • Spring WS obsługuje SOAP, WS-Security, WS-Addressing.

Na koniec widzę Spring WS jako minimalny usług sieciowych, ale uważają, że nie ma (moim zdaniem) żadnych zalet w stosunku do Apache CXF (który bardzo dobrze integruje się ze Spring). Pomiędzy nimi podniosę Apache CXF.


72
2017-07-03 17:04





CXF w żaden sposób nie uniemożliwia rozpoczęcia umowy (WSDL). Użyłem obu tych produktów do zbudowania usługi internetowej.

W CXF użyłem wtyczki Maven i Maven, wywołując wsimport celu wygenerowania SEI (interfejsu), który następnie zaimplementowałem. Po wdrożeniu interfejsu, aby zawierał rzeczywistą logikę usługi i konfigurował moją implementację komponentu bean beans.xml, Następnie pozwoliłem Mavenowi zapakować go do pliku wojennego do wdrożenia. Całe ćwiczenie nie mogło być łatwiejsze.

Nie sądzę, że Spring-WS oferuje jakiekolwiek zalety, które przewyższają brak JAX-WS. CXF już pozwala używać Springa do podłączenia twoich ziaren, a także ma pełną implementację JAX-WS.


33
2017-12-04 16:48





Mamy doświadczenie z CXF i to jest jego poprzednik XFire i mogę polecić to jako solidne, szybkie (tworzenie i wykonywanie WS) i niezawodne ramy.

Jeśli chodzi o kwestie, które możesz spotkać z CXF zobacz mój post https://stackoverflow.com/questions/289977/recommended-framework-for-java-web-services#290205 I zgadzam się z zestaw narzędzi, że największa różnica między ramami jest ideologicznie: czym jest pierwszy kod (tj. interfejs) lub kontrakt (np. wsdl). Zobacz kilka szczegółów tutaj:


12
2017-11-18 06:10





Apache CXF:

Kluczowe zalety:

❶ Najpowszechniej stosowane usługi sieciowe w wersji standardowej teraz; Ulepszenie w stosunku do AXIS2, obecnie stopniowo zastępowanego przez Apache CXF

❷ Intuicyjne i łatwe w użyciu (mniej kodowania wymagane w porównaniu do AXIS2)

❸ Oczyść separację front-endów, takich jak JAX-WS, z kodu źródłowego

❹ Pełna zgodność z JAX-WS, JAX-RS i innymi

❺ Najlepsza wydajność we wszystkich dostępnych ramach z minimalnym obciążeniem obliczeniowym

❻ Obsługuje szeroką gamę modeli front-end

❼ Obsługuje zarówno JAX-WS i JAX-RS (dla Restful Services)

❽ Obsługuje JBI i SDO (nie obsługiwane w AXIS2)

❾ Kompatybilny z Spring Framework

Kluczowe problemy:

❶ Nie obsługuje jeszcze transakcji Orchestration i WS

❷ Nie obsługuje jeszcze WSDL 2.0

Spring WS:

Kluczowe zalety:

❶ Najlepsze pod względem wsparcia dla Podejścia do tworzenia usług Web Service zgodnych z umową

❷ Egzekwowanie standardów i najlepszych praktyk dzięki ograniczeniom ramowym (nie ma wyjścia z niego, a więc i ograniczenia)

❸ Obsługuje wiosenne adnotacje oraz JAX-WS

❹ Najmniejszy kod z perspektywy programisty

❺ Najlepiej dopasowany ze Spring Technology Stack (również podobny stos architektoniczny, jak Spring MVC), w tym Spring Security

Kluczowe problemy:

❶ Obsługa najmniejszej liczby specyfikacji WS- * (nie jest w pełni zgodna z JAX-WS)

❷ Spring oferuje się jako standard, stąd też inne środowiska zgodne z Javą wspierają obsługę lepszych standardów

❸ Wspieraj tylko pierwszy model rozwoju usług Web Service

Źródło : https://dzone.com/articles/apache-cxf-vs-apache-axis-vs


6
2017-08-05 15:05



Należy wspomnieć, że odpowiedź pochodzi stąd: dzone.com/articles/apache-cxf-vs-apache-axis-vs - franta kocourek
Ponownie podkreślając ten sam punkt. Proszę podać oryginalne źródło. - Espresso


Inną opcją do rozważenia w tym porównaniu jest Ogłosić.

Szczególnie jeśli chcesz zacząć od Javy.


1
2017-11-05 13:10





Proszę spojrzeć na powiązany wpis na: Budowanie usługi internetowej za pomocą Spring-WS


0
2017-09-30 04:17