fournisseurs de services Web et partage de configuration des règles

Un fournisseur de services WebSphere Application Server peut partager sa configuration de règles en cours via son WSDL (Web Service Description Language). La configuration des règles est au format WSDL standard WS-PolicyAttachment de façon à pouvoir être partagée avec d'autres clients, registres de services ou services prenant en charge la spécification WS-Policy.

Vous pouvez rendre la configuration de règles d'un noeud final de service JAX-WS (Java™ API for XML-Based Web Services) disponible pour partage de différentes manières :
  • Incluez la configuration de la règle du fournisseur de services dans le WSDL. Le fichier WSDL peut être alors publié ou obtenu à l'aide d'une requête HTTP GET.
  • Activez le protocole d'échange de métadonnées de services Web (WS-MetadataExchange) afin que la configuration des règles du fournisseur de services soit incluse dans le WSDL et disponible pour une demande GetMetadata WS-MetadataExchange. L'utilisation du protocole WS-MetadataExchange vous offre l'avantage de pouvoir appliquer la sécurité de niveau message aux demandes GetMetaData WS-MetadataExchange à l'aide d'un ensemble de règles système adaptées.

Les administrateurs système peuvent également accéder à un document WSDL via un fichier compressé publié ayant l'extension .zip et ce à l'aide des commandes ou de la console d'administration. Toutefois, un document WSDL acquis de cette manière peut être différent d'un document WSDL acquis via une demande GET HTTP ou via le protocole WS-MetadataExchange car le document WSDL statique publié dans le fichier compressé ne pourra pas prendre en compte les fonctions de services Web, les annotations ou les éléments de descripteur de déploiement qui peuvent exister dans le code d'application, comme des annotations WS-Addressing.

Par défaut, le partage de règles est désactivé. Pour inclure la configuration des règles du fournisseur de services dans le WSDL et spécifier comment elle est partagée, vous pouvez utiliser la console d'administration ou des commandes wsadmin.

Lorsque le partage de règles est activé, toutes les associations WS-Policy qui existaient précédemment dans le WSDL sont supprimées. Notez que les informations de configuration de règle sont alors disponibles dans le WSDL pour publication, mais elles ne sont pas disponibles si vous visualisez uniquement le document WSDL directement sur la console d'administration ou si vous publiez le WSDL à distance à l'aide d'un agent d'administration.

Si l'application du fournisseur de services utilise des WSDL à plusieurs parties, tous les WSDL doivent être sur le même système que l'application de service Web. Pour plus d'informations sur la version à plusieurs parties de WSDL, consultez la rubrique relative à WSDL.

Un fournisseur de service configuré pour utiliser SAML (Security Assertion Markup Language) peut partager la règle avec le client WebSphere Application Server ou un registre d'utilisateurs. Notez que les jetons SAML sont publiés dans un format propriétaire.

Les développeurs d'applications peuvent spécifier qu'un fournisseur de services partage sa configuration de règles et comment elle est partagée, à l'aide d'outils Rational Application Developer lorsqu'un service Web est généré. Pour plus d'informations, voir la documentation Rational Application Developer.

Les informations de règles de transport ne sont pas incluses dans la configuration de règles car les règles de transport, telles que HTTP, SSL et JMS ne peuvent pas être exprimées dans le format WS-PolicyAttachment.

Les informations de règles d'amorce, par exemple, la règle d'accès à un service WS-Trust, peuvent être incluses dans la configuration de règles si la règle d'amorce est exprimée dans un format WS-PolicyAttachment standard pouvant être publié.

Vous pouvez configurer un fournisseur de services pour qu'il partage la configuration de ses règles au niveau d'une application ou d'un service. La configuration de règle représentée par les ensembles de règles attachés à un niveau inférieur sera également partagée. Les ensembles de règles liés à des niveaux inférieurs se substituent à la configuration d'un ensemble de règles lié à un niveau supérieur.

Il est possible de définir les informations sur les règles de différentes façons. La liste ci-après est présentée par ordre de priorité décroissante. Par exemple, la méthode du descripteur de déploiement remplace l'utilisation des annotations ou des fonctions dans le code d'application, mais elle est elle-même remplacée par l'utilisation d'ensembles de règles.
  • Une règle est définie en associant l'ensemble de règles à l'application.
  • Une règle est définie en utilisant des éléments de descripteur de déploiement dans un élément port-component-ref.
  • Une règle est définie en utilisant des annotations ou des fonctions dans le code d'application.
  • Une règle est définie en utilisant des annexes WS-Policy dans le document WSDL stocké en package avec l'application.

Lorsque vous déployez une application dans une cellule et que vous publiez le fichier WSDL en utilisant la console d'administration, le fichier WSDL contient la configuration de l'ensemble de règles du gestionnaire de déploiement de la cellule. Si vous modifiez des règles, les changements n'affectent la configuration du gestionnaire de déploiement que lorsque qu'elle est régénérée, par exemple quand le gestionnaire de déploiement redémarre, ou quand une commande de script la régénère.

Les informations suivantes exposent les règles qui régissent la publication de la configuration des règles :
  • Lorsque le partage de règles est activé, les annexes WS-Policy du document WSDL décrivent la configuration des règles du service.
  • Lorsque le partage de règles n'est pas activé :
    • Le WSDL qui est renvoyé par une requête HTTP GET est le WSDL stocké en package avec l'application.
      Remarque : Ce WSDL est renvoyé non modifié et peut contenir des annexes WS-Policy pré-existantes qui ne correspondent pas à la configuration du service.
    • Si aucun document WSDL spécifique n'est associé au service, le composant d'exécution du serveur génère automatiquement un document WSDL et l'associe au service. Dans ce cas, le WSDL ne contiendra aucune annexe WS-Policy à moins qu'une annotation @Addressing soit présente dans l'implémentation de service. Dans ce cas, la configuration de l'annotation @Addressing est exprimée dans les annexes WS-Policy du document WSDL généré.

Traitement des incidents liés au partage de configuration des règles

Un fournisseur de services peut ne pas être en mesure de partager la configuration de ses règles car cette configuration ne peut pas être exprimée dans le format WS-PolicyAttachments standard. Une raison à cela peut être que plusieurs règles incompatibles sont définies pour un point d'association particulier. Une autre raison peut être que les informations de liaison sont insuffisantes pour générer la règle standard. La configuration des règles peut inclure une règle d'amorce, par exemple la règle d'accès à un service WS-Trust, ainsi la règle d'amorce doit être également exprimée dans le format WS-PolicyAttachments.

Si la configuration de la règle ne peut pas être partagée, une erreur décrivant le problème est consignée dans le journal des erreurs du fournisseur de services et la règle suivante est jointe au WSDL du fournisseur de services :
<wsp:Policy>
<wsp:ExactlyOne>
</wsp:ExactlyOne>
</wsp:Policy>
Cette règle indique au client qu'il n'y a pas de configuration de règles acceptable pour le service. D'autres aspects du WSDL ne sont pas affectés.

Icône indiquant le type de rubrique Rubrique de concept



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=cwbs_wsp_server_share
Nom du fichier : cwbs_wsp_server_share.html