JAX-RPC

JAX-RPC est l'acronyme désignant les API Java™ pour RPC basé sur XML, aussi appelées JSR 101. Il s'agit d'une spécification qui décrit les API (interfaces de programme d'application) Java et les conventions relatives à la conception de services Web et de clients de services Web utilisant des appels d'une procédure distante (RPC) et le langage XML. Elle normalise les mappages de Java avec WSDL et de WSDL avec Java, et fournit les API essentielles au développement de services Web et de clients de services Web sur la plateforme Java. Souvent utilisés dans le cadre d'un modèle réparti client/serveur, les mécanismes RPC permettent aux clients d'exécuter des procédures sur d'autres systèmes.

L'édition actuelle de JAX-RPC nécessite la prise en charge de SOAP sur HTTP pour l'interopérabilité. La spécification SOAP définit la structure des messages, les règles de codage, et les conventions régissant l'échange des informations dans le modèle de programmation RPC. Les appels et les réponses sont transmis en tant que messages SOAP sur HTTP. Dans cette version, JAX-RPC prend en charge SOAP 1.1 et HTTP 1.1. Pour plus d'information sur SOAP, voir SOAP.

Bien que les mécanismes d'exécution sous-jacents soient très complexes (sérialisation Java vers WSDL, désérialisation WSDL vers Java, protocole et transport, par exemple), l'API permet au développeur d'applications de ne pas être directement confronté à cette complexité. Côté serveur, le développeur peut fournir une interface de point d'extrémité de service (SEI, Service Endpoint Interface), mais il est également possible de créer une SEI à l'aide des assistants de services Web. Une interface SEI est une interface écrite en langage de programmation Java qui spécifie les procédures distantes d'un service Web. Le développeur se charge également de la mise en oeuvre du service Web, sous la forme d'une ou plusieurs classes Java implémentant des méthodes utilisant la même signature que celles de l'interface SEI. Le codage des programmes client est également très simple. Le client crée un proxy, un objet local représentant l'implémentation du service et la SEI, puis appelle tout simplement les méthodes sur le proxy.

JAX-RPC bénéficie d'une interopérabilité élevée : le client JAX-RPC peut accéder à un service Web qui n'est pas en cours d'exécution sur la plateforme Java, et vice-versa. Cette flexibilité est possible car JAX-RPC a recours à SOAP sur HTTP et au langage de description des services Web (WSDL). La spécification JAX-RPC a été conçue pour prendre en charge WS-I.

Pour plus d'informations sur JAX-RPC, reportez-vous aux spécifications JSR 101 officielles.