Kann JAX-RS asynchrone Anforderungen wie JAX-WS ausführen?
1) Ich weiß nicht, ob die JAX-RS-API einen bestimmten Mechanismus für asynchrone Anforderungen enthält, aber diese Antwort kann sich je nach verwendeter Client-Implementierung ändern.
Kann JAX-RS auf einen Webdienst zugreifen, der nicht auf der Java-Plattform ausgeführt wird, und umgekehrt?
2) Ich kann mir keinen Grund vorstellen, warum es nicht möglich wäre.
Was bedeutet "REST ist besonders nützlich für Geräte mit eingeschränktem Profil wie PDAs und Mobiltelefone"?
3) REST-basierte Architekturen verwenden normalerweise ein leichtes Datenformat wie JSON, um Daten hin und her zu senden. Dies steht im Gegensatz zu JAX-WS, das XML verwendet. Ich sehe XML an sich nicht so bedeutend schwerer als JSON (was einige Leute vielleicht argumentieren), aber mit JAX-WS ist es, wie viel XML verwendet wird, was REST mit JSON zur leichteren Option macht.
Was bedeutet "JAX-RS erfordert keine XML-Nachrichten oder WSDL-Service-API-Definitionen?"
4) Wie in 3 angegeben, verwenden REST-Architekturen häufig JSON zum Senden und Empfangen von Daten. JAX-WS verwendet XML. Es ist nicht so, dass JSON so bedeutend kleiner als XML ist. Es ist meistens so, dass die JAX-WS-Spezifikation viel Aufwand bei der Kommunikation beinhaltet.
In Bezug auf WSDL- und API-Definitionen verwendet REST häufiger die URI-Struktur und die HTTP-Befehle, um die API zu definieren, als Nachrichtentypen, wie dies im JAX-WS der Fall ist. Dies bedeutet, dass Sie kein WSDL-Dokument veröffentlichen müssen, damit andere Benutzer Ihres Dienstes wissen, wie sie mit Ihrem Dienst kommunizieren können. Mit REST müssen Sie anderen Benutzern noch einige Dokumentationen darüber bereitstellen, wie der REST-Service organisiert ist und welche Daten und HTTP-Befehle gesendet werden müssen.
Ein weiterer wichtiger Punkt
JAX-WS steht für SOAP
JAX-RS steht für REST
Wie kann man zwischen der Implementierung von JAX-RS- und JAX-WS-Webdiensten wählen?
quelle
JAX-WS - ist die Java-API für die XML-basierten Webdienste - eine Standardmethode zum Entwickeln von Webdiensten in SOAP- Notation (Simple Object Access Protocol).
Das Aufrufen der Webdienste erfolgt über Remoteprozeduraufrufe. Für den Informationsaustausch zwischen dem Client und dem Webdienst wird das SOAP-Protokoll verwendet. Der Nachrichtenaustausch zwischen dem Client und dem Server erfolgt über XML- basierte SOAP-Nachrichten.
Clients des JAX-WS-Webdienstes benötigen eine WSDL- Datei, um ausführbaren Code zu generieren, mit dem die Clients den Webdienst aufrufen können.
JAX-RS - Java-API für RESTful Web Services. RESTful Web Services werden als Ressourcen dargestellt und können durch URI (Uniform Resource Identifiers ) identifiziert werden . Der Remoteprozeduraufruf wird in diesem Fall als HTTP- Anforderung dargestellt und die erforderlichen Daten werden als Parameter der Abfrage übergeben. Web Services RESTful - flexibler, kann mehrere verschiedene MIME- Typen verwenden. Wird normalerweise für den XML-Datenaustausch oder den JSON- Datenaustausch (JavaScript Object Notation) verwendet ...
quelle
Ich habe an Apachi Axis1.1 und Axis2.0 und JAX-WS gearbeitet, aber ich würde vorschlagen, dass Sie JAX-WS müssen, da es Ihnen erlaubt, WSDL in jedem Format zu erstellen. Ich habe eine Operation als GetInquiry () in Apache Axis2 ausgeführt, die dies nicht tat Erlauben Sie mir, den Operationsnamen in Großbuchstaben zu starten, daher finde ich ihn nicht gut. Daher würde ich vorschlagen, dass Sie JAX-WS verwenden müssen
quelle
Ja, es kann sicherlich @Async verwenden
Ja, das kann es
Es wird hauptsächlich für öffentliche APIs verwendet. Es hängt davon ab, welchen Ansatz Sie verwenden möchten.
Es hat seine eigenen Standards WADL (Web Application Development Language), es hat eine http-Anfrage, mit der Sie auf Ressourcen zugreifen können, die insgesamt von einer anderen Denkweise erstellt wurden. Falls Sie in Jax-Rs daran denken müssen, Ressourcen verfügbar zu machen
quelle