Frage Welcher Rahmen ist besser CXF oder Spring-WS?


Ich bin gerade dabei, CXF und Spring-WS für Web-Services zu recherchieren / zu vergleichen. Ich muss sowohl als Anbieter als auch als Konsument von WS fungieren. Kurz gesagt, mir wurde gesagt, dass Spring-WS konfigurierbarer ist, aber CXF einfacher zu installieren ist. Diese Frage ist subjektiv, hilft mir aber bei meiner Recherche.

  • Welche Erfahrung haben Sie mit diesen beiden Frameworks?
  • Sind Sie bei jedem Framework auf irgendwelche Fallstricke gestoßen?
  • Haben Sie irgendwelche nützlichen Funktionen gefunden, die von den anderen möglicherweise nicht bereitgestellt werden?

76
2017-11-17 21:37


Ursprung


Antworten:


Ich denke der größte Unterschied ist Spring-WS ist nur "Vertrag zuerst", während ich glaube, dass CXF normalerweise "Vertrag-Last" ist.

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

Contract-Last beginnt mit Java-Code, daher ist es normalerweise einfacher, mit dem Programm zu beginnen.

Die von ihm erstellte WSDL ist jedoch tendenziell fragiler.


21
2017-11-17 21:45



Über Apache CXF:

  • CXF unterstützt verschiedene Standards wie SOAP, WSI-Basisprofil, WSDL, WS-Adressierung, WS-Richtlinie, WS-ReliableMessaging, WS-Sicherheit, WS-Sicherheitspolitik und WS-SecureConversation.
  • Apache CXF bietet sowohl Contract-Last (beginnend mit Java) als auch Contract-First (beginnend mit der WSDL) Ansätze.
  • Apache CXF implementiert JAX-WS und JAX-RS.

Über Spring WS:

  • Spring WS bietet "nur" einen Vertrag an, beginnend mit einem XSD-Schema.
  • Spring WS unterstützt SOAP, WS-Security, WS-Adressierung.

Also, am Ende sehe ich Spring WS als minimal Web-Services-Framework, denke aber, dass es (meiner Meinung nach) keine Vorteile gegenüber Apache CXF (die sehr gut mit Spring integriert) hat. Zwischen beiden würde ich Apache CXF abholen.


72
2017-07-03 17:04



CXF verhindert in keiner Weise, dass Sie mit einem Vertrag (WSDL) beginnen. Mit diesen beiden Produkten habe ich einen Webservice aufgebaut.

In CXF habe ich Maven und das Maven Plugin benutzt und die wsimport Ziel, die SEI (Schnittstelle) zu generieren, die ich dann implementiert habe. Nach der Implementierung der Schnittstelle, um die eigentliche Servicelogik zu enthalten und meine Bean-Implementierung zu konfigurieren beans.xmlDann lasse ich Maven es in eine Kriegsdatei für die Bereitstellung verpacken. Die gesamte Übung hätte nicht einfacher sein können.

Ich denke nicht, dass Spring-WS irgendwelche Vorteile bietet, die das Fehlen von JAX-WS überwiegen. Mit CXF können Sie Spring bereits verwenden, um Ihre Beans zu verdrahten, und JAX-WS wird ebenfalls vollständig implementiert.


33
2017-12-04 16:48



Wir haben eine Erfahrung mit CXF und es ist der Vorgänger XFire und ich kann es als solides, schnelles (WS erstellen und ausführendes) und zuverlässiges Framework empfehlen.

In Bezug auf die Probleme, die Sie mit CXF treffen können, sehen Sie meinen Beitrag https://stackoverflow.com/questions/289977/recommended-framework-for-java-web-services#290205 Und ich stimme zu Werkzeugkasten, dass der größte Unterschied zwischen Frameworks ideologisch ist: Was ist der erste Code (d. h. Schnittstelle) oder Vertrag (d. h. WSDL). Sehen Sie einige Details hier:


12
2017-11-18 06:10



Apache CXF:

Schlüsselpositive:

❶ Der am häufigsten verwendete Standard für Web-Services jetzt; Verbesserung gegenüber AXIS2, die nun schrittweise durch Apache CXF ersetzt wird

❷ Intuitiv und einfach zu bedienen (weniger Codierung erforderlich als im Vergleich zu AXIS2)

❸ Saubere Trennung von Front-Ends, wie JAX-WS, vom Kerncode

❹ Voll kompatibel mit JAX-WS, JAX-RS und anderen

❺ Beste Performance in allen verfügbaren Frameworks mit minimalem Rechenaufwand

❻ Unterstützt eine Vielzahl von Front-End-Modellen

❼ Unterstützt sowohl JAX-WS als auch JAX-RS (für Restful Services)

❽ Unterstützt JBI & SDO (nicht in AXIS2 unterstützt)

❾ Kompatibel mit Spring Framework

Hauptanliegen:

❶ Unterstützt Orchestrierung und WS-Transaktionen noch nicht

❷ Unterstützt WSDL 2.0 noch nicht

Frühling WS:

Schlüsselpositive:

❶ Best in Bezug auf die Unterstützung von Contract-First Web Services Development Approach

❷ Erzwingt Standards und Best Practices durch Framework Constraints (kein Ausweg und daher auch Einschränkungen)

❸ Unterstützt Spring Annotationen sowie JAX-WS

❹ Geringster Code aus Entwicklerperspektive

❺ Am besten mit Federtechnologie-Stack (auch ähnlicher Architektur-Stack wie Spring MVC) einschließlich Spring Security ausgerichtet

Hauptanliegen:

❶ Geringste Anzahl von WS- * Spezifikationen unterstützt (nicht vollständig kompatibel mit JAX-WS)

❷ Spring bietet sich selbst als Standard an und daher unterstützen andere Java-konforme Frameworks eine bessere Unterstützung von Standards

❸ Nur Contract-First Web Services-Entwicklungsmodell unterstützen

Quelle : https://dzone.com/articles/apache-cxf-vs-apache-axis-vs


6
2017-08-05 15:05



Eine weitere Option, die in diesem Vergleich zu berücksichtigen ist, ist Aussprechen.

Vor allem, wenn Sie zuerst mit Java beginnen möchten.


1
2017-11-05 13:10



Bitte werfen Sie einen Blick auf einen verwandten Beitrag unter: Erstellen eines Webdienstes mit Spring-WS


0
2017-09-30 04:17