Heim >Java >javaLernprogramm >Hier erfahren Sie mehr über verschiedene Webservice-Frameworks, die in der JAVA-Entwicklung verwendet werden

Hier erfahren Sie mehr über verschiedene Webservice-Frameworks, die in der JAVA-Entwicklung verwendet werden

烟雨青岚
烟雨青岚nach vorne
2020-07-08 13:14:312867Durchsuche

Hier erfahren Sie mehr über verschiedene Webservice-Frameworks, die in der JAVA-Entwicklung verwendet werden

Wenn wir über Webdienst-Entwicklungsdienste sprechen, müssen wir mehrere Frameworks vorstellen, die derzeit zur Entwicklung von Webdiensten verwendet werden, nämlich Axis, axis2, Xfire, CXF und JWS (das heißt, wie bereits erwähnt). JAX-WS, dies ist eine Implementierung des Webdienstes, der in der Java 6-Version bereitgestellt wird)

Die ersten paar sind alle Open-Source-Projekte, von denen axis2 und cxf am häufigsten verwendet werden, und Axis und XFire wurden verwendet Da der kontinuierliche Technologieaustausch langsam zu Ende geht, verfügen derzeit nur axis2 und cxf über offizielle Updates, während Axis und XFire nicht mehr aktualisiert werden.

Im Folgenden werden die Unterschiede zwischen diesen Frameworks vorgestellt, damit Sie eine bessere Wahl treffen können:

XFire ist neben Axis2 A der ersten Generation ein neues Framework WebService-Plattform . Es wird die neue Generation genannt, weil es:

1 eine Reihe neuer Standards für Webdienste unterstützt – JSR181, WSDL2.0, JAXB2, WS-Security usw.

2. Durch die Verwendung von Stax zur XML-Interpretation wurde die Leistung qualitativ verbessert. XFire verwendet Woodstox als Stax-Implementierung; einfach zu verwenden, Sie können Dienste von pojo bequem und schnell veröffentlichen; Mechanismen, einschließlich Standard-Aegis, XMLBeans, Jaxb2, Castor.

Leistungsvergleich zwischen XFire und Axis1

1. XFire ist 2-6 mal schneller als Axis1.3

2 XFire ist Axis1 ,1/2 bis 1/5 von 3

Vergleich zwischen XFire und Axis2

Obwohl XFire und Axis2 beide WebService-Plattformen der neuen Generation sind, haben die Entwickler von Axis2 ist zu sehr darauf bedacht, Version 1.0 herauszubringen, daher ist 1.0 noch keine stabile Version. Der Entwickler behauptet, dass Version 1.1 bald veröffentlicht wird, und hofft, dass Version 1.1 eine stabile Version sein wird.

Einige Leute dachten, Axis2 würde sterben, nachdem XFire an Apache gespendet wurde. Tatsächlich ist Axis2 in den Augen vieler Menschen keine Pojo-Form. Dan Diephouse hat bewiesen, dass XFire mehr Markt hat als AxisIch habe auch festgestellt, dass viele Leute begonnen haben, von Axis zu XFire zu wechseln, auch ich. der auch die Menschen um mich herum überzeugte. Wenn ich XFire für die WebService-Entwicklung verwende, ist es typisch, dass ich meinem Team innerhalb weniger Minuten beibringen kann, mit XFire einen eigenen Webservice zu veröffentlichen.

Ich bevorzuge, dass XFire tatsächlich viel einfacher ist als Axis2.

AXIS VS CXF

Im Bereich SOA glauben wir, dass Webservice der Baustein des SOA-Systems ist.

Für Serviceentwickler müssen AXIS und CXF vertraut sein. Bei beiden Produkten handelt es sich um Open-Source-Entwicklungstools für Webdienste unter dem Apache Incubator. Die neueste Version von Axis, als dieser Artikel veröffentlicht wurde, war 1.4; CXF hat jetzt Version 3.0 erreicht.

Diese beiden Frameworks wurden aus bestehenden Open-Source-Projekten entwickelt

Axis2 wurde aus der Axis1.x-Serie entwickelt. CXF ist eine Kombination der Projekte XFire und Celtix. Axis2 wird von Grund auf neu implementiert und verwendet eine neue Modularchitektur mit besserer Skalierbarkeit. CXF vertieft außerdem die beiden Entwicklungstools XFire und Celtix neu.

Der Vergleich der Webdienst-Entwicklungsmethoden dieser beiden Frameworks ist ebenso wichtig wie der Vergleich ihrer Funktionen.

Aus Entwicklersicht sind die Funktionen der beiden Frameworks recht unterschiedlich.

Die Entwicklungsmethode von Axis2 ähnelt einem kleinen Anwendungsserver. Das Entwicklungspaket von Axis2 muss in einem Servlet-Container wie Tomcat bereitgestellt werden gut überwacht und verwaltet werden.

Mit dem Webadministratormodul von Axis2 können wir Axis2 dynamisch konfigurieren. Ein neuer Dienst kann hochgeladen, aktiviert und deaktiviert werden und die Parameter des Webdienstes können geändert werden.

Die Verwaltungsoberfläche kann auch einen oder mehrere laufende Dienste verwalten. Ein Nachteil dieser schnittstellenbasierten Verwaltungsmethode besteht darin, dass alle zur Laufzeit geänderten Parameter nicht gespeichert werden können, da nach einem Neustart alle von Ihnen vorgenommenen Änderungen ungültig werden.

Axis2 kann als eigenständige Anwendung zur Veröffentlichung im Web verwendet werden Service und bietet eine große Anzahl von Funktionen und ein gutes Modell, das durch seine eigene Architektur (modulare Architektur) kontinuierlich neue Funktionen hinzufügen kann.

Einige Entwickler denken, dass dieser Ansatz für ihre Bedürfnisse zu umständlich ist und bevorzugen CXF

CXF legt mehr Wert auf Entwicklerergonomie und Einbettbarkeit.

Das meiste davon kann über die Konfigurations-API erledigt werden, wobei die umständlicheren XML-Konfigurationsdateien oft ersetzt werden. CXF unterstützt Spring2.0 und CXFs API und Spring-Konfigurationsdateien können sehr gut übereinstimmen.

CXF legt Wert auf Code-First-Design und verwendet eine einfache API, um die Entwicklung von Diensten aus vorhandenen Anwendungen zu vereinfachen.

Egal, ob Sie sich für Axis2 oder CXF entscheiden, Sie können viel Hilfe von der Open-Source-Community erhalten.

Beide Frameworks verfügen über kommerzielle Unternehmen, die Dienste bereitstellen, WSO2 bietet Unterstützung für AXIS2 und Iona bietet Unterstützung für CXF. Beide Unternehmen verfügen über aktive Entwickler-Communitys.

Im Folgenden werden die Grundkonzepte dieser Web-Service-Frameworks vorgestellt

1. JWS ist eine Implementierung des WebService-Dienstes in der Java-Sprache und wird zum Entwickeln und Veröffentlichen von Serve verwendet.

Aus Sicht des Dienstes selbst kennt der JWS-Dienst keine Sprachgrenzen. Die Java-Sprache bietet Java-Entwicklern jedoch eine Möglichkeit, WebService-Dienste bequem zu veröffentlichen und aufzurufen.

2. Axis2 ist ein schweres WebService-Framework unter Apache. Genauer gesagt ist es der Master des WebService-Frameworks Java- und andere Sprachversionen des WebService-Client- und Servercodes.

Das ist sein Vorteil. Dies führt jedoch zwangsläufig auch zur Komplexität von Axis2. Entwickler, die es verwendet haben, wissen, dass die Anzahl und Größe der Pakete, auf die es angewiesen ist, enorm ist. Das Packen, Bereitstellen und Freigeben ist schwierig und es lässt sich nicht gut integrieren bestehende Anwendungen in einem integriert.

Aber wenn Sie Clients in anderen Sprachen als Java entwickeln möchten, sind die umfangreichen Tools von Axis2 die beste Wahl.

3. XFire ist ein leistungsstarkes WebService-Framework, dessen Popularität sogar Apaches Axis2 übertrifft ist auch sehr praktisch

Aber für andere Sprachen als Java werden keine relevanten Codierungstools bereitgestellt. XFire wurde später von Apache übernommen, weil es zu gut war. Nach der Übernahme wurde die Open-Source-WebService-Engine mit dem Aufstieg von Java6 JWS nicht mehr bevorzugt und verfiel allmählich.

4. CXF ist ein einfaches SOA-Framework unter Apache, das ESB (Enterprise Service Bus) implementiert.

CXF stammt aus dem XFire-Projekt und wurde nach der Transformation gegründet, genau wie das aktuelle Struts2 von WebWork stammt

Es ist ersichtlich, dass das Schicksal von XFire das gleiche sein wird wie das von WebWork. und es wird irgendwann aus dem Bewusstsein der Menschen verschwinden. CXF ist nicht nur eine hervorragende Webservices-/SOAP-/WSDL-Engine, sondern auch ein guter ESB-Bus, der eine Option für die SOA-Implementierung bietet. Natürlich ist er nicht die beste, da er nur einen Teil der SOA-Architektur implementiert.

Hinweis: Was die Beziehung zwischen Axis2 und CXF betrifft, so ist einer davon, dass Axis2 früher erschien und CXF schnell aufholte.

So wählen Sie aus:

1 Wenn die Anwendung mehrsprachige Unterstützung erfordert, sollte Axis2 die erste Wahl sein.

2 Wenn Sie der Spring-Philosophie folgen, ist Apache CXF die bessere Wahl, insbesondere für eingebettete Webdienste.

3 Wenn die Anwendung keine neuen Funktionen erfordert, verwenden Sie einfach die verwendeten Frameworks des Originalprojekts Axis1, XFire, Celtrix oder BEA und die eigene Web-Services-Implementierung anderer Hersteller verschwenden keine Zeit und Geld.

Abschließend lautet mein Vorschlag: Wenn Sie mehrsprachige Unterstützung benötigen, sollten Sie sich für AXIS2 entscheiden.

Wenn Sie Ihre Implementierung auf JAVA konzentrieren müssen und eine Integration mit Spring wünschen, ist CXF die bessere Wahl, insbesondere um Ihren Webdienst in andere Programme einzubetten.

Wenn Sie der Meinung sind, dass die neuen Funktionen dieser beiden Frameworks für Sie nicht von großem Nutzen sind, werden Sie feststellen, dass Axis1 auch eine gute Wahl ist. Sie sollten es weiterhin verwenden, bis Sie gute Gründe haben, es zu ersetzen .

Vielen Dank an alle fürs Lesen, ich hoffe, Sie werden viel davon profitieren.

Dieser Artikel ist reproduziert von: https://blog.csdn.net/apicescn/article/details/42965785

Empfohlenes Tutorial: „Java-Tutorial

Das obige ist der detaillierte Inhalt vonHier erfahren Sie mehr über verschiedene Webservice-Frameworks, die in der JAVA-Entwicklung verwendet werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen