Implémentation d'applications de services Web à l'aide de JAX-WS

Lorsque vous utilisez des JavaBeans ou des beans enterprise existants, vous pouvez suivre une approche ascendante pour développer des services Web JAX-WS selon le modèle de programmation JAX-WS (Java™ API for XML-Based Web Services).

Avant de commencer

Déterminez le JavaBeans ou le beans enterprise existant que vous souhaitez exposer en tant que service Web JAX-WS.

meilleures pratiques : IBM® WebSphere Application Server prend en charge les modèles de programmation JAX-WS (Java API for XML-Based Web Services) et JAX-RPC (Java API for XML-based RPC). JAX-WS représente la future génération du modèle de programmation des services Web qui étend la base du modèle JAX-RPC. L'utilisation du modèle de programmation JAX-WS stratégique simplifie le développement des services et des clients Web par la prise en charge d'un modèle d'annotations normalisé. Bien que le modèle de programmation et les applications JAX-RPC soient toujours pris en charge, vous avez tout avantage à recourir au modèle de programmation JAX-WS, facile à mettre en oeuvre, pour développer de nouvelles applications et de nouveaux clients de services Web.

Pourquoi et quand exécuter cette tâche

Pour développer des services Web sur la base d'un modèle de programmation JAX-WS, vous pouvez utiliser une approche ascendante à partir d'un JavaBeans ou d'un beans enterprise existant, ou utiliser une approche descendante à partir d'un fichier WSDL (Web Services Description Language) existant. Cette tâche décrit le déroulement d'une approche de développement ascendante.

Lors du développement de services Web JAX-WS à partir d'un JavaBeans ou de beans enterprise existant, vous pouvez exposer le bean en tant que service Web JAX-WS à l'aide d'annotations. L'ajout de l'annotation @WebService ou @WebServiceProvider au bean définit le bean en tant que service Web JAX-WS. Les services Web JAX-WS peuvent en option utiliser une interface SEI. Outre l'annotation du bean et de l'interface SEI facultative, vous devez assembler tous les artefacts requis par le service Web, et déployer l'application résultante dans l'environnement du serveur d'applications pour effectuer le processus d'activation du bean en tant que service Web. Bien que l'utilisation d'un fichier WSDL soit considéré comme une valeur recommandée, vous n'êtes pas tenu d'inclure un fichier WSDL dans les services Web JAX-WS.

Considérations relatives à l'utilisation de JavaBeans
  • Les JavaBeans exposés en tant que services Web JAX-WS sont pris en charge uniquement via un transport HTTP.
  • JavaBeans peut utiliser Contexts and Dependency Injection (CDI). Notez que l'injection du constructeur n'est pas prise en charge.
Considérations liées à l'utilisation de beans enterprise
  • Le bean enterprise doit être un bean session sans état ou un singleton.
  • Les beans enterprise exposés en tant que services Web JAX-WS doivent être inclus dans les modules EJB 3.0 ou version supérieure.
  • Les applications JAX-WS contenant des beans enterprise doivent être déployées à l'aide de la commande endptEnabler.
  • Les services Web JAX-WS utilisant les beans enterprise sont pris en charge via un transport HTTP JMS (Java Message Service).
  • Les beans enterprise peuvent utiliser CDI. Notez que l'injection du constructeur n'est pas prise en charge.
  • Vous pouvez également inclure des documents WSDL (Web Services Description Language) dans le package d'application JAX-WS.

En commençant par WebSphere Application Server version 7.0 et ultérieure, les modules d'application Java EE 5 (modules d'application Web version 2.5 ou ultérieure ou les modules EJB version 3.0 ou ultérieure) sont analysés pour connaître les annotations permettant d'identifier les services et clients JAX-WS. Toutefois, les modules d'application antérieurs à Java EE 5 (modules d'application Web version 2.4 ou antérieure, ou modules EJB version 2.1 ou antérieure) ne font pas l'objet d'une analyse des annotations JAX-WS, par défaut, pour des raisons de performance. Dans la version 6.1 de Feature Pack for Web Services, le comportement par défaut consiste à analyser les modules d'application Web antérieurs à Java EE 5 pour identifier les services JAX-WS et à rechercher dans les modules d'application Web antérieurs à Java EE 5 et dans les modules EJB des clients de service au cours de l'installation de l'application. Dans la mesure où le comportement par défaut de WebSphere Application Server version 7.0 et ultérieure consiste à ne pas rechercher les annotations dans les modules antérieurs à Java EE 5 au cours de l'installation de l'application ou du démarrage du serveur, si vous souhaitez conserver la compatibilité antérieure avec le module de fonctions, vous devez configurer soit la propriété UseWSFEP61ScanPolicy dans l'élément META-INF/MANIFEST.MF d'un fichier WAR ou d'un module EJB, soit définir la propriété personnalisée de machine virtuelle Java, com.ibm.websphere.webservices.UseWSFEP61ScanPolicy, sur les serveurs pour en demander l'analyse pendant l'installation de l'application et le démarrage du serveur. Pour en savoir plus sur l'analyse des annotations, voir les informations relatives aux annotations JAX-WS.

Procédure

  1. Configurez un environnement de développement pour les services Web. Il n'est pas nécessaire de configurer un environnement de développement si vous utilisez Rational Application Developer.
  2. Développeez des services Web JAX-WS à l'aide d'annotations.
  3. Générez des artefacts Java pour des applications JAX-WS.

    Utilisez les outils JAX-WS pour générer les artefacts JAX-WS nécessaires et JAXB requis pour les applications de services Web JAX-WS lors du démarrage de composants JavaBeans ou beans enterprise.

    Si vous développez un bean d'implémentation de services qui est appelé à l'aide du transport HTTP, le fichier WSDL généré par l'outil de ligne de commande wsgen au cours de cette étape est facultatif. Cependant, si vous développez un bean d'implémentation de services qui est appelé à l'aide du transport SOAP sur JMS, le fichier WSDL généré par l'outil wsgen au cours de cette étape est requis dans les étapes suivantes et n'est de ce fait pas facultatif.

  4. (Facultatif) Activez MTOM pour les services Web JAX-WS. Vous pouvez utiliser SOAP MTOM (Message Transmission Optimization Mechanism) pour optimiser la transmission de pièces jointes binaires comme des images ou des fichiers avec demandes de services Web.
  5. (Facultatif) Forcez le respect des liaisons WSDL dans les services Web JAX-WS. La fonction RespectBindingFeature peut être utilisée pour contrôler si une implémentation JAX-WS est requise pour respecter le contenu d'un élément wsdl:binding associé à un noeud final.
  6. (Facultatif) Développez et configurez un descripteur de déploiement webservices.xml pour les applications JAX-WS. Vous pouvez en option utiliser le descripteur de déploiement webservices.xml pour augmenter ou pour remplacer les métadonnées d'application indiquées dans les annotations à l'intérieur des services Web JAX-WS.
  7. Effectuez l'implémentation de votre application de services Web.
  8. (Facultatif) Personnalisez les modèles d'URL dans le fichier web.xml. Quand les JavaBeans sont exposés en tant que noeuds finaux JAX-WS, vous pouvez en option personnaliser les modèles d'URL dans le descripteur de déploiement web.xml contenu dans le fichier web application archive (WAR).
  9. Assemblez les artefacts de votre service Web.

    Utilisez les outils d'assemblage fournis avec le serveur d'applications pour assembler les modules de services Web Java.

    Si vous avez assemblé un fichier EAR contenant des modules beans enterprise qui incluent des services Web, utilisez l'outil de ligne de commande endptEnabler ou un outil d'assemblage avant le déploiement afin de générer le fichier WAR (Web archive) du noeud final de services Web. Cet outil est aussi utilisé pour indiquer si les services Web sont exposés à l'aide de SOAP sur JMS (Java Message Service) ou de SOAP sur HTTP.

  10. Déployez le fichier EAR dans le serveur d'applications. Vous pouvez maintenant déployer le fichier EAR qui a été configuré et activé pour les services Web JAX-WS dans le serveur d'applications.
  11. Testez le service Web pour vous assurer qu'il fonctionne avec le serveur d'applications.

Résultats

Vous avez développé une application JAX-WS.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxws
Nom du fichier : twbs_devwbsjaxws.html