JAX-RPC

JAX-RPC steht für Java™ API for XML-based RPC (Java-API für XML-basierten Fernprozeduraufruf, Remote Procedure Call - RPC), auch bekannt als JSR-101. Diese Spezifikation beschreibt Java Application Programming Interfaces (Java-APIs) und Konventionen zum Erstellen von Web-Services und Web-Service-Clients, die Fernprozeduraufrufe (RPCs) und XML verwenden. Dadurch werden Java-zu-WSDL-Zuordnungen und WSDL-zu-Java-Zuordnungen standardisiert; außerdem werden die Kern-APIs zum Entwickeln von Web-Services und Web-Service-Clients auf der Java-Plattform bereitgestellt. Ein RPC-Mechanismus wird oftmals in einer verteilten Client/Server-Umgebung verwendet, und ermöglicht es Clients, Prozeduren auf anderen Systemen auszuführen.

Das aktuelle Release von JAX-RPC erfordert zwecks Interoperabilität die Unterstützung von SOAP über HTTP. Die SOAP-Spezifikation definiert Nachrichtenstrukturen, Codierungsregeln und Konventionen zum Austausch von Informationen im RPC-Programmiermodell. Die Aufrufe und Antworten werden als SOAP-Nachrichten über HTTP übertragen. In diesem Release unterstützt JAX-RPC SOAP 1.1 und HTTP 1.1. Weitere Informationen zu SOAP finden Sie unter SOAP.

Zwar sind die zugrunde liegenden Laufzeitmechanismen sehr komplex (z. B. Java-zu-WSDL-Serialisierung, WSDL-zu-Java-Deserialisierung, Protokoll und Transport), die API blendet jedoch diese Komplexität für den Anwendungsentwickler aus. Auf der Serverseite kann der Entwickler eine Service-Endpunktschnittstelle bereitstellen (Service Endpoint Interface - SEI); alternativ dazu kann die SEI unter Verwendung der Web-Service-Assistenten erstellt werden. Eine SEI ist eine in der Programmiersprache Java geschriebene Schnittstelle, die die fernen Prozeduren eines Web-Service angibt. Der Entwickler stellt auch die Implementierung eines Web-Service in Form einer oder mehrerer Java-Klassen zur Verfügung, die Methoden implementieren, welche denselben Funktionstyp aufweisen wie die Methoden der SEI. Clientprogramme sind außerdem leicht zu codieren. Ein Client erstellt einen Proxy, ein lokales Objekt, das die Serviceimplementierung und die SEI darstellt, und ruft anschließend die Methoden auf dem Proxy auf.

JAX-RPC ist äußerst interoperabel: ein JAX-RPC-Client kann auf einen Web-Service zugreifen, der nicht auf einer Java-Plattform ausgeführt wird und umgekehrt. Diese Flexibilität ist möglich, da JAX-RPC SOAP über HTTP und WSDL verwendet (Web Service Description Language). JAX-RPC wurde für die Unterstützung von WS-I entwickelt.

Weitere Informationen zu JAX-RPC finden Sie bei den offiziellen JSR 101-Spezifikationen.