Java Web Service Framework / Bibliothek, was ist besser und warum?
Derzeit bin ich der Auswertung Anzahl der web-service-frameworks in Java. Ich brauche web-service-framework, das hilft mir, um einige Funktionen existierender Anwendungen auf JBoss Die Anwendung ist hauptsächlich entwickelt, mit Spring und POJOs (keine EJBs).
Was ich brauche ist ein framework mit folgenden Eigenschaften:
- Sie soll es ermöglichen, tools für die automatische Generierung von boilerplate-code und sparen Sie Zeit durch die Beseitigung von sich wiederholenden Aufgaben, zum Beispiel Werkzeuge Generierung von WSDL aus Java (java2wsdl), tools generieren Endpunkte etc.
- Anwendungen sollten einfache Bereitstellung auf existierende J2EE-Plattform (JBoss), das bedeutet, es sollte so wenig wie möglich Konfigurationsdateien (wie axis2.xml in axis2-framework).
- Es ist auch bevorzugt, um in der Lage sein zu deploy-web-service innerhalb .Krieg Archiv der existierenden Anwendung. (es scheint, dass Axis2 benötigen ein separates Archiv für web-service-app.)
- Es wird sehr cool, verwenden Sie eine Kombination von POJOs und Frühjahr.
- In der Regel, der Rahmen sollte sauber die Struktur und das design (zum Beispiel Spring-WS fehlt es), gute Dokumentation und was sonst zeichnet ein gutes Stück software.
- Es ist bevorzugt, dass der Rahmen enthält einige standard-Funktionen wie JAX-WS etc. statt der herstellerspezifischen Methoden.
Ich habe kurz untersucht
- Axis2
- Apache CXF
- und Sun Metro
- Frühjahr WS
Aber immer noch ist es schwierig zu entscheiden, was zu verwenden, in meinem Fall:
- Axis2 scheint so niedrigen Niveau, es erfordert eine separate Anwendung Archiv und viele Konfigurationen
- Frühjahr WS scheint zu sein, zu undurchsichtig und "sophisticated zur Abformung (?)"
- Apache CXF und Metro sind wahrscheinlich zwei Rahmen, die ich bevorzuge, wählte aus, aber immer noch
Brauche ich Eure Meinung und Erfahrung über die Verwendung von einigen von Ihnen in einer real-Welt-Anwendungen.
InformationsquelleAutor der Frage Andreas Bakurov | 2009-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich verwendet habe, CXF Vorläufer, XFire, für eine Weile jetzt, und es ist nicht so schlimm. Zu der Zeit, wir wanderten von der Achse im wesentlichen zwei Gründe: performance und einfache Entwicklung. Zu der Zeit (man weiß nicht, ob das wahr ist), wird sich die Leistung von XFire war viel besser als alles andere da draußen, und mit annotation-driven development, anstatt zu laufen stub-Generierung, es war wirklich, wirklich einfach zum hinzufügen neuer web-services.
CXF scheint zu sein, mehr von der gleichen, aber besser - wir haben noch nicht migriert, doch aufgrund von Einschränkungen auf Entwicklungszeit als auch nicht mit einem Grund zu tun (plus der relative Mangel an Dokumentation 6-12 Monaten war nicht sehr ermutigend). Zusätzlich hatte ich noch nicht wirklich bewertet der Markt spät, so dass ich kann Ihnen nicht sagen, wie CXF steht bis zu seiner zeitgenössischen Konkurrenten.
Bezüglich deiner Punkte:
So, ich bin wohl ein wenig unparteiisch wie ich habe nicht versucht das andere, aber ich gebe einen Daumen hoch, um einen Blick auf die CXF. Es ist ziemlich schnell, relativ einfach zu bekommen, geht mit und ziemlich mächtig, wenn Sie müssen, um es zu optimieren.
InformationsquelleAutor der Antwort Andrzej Doyle
Wir haben versucht, die Metro und CXF und hielt CXF, denn U enthält zu viele Abhängigkeiten wie Sun-APIs in Ihre jar-Dateien, die es schwierig macht, sich zu integrieren, die in einem anderen application server wie Glassfish. CXF hat eine sauberere Verpackung mit expliziten externen Abhängigkeiten.
Wir haben auch nicht die Gzip-Komprimierung aktivieren mit der U-Bahn, während es funktionierte wie ein Charme mit CXF.
InformationsquelleAutor der Antwort Gaël Marziou
Ich würde gehen mit Spring WS erste und XFire Sekunde. Ich bin ein Frühlings-Nutzer, ich bin also verwendet, um die Deckkraft.
InformationsquelleAutor der Antwort duffymo
XFire jetzt Apache CXF weit Weg war einfacher zu bedienen als Achse. Ich hatte etwas getan, sehr schnell mit, wo die Achse schien übermäßig kompliziert. Ich schaue nicht auf Spring WS.
InformationsquelleAutor der Antwort
Verwende ich CXF. Es ist einfach zu bedienen, als Axis2
InformationsquelleAutor der Antwort ngadde
Ich habe nur das Spring WS, weil das ist, was mir gesagt wurde, zu verwenden, aber es war eine ziemlich einfache Nutzung Rahmen. Wenn man mit der soemthing sonst würde ich mit XFire aufgrund der JAX-WS-support.
InformationsquelleAutor der Antwort SamIAM