Chapitre 14. Services Web JAX-WS

14.1. Services Web JAX-WS

API Java pour les Services Web XML (JAX-WS) est une API incluse dans la plate-forme Enterprise Edition (J2EE) et est utilisé pour créer des Services Web. Les Services Web sont des applications conçues pour communiquer entre elles via un réseau, typiquement échangeant des informations en XML ou autres formats de texte structuré. Les Services Web sont indépendants de la plate-forme. Une application typique de JAX-WS utilise un modèle client/serveur. Le composant de serveur s'appelle un Point de terminaison de Service Web.
JAX-WS a un équivalent pour les plus petits et plus simples Services Web qui utilisent un protocole appelé JAX-RS. JAX-RS est un protocole de Representational State Transfer, ou REST. Les applications JAX-RS sont généralement légères et ne comptent que sur le protocole HTTP proprement dit pour la communication. JAX-WS rend plus facile de soutenir divers protocoles de services web, tels que WS-Notification, WS-Addressing, WS-Policy, WS-Security et WS-Trust. Ils communiquent à l'aide d'un XML spécialisé appelé Simple Object Access Protocol (SOAP), qui définit une architecture de message et le message de formats.
Un Service Web JAX-WS inclut également une description lisible par machine des opérations fournies, écrite en Web Services Description Language (WSDL), qui est un type spécialisé de document XML.
Un point de terminaison de service web consiste en une classe qui implémente les interfaces WebService et WebMethod.
Un Client de Service Web est un client qui dépend de plusieurs classes appelées des stubs générées à partir de la définition WSDL. JBoss EAP 6 comprend les outils pour générer les classes à partir de WSDL.
Dans un Service Web JAX-WS, un contrat formel est créé pour décrire l'interface qui offre le Service Web. Le contrat est généralement écrit en WSDL, mais peut-être être écrit dans les messages SOAP. L'architecture du Service Web aborde généralement les besoins opérationnels, comme les transactions, la sécurité, la messagerie et la coordination. JBoss EAP 6 fournit des mécanismes pour traiter ces besoins commerciaux.
Web Services Description Language (WSDL) est un langage basé XML utilisé pour décrire des Services Web et comment y avoir accès. Le Service Web lui-même est écrit en Java ou autre langage de programmation. La définition WSDL est composée des références à l'interface, des définitions de port et des instructions sur la façon dont les autres Services Web doit interagir avec lui sur un réseau. Les Services Web communiquent entre eux à l'aide de Simple Object Access Protocol (SOAP). Ce type de Service Web contraste avec les Services Web RESTful conçus à l'aide du principe Representative State Transfer (REST). Ces Services Web RESTful n'exigent pas l'utilisation de WSDL ou de SOAP, mais reposent sur la structure du protocole HTTP lui-même pour définir comment les autres services interagissent avec eux.
JBoss EAP 6 inclut un support pour le déploiement des points de terminaison du service JAX-WS Web Service. Ce support est donné par JBossWS. La configuration du sous-système de services web, comme la configuration des points de terminaison, les chaînes de gestionnaires, les gestionnaires, est fournie via le sous-système webservices.
Exemples

Les JBoss EAP Quickstarts incluent plusieurs applications JAX-WS Web Services qui fonctionnent correctement. Exemples :

  • wsat-simple
  • wsba-coordinator-completion-simple
  • wsba-participant-completion-simple