Was sind die relativen Stärken und Schwächen zwischen Sun Metro und Apache CXF für die Webservice-Entwicklung in Java? Gibt es noch einen anderen Rahmen, den ich mir ansehen sollte?Vergleich zwischen Sun Metro und Apache CXF für Webservices-Entwicklung?
Antwort
Ich war in Ihrer Position vor ein paar Monaten zurück und landete bei der Metro.
Die Killer-Funktion für mich war die Tatsache, dass Metro Standard-Annotationen verwendet, um eine bestimmte Methode als Web-Service und, dass alle Klebstoff-Code zur Laufzeit automatisch generiert werden konnte. I.e. Es gibt keine zusätzlichen Schritte beim Erstellen und Deployment und es funktioniert in einem Standard-Servlet-Container (2.5 glaube ich) unter Java 5, unserer derzeitigen Bereitstellungsplattform.
Das hat sehr gut für uns gearbeitet.
Der Grund, warum ich für die Standardanmerkungen ging, ist das sehr einfache, dass unsere Anwendungen dazu neigen, buchstäblich seit Jahrzehnten zu leben, nach denen einige Wartung getan werden muss. Durch Kodieren an einer Schnittstelle anstelle einer Implementierung können wir das gesamte Gerüst unter dem Code austauschen, ohne den Code zu ändern, der den Web-Service implementiert. In zehn Jahren (oder mehr) ist möglicherweise eine bestimmte Implementierung verwelkt und abgestorben, aber andere Implementierungen sind möglicherweise seither gestiegen und sofort steckbar.
Sehen Sie, wie viele Möglichkeiten Sie heute für einen Servlet-Container haben ... Das ist die Kraft einer guten API!
Edit: Anscheinend enthält die Java 6-Laufzeitumgebung den Metro-Stack plus einen minimalen Webserver. Mit anderen Worten, die JRE allein kann der oben erwähnte Gerüstersatz sein: D
+1 für diese armen Idioten denken, die diesen Code in 10 Jahren herausfinden müssen. Kann einer von uns sein! –
@yar, ich hatte nur gehofft, dass es nicht ich sein musste :) –
AFAIK, Java 6 enthält keine Metro, es enthält JAX-WS RI, die eine Teilmenge von Metro ist (Metro = JAX-WS + WSIT /Tango). Aber ja, mit Java 6 können Sie einen Web-Service-Endpunkt über die Methode "Endpoint.publish()" veröffentlichen, indem Sie den in Java SE 6 eingebetteten HTTP-Server verwenden. Siehe http://www.javapassion.com/webservices/jaxwsjavase6. pdf. –
Sowohl Metro als auch CXF sind JAX-WS-konforme Web-Service-Stacks, und aus Sicht der Laufzeit gibt es nur sehr wenig Auswahl zwischen ihnen.
Allerdings hat CXF enorm bessere Dokumentation und viel mehr Flexibilität und zusätzliche Funktionalität, wenn Sie bereit sind, über die JAX-WS-Spezifikation hinauszugehen. Allein aufgrund der Dokumentation würde ich CXF über Metroe jederzeit auswählen.
Allerdings würde ich Spring WebServices entweder über Metro oder CXF wählen. Es ist nicht JAX-WS-konform, aber ich halte das nicht für ein Problem. Es ist auch wesentlich einfacher und wesentlich flexibler als beide. Sehr empfehlenswert.
Könntest du ein wenig über die CXF-Funktionalität, über die du sprichst, und die Spring WS dito erzählen? –
Die Freude von CXF und Spring-WS ist, dass Sie auf ihre Webseiten gehen und die ausgezeichnete Dokumentation lesen können, um zu sehen, was sie tun können :) – skaffman
Ich weiß - Sie haben vielleicht gesehen, dass ich nach einem solchen Framework gesucht habe. Ich dachte an - wie - tatsächliche Erfahrungen und solche, auf die du hinweistest, und ich hatte diese seltsame Vorstellung, dass du sie vielleicht sogar teilen möchtest ... Schande über mich. –
- 1. Unterschied zwischen Apache CXF und Axis
- 2. Apache CXF und javax.ws.rs.core.Response
- 3. Wofür steht CXF in "Apache CXF"?
- 4. Wie man CXF über Metro auf Glassfish wählt
- 5. Konfiguration Apache CXF
- 6. Apache CXF-Client und Collection-Klassen
- 7. Apache CXF und WS-Sicherheit - Passwort Rückruf
- 8. Sun erklärt Zwischen
- 9. Apache CXF - Set HTTP-Header
- 10. Apache CXF 2.3.0 WSDLToJava Problem
- 11. Unterstützt Apache CXF TLS 1.2?
- 12. Apache CXF Conduit-Matching-Strategie
- 13. Unterschied zwischen Winforms, WPF und Metro?
- 14. Vergleich zwischen Activiti und Camunda
- 15. Vergleich zwischen Zeiger und Ganzzahl
- 16. Vergleich zwischen Phonegap und Trigger.io
- 17. WS-Security Username mit Apache CXF
- 18. CXF: Unterschied zwischen den Datenformaten PAYLOAD und MESSAGE
- 19. Jetty Thread-Pool embeddend in Apache CXF
- 20. Vorteil von RESTEasy gegenüber Apache CXF?
- 21. Apache CXF Spring Bean ist nicht injiziert
- 22. So stellen Sie den Apache CXF-Webservice für Glassfish bereit
- 23. Was ist der Unterschied zwischen Apache Felix und Apache Tomcat
- 24. Vergleich zwischen RabbitMQ und MSMQ
- 25. Mapping Erweiterungsinhaltstypen in Apache CXF JAX-RS
- 26. Ist javax.xml.soap besser als Apache cxf?
- 27. Apache CXF - jaxrs Client Federkonfiguration (Injizieren Proxies)
- 28. Automatische WSDL Java Stub Generation in Eclipse Workspace mit Apache CXF und CXF Maven Plugin
- 29. Apache Camel CXF Consumer und Producer explizit definieren
- 30. Wie wird Apache CXF als Client verwendet?
Betrachten Sie [WS StackComparison] (http://wiki.apache.org/ws/StackComparison) - das bringt Ihnen einige Ideen. –