Vers des normes de service web convergentes pour les ressources, les événements et la gestion
15 mars 2006
Version 1.0
Auteurs
Kevin Cline, Intel
Josh Cohen, Microsoft
Doug Davis, IBM
Donald F Ferguson, IBM
Heather Kreger, IBM
Raymond McCollum, Microsoft
Bryan Murray, HP
Ian Robinson, IBM
Jeffrey Schlimmer, Microsoft
John Shewchuk, Microsoft
Vijay Tewari, Intel
William Vambenepe, HP
Introduction
HP, IBM, Intel et Microsoft prévoient de développer un ensemble commun de spécifications pour les ressources, les événements et la gestion qui peuvent être largement pris en charge sur plusieurs plateformes. Pour ce faire, les parties s’inspirent des spécifications existantes et définissent un ensemble d’améliorations qui permettent cette convergence. Dans de nombreux scénarios, les fournisseurs et les clients qui créent des solutions à l’aide de services web constatent que les spécifications existantes prennent en charge leurs scénarios. Les fournisseurs et les clients peuvent utiliser les nouvelles spécifications et fonctions lorsqu’ils ont besoin des fonctionnalités courantes.
Les fonctionnalités courantes que nous couvrons sont les suivantes :
- Ressources : possibilité de créer, lire, mettre à jour et supprimer des informations à l’aide de services Web.
- Événements : possibilité de connecter des services web ensemble à l’aide d’une architecture pilotée par les événements basée sur la publication et l’abonnement.
- Gestion : fournissez un modèle de service web pour créer des solutions de gestion des systèmes et des applications, en mettant l’accent sur la gestion des ressources.
En outre, la collection interopérable commune de spécifications est conçue de telle sorte que les organisations puissent facilement étendre les spécifications pour couvrir d’autres scénarios avancés.
Aujourd’hui, il existe de nombreuses spécifications qui fournissent des fonctionnalités de service Web pour les ressources, les événements et la gestion. Quelques exemples :
- WS-Transfer
- WS-Enumeration
- WS-Eventing
- WS-MetadataExchange
- WS-ResourceFramework
- WS-Resource
- WS-ResourceProperties
- WS-ResourceLifetime
- WS-ServiceGroup
- WS-BaseFaults
- WS-Notification
- WS-BaseNotification
- WS-BrokeredNotification
- WS-Topics
- Gestion des services Web
- Gestion distribuée des services web
- Gestion à l’aide de services web (partie 1)
- Gestion à l’aide de services web (partie 2)
- Gestion des services web
HP, IBM, Intel et Microsoft ont fourni des implémentations d’un grand nombre de ces spécifications dans des kits et produits de développement. Ces implémentations fournissent des commentaires précieux pour l’évolution et le perfectionnement ultérieurs. L’expérience client et utilisateur démontre également la nécessité de converger de manière incrémentielle ces spécifications pour fournir une définition unique des fonctions principales courantes. Bon nombre de spécifications sont déjà des normes, et d’autres ont été soumises récemment. La convergence simplifiera l’interopérabilité, le développement de solutions et le processus de normalisation d’un nouvel ensemble commun de spécifications.
Ce document fournit une vue d’ensemble de la convergence et de la motivation. Il décompose d’abord le problème en deux blocs de construction principaux : (a) gestion des informations et (b) événements et notification. Ensuite, il décrit comment ces blocs forment une base composable pour la gestion des services Web. Dans chacune de ces trois sections, ce document fournit une vue d’ensemble technique très brève des spécifications pertinentes et de leur relation avec les spécifications existantes. Les détails de ce document représentent notre meilleure réflexion actuelle et peuvent évoluer avant la publication des spécifications.
Conformément aux efforts précédents de la feuille de route, les auteurs s’attendent à ce que les spécifications soient publiées et affinées au cours des 18 à 24 prochains mois. Certaines des spécifications identifiées dans cette feuille de route seront publiées dès le 2Q06. Les spécifications seront affinées à l’aide du processus de l’atelier WS-*, avec soumission à une norme organization suivre ce processus lorsque la qualité appropriée est garantie.
Ce livre blanc décrit ce que les co-auteurs prévoient être l’évolution technique des spécifications actuelles. Bien que l’intention soit que les versions ultérieures des produits prennent en charge ces spécifications, des informations sur les livrables de produit spécifiques peuvent être obtenues auprès des représentants des entreprises respectives.
Les lecteurs doivent se référer aux spécifications réelles pour plus de détails techniques.
Gestion des informations
Vue d’ensemble
HP, IBM, Intel et Microsoft créent deux nouvelles spécifications (WS-Transfer Addendum, WS-ResourceTransfer) et une nouvelle version d’une spécification existante (WS-MetadataExchange). Ces spécifications superposent et composent avec WS-Transfer et WS-Enumeration, que HP, IBM, Intel et Microsoft prendront en charge.
WS-Transfer Addendum (nouveau) étend WS-Transfer (septembre 2004) en définissant des messages Get', Put’et Create' facultatifs, qui révisent les messages Get, Put et Create existants. Aucune modification n’a été apportée au message Supprimer WS-Transfer. Les extensions facultatives de Get', Put' et Create' permettent à l’élément corps du message de spécifier un sous-ensemble de la ressource ou de transmettre des directives de traitement spécifiques à la ressource. Le dialecte de l’élément body est spécifique à la ressource et est défini par des spécifications superposées sur WS-Transfer addendum. Un exemple de dialecte évident est XPath. Dans cet exemple, si la représentation de la ressource est un document XML volumineux, l’expression XPath d’un get' sélectionne un sous-ensemble de ce document. De même, un corps Put' peut spécifier un sous-ensemble du document à mettre à jour. Le message GetResponse a des modifications analogues.
WS-Transfer Addenda étend les réponses Put' et Create' afin qu’elles puissent inclure la référence de point de terminaison WS-Addressing (EPR) pour la ressource mise à jour/nouvelle. Comme les messages de demande, le corps des trois messages de réponse (GetResponse', PutResponse', CreateResponse') n’est pas défini pour permettre aux spécifications d’extension suivantes de définir des mécanismes de transfert spécifiques aux ressources, y compris des mécanismes de transfert partiel.
Les trois opérations mises à jour ont de nouveaux URI d’action WS-Addressing. L’utilisation de nouveaux URI garantit la compatibilité descendante avec WS-Transfer.
WS-Transfer Addendum permet de modifier les WS-MetadataExchange qui permettent une meilleure intégration à WS-Transfer. IBM et Microsoft republient donc WS-Metadata Exchange Version 1.1 (nouvelle). Par essence, les métadonnées de ressource/service sont simplement une autre ressource qui est récupérée à l’aide de Get.
Nouveau WS-MetadataExchange :
- Modifie le message Obtenir en référence à Obtenir dans WS-Transfer (septembre 2004).
- Définit l’utilisation de l’élément mex:Metadata dans les EPR. Cela fournit un moyen interopérable de transmettre des métadonnées pour un EPR.
À des fins de compatibilité descendante, l’élément mex:Metadata est conservé, comme l’est la liaison par défaut et l’espace de noms XML de « https://schemas.xmlsoap.org/ws/2004/09/mex".
Sur la base des travaux ci-dessus, HP, IBM, Intel et Microsoft développent conjointement une nouvelle spécification appelée WS-ResourceTransfer (WS-RT, new). WS-ResourceTransfer (WS-RT, new) fait référence WS-Transfer (septembre 2004), WS-Transfer Addendum (nouveau), WS-Enumeration (septembre 2004) et WS-MetadataExchange version 1.1 (nouveau). WS-ResourceTransfer ajoute certains des concepts les plus avancés de WS-ResourceFramework.
WS-RT (new) définit les éléments de corps pour Create', Get', et Put' qui prennent en charge la création, la récupération et la mise à jour d’éléments partiels d’une ressource. Il existe de nombreuses motivations pour prendre en charge l’accès aux sous-éléments de l’état d’une ressource. Voici quelques exemples :
- Amélioration des performances : l’état d’une ressource peut être très volumineux, tandis que le demandeur n’a besoin que de sous-éléments.
- L’autorisation des mises à jour partielles élimine les effets secondaires inutiles dus à la mise à jour de documents entiers. Par exemple, la mise à jour d’une entrée d’annuaire entière peut réinitialiser un minuteur de durée de vie du mot de passe, contrairement à la simple mise à jour de l’adresse e-mail.
WS-RT (nouveau) prédéfini deux dialectes d’éléments de corps : XPath et l’identification des éléments enfants par QName. Ces deux approches sont équivalentes aux fonctions qui WS-ResourceProperties définies. La définition de ces dialectes utilise l’élément corps dans WS-TransferAddendum concret. Les dialectes concrets contiennent également la prise en charge de Get', Put' et Create en passant plusieurs références de sous-éléments pour la ressource. Là encore, les multiples Put' et Get' améliorent les performances en évitant d’obtenir/placer l’intégralité du document et en évitant plusieurs appels réseau pour obtenir/placer des sous-éléments.
Get' retourne les sous-éléments multiples, et Create' et Put' passent les valeurs multiples à initialiser et à mettre à jour, respectivement. Là encore, ces fonctions sont équivalentes aux fonctionnalités qui WS-ResourceProperties définies.
En outre, WS-RT (nouveau) définit
- Durée de vie de ressource facultative. La durée de vie spécifie le moment où la ressource est automatiquement supprimée. Cela prend en charge certains modèles pour les ressources, par exemple les abonnements aux événements.
- Un format de métadonnées de durée de vie et un dialecte WS-MetadataExchange associé, qui permet d’inclure des modèles de durée de vie pris en charge dans les métadonnées d’une ressource.
- Sémantique pour le traitement des métadonnées de durée de vie lorsqu’elles sont incluses dans une requête Create.
- Comment un EPR de ressource peut inclure l’élément mex:Metadata et, dans celui-ci, un EPR pour les métadonnées de ressource. Cela permet de récupérer et/ou de mettre à jour les métadonnées comme tout autre élément des données d’une ressource, y compris la prise en charge de l’accès partiel.
Relation avec les spécifications existantes
Figure 1. Relation avec les spécifications existantes
La figure 1 fournit une vue d’ensemble de la relation entre les nouvelles spécifications. (Les blocs ombrés représentent les spécifications convenues conjointement.)
Aucune modification n’a été apportée à WS-Transfer et à l’énumération WS. WS-Transfer Addendum étend WS-Transfer et nécessite une compatibilité descendante. WS-ResourceTransfer couches sur et compose avec WS-Transfer Addendum, en définissant une syntaxe et une sémantique concrètes pour les expressions génériques dans les spécifications de base. WS-ResourceTransfer fournit des mappages pour la plupart des fonctionnalités de WS-ResourceFramework. Il s’agit notamment de la prise en charge de l’accès et de la mise à jour d’éléments partiels d’une ressource, de l’intégration des métadonnées à un modèle d’état des ressources et d’un modèle de durée de vie pour les ressources. D’autres fonctions de WS-ResourceFramework seront basées sur les spécifications identifiées ci-dessous et d’autres spécifications éventuelles.
HP, IBM, Intel et Microsoft ont l’intention de prendre en charge les spécifications WS-Transfer, WS-Enumeration, WS-TransferAddendum, WS-MetadataExchange et WS-ResourceTransfer dans les futurs produits.
IBM et d’autres continueront à prendre en charge WS-ResourceFramework. IBM et ses partenaires travailleront dans des organismes de normalisation pour refactoriser les WS-ResourceFramework afin de délimiter clairement les extensions au-delà de WS-ResourceTransfer. Les programmeurs peuvent utiliser ces extensions s’ils ont besoin de ces fonctions.
Microsoft et d’autres continueront à prendre en charge WS-Transfer, WS-Enumeration.
Les programmeurs peuvent commencer par WS-Transfer, WS-Transfer Addendum, WS-Enumeration, WS-MetadataExchange. Microsoft et ses partenaires qui prennent en charge ces spécifications continueront à fournir ce support à l’avenir. Les programmeurs peuvent utiliser des implémentations et des versions existantes de WS-ResourceFramework. IBM et ses partenaires qui prennent en charge cette spécification garantissent l’interopérabilité avec les nouvelles spécifications.
Événements et notification
Vue d’ensemble
HP, IBM, Intel et Microsoft définissent une spécification qui intègre les fonctions de WS-Notification avec WS-Eventing. La nouvelle spécification, WS-EventNotification, couche et compose avec WS-Eventing. WS-EventNotification présente cinq fonctionnalités prises en charge par WS-Notification. Ces règles sont les suivantes :
- Stratégie d’abonnement : WS-Eventing et WS-Notification introduisent le concept d’abonnement aux ressources/services pour les événements. Différents services/ressources peuvent avoir des approches différentes pour implémenter des abonnements et des notifications. Les abonnés peuvent souhaiter définir des exigences ou des directives différentes sur les abonnements. WS-EventNotification définit des stratégies concrètes qui permettent à une ressource/service de décrire ses approches pour la gestion des abonnements et des abonnements, et permet à un abonné de spécifier des directives pour la source d’événement. Cela permet l’extensibilité pour WS-EventNotification et la description des fonctionnalités que d’autres spécifications peuvent utiliser.
- Langages de filtre plus riches : WS-Eventing introduit un langage de filtrage simple. La langue permet à un abonné de spécifier un filtre qui décrit les événements que l’abonné souhaite recevoir. WS-EventNotification introduit un langage de filtre plus riche, qui active les fonctions que WS-Notification prennent en charge.
- Notification encapsulée : WS-Eventing décrit les événements sous forme d’opérations/messages de sortie sur un portType WSDL. Les messages de sortie correspondent aux opérations/messages d’entrée sur le récepteur d’événements. Certains scénarios, en particulier ceux qui s’appuient sur des systèmes de publication/d’abonnement existants, nécessitent un message de notification explicite contenant les données d’événement. Il s’agit d’une notification « encapsulée ». Le message/l’opération de sortie de l’événement est contenu dans une opération/un message de notification externe. La notification encapsulée fournit également une interface générique pour recevoir des notifications. Cela permet de définir des abonnés qui peuvent recevoir des événements de n’importe quel notificateur. Il n’est pas nécessaire d’effectuer une opération qui correspond à l’opération de sortie de l’émetteur d’événements.
- Ressources d’abonnement : WS-EventNotification, comme WS-Notification, traite l’état d’un abonnement comme une ressource dans WS-ResourceTransfer. Un abonnement peut avoir une durée de vie, et l’abonné peut utiliser Get', Put' et Delete' pour lire ou mettre à jour l’état de l’abonnement, par exemple pour modifier un filtre ou une durée de vie d’expiration. Cela intègre mieux les concepts définis dans WS-Eventing avec des concepts similaires dans WS-ResourceTransfer et WS-ResourceFramework.
- Suspension des abonnements : WS-EventNotification, comme WS-Notification, introduit la notion de « suspension » d’un abonnement. Cela permet d’arrêter temporairement le flux de notifications à un abonné particulier. Les propriétés qoS exactes, par exemple, si les nouvelles notifications sont mises en cache ou simplement ignorées, sont contrôlées par les stratégies d’abonnement.
Relation avec les spécifications existantes
Figure 2 : Relation avec les spécifications existantes
La figure 2 fournit une vue d’ensemble de la relation entre les spécifications d’événements et de notification. WS-EventNotification est un sur-ensemble de WS-Eventing et prend en charge la compatibilité descendante. La nouvelle spécification (WS-EventNotification) comprend des WS-ResourceTransfer pour prendre en charge un modèle d’état/ressource pour la gestion des abonnements. La fonctionnalité existante de WS-Notification pas explicitement définie dans WS-EventNotification peut toujours être superposée sur son modèle de message et ses fonctionnalités en tant qu’extension.
Microsoft, IBM et d’autres continueront à prendre en charge WS-Eventing,
HP, IBM, Intel et Microsoft ont l’intention de prendre en charge la nouvelle spécification WS-ResourceTransfer et WS-EventNotification dans les futurs produits.
IBM et d’autres continueront de prendre en charge WS-Notification et s’attendent à travailler dans des normes pour mieux intégrer les spécifications WS-Notification avec WS-ResourceTransfer et WS-EventNotification. Les programmeurs peuvent utiliser les fonctions plus avancées de l’infrastructure WS-Notification si nécessaire. IBM et ses partenaires veillent à ce que les implémentations qui utilisent WS-Notification fonctionnent dans des environnements avec WS-EventNotification et WS-ResourceTransfer.
Gestion des services web
Vue d’ensemble
Enfin, en s’appuyant sur le travail conjoint dans le domaine de la distribution d’informations et de la notification d’événements, HP, IBM, Intel et Microsoft mènent le développement d’une spécification de gestion des services Web commune à venir. Cette nouvelle spécification comprend WS-ResourceTransfer (nouveau) et WS-EventNotification (nouveau). La plupart des différences entre WS-Management et la gestion distribuée des services web sont directement dues aux différences entre WS-Transfer et WS-ResourceFramework, et entre WS-Notification et WS-Eventing. Le rapprochement de ces spécifications de couche inférieure permet la convergence des spécifications de gestion, qui est en cours.
La figure 3 fournit une vue d’ensemble des nouvelles spécifications et de leur relation avec les spécifications existantes. HP, IBM, Intel et Microsoft développent une nouvelle spécification qui fournit une définition unique des fonctions de gestion de base.
Relation avec les spécifications existantes
Figure 3. Relation avec les spécifications existantes (proposé)
Le rapprochement des spécifications de gestion des ressources et d’événements/notifications permet le rapprochement de nombreuses fonctions des spécifications de gestion. Voici quelques exemples :
- Manipulation de l’état des ressources managées, y compris des sous-éléments.
- Notification des événements de gestion et du changement d’état des ressources.
Le nouvel ensemble de spécifications de gestion doit inclure la prise en charge des fonctionnalités suivantes pour les métadonnées, y compris les informations de type de ressource :
- Démarrage du processus de découverte
- Découverte des niveaux de conformité et des fonctionnalités des services et des implémentations
- Découverte et énumération des types de ressources et des métadonnées associées
- Accès en lecture/écriture à l’espace de type et aux métadonnées associées
- Navigation des relations dans l’espace de type et de métadonnées
- Prise en charge d’un type en lecture seule et d’un espace de métadonnées qui peuvent être hébergés en dehors du service (sur un site Web) et adaptés au service réel au moment de l’exécution
- Démarrage de la découverte et de l’énumération d’instances et de sources d’événements
Outre les fonctionnalités fournies dans WS-Transfer permettant de créer et de supprimer des ressources, et WS-Resource Transfert fournissant un accès en lecture-écriture aux instances de ressources, les spécifications de gestion prennent en charge plusieurs modèles de données standardisés qui définissent :
- Compréhension et décodage des relations entre les instances
- Mécanisme commun pour distinguer les instances de ressources
- Format de charge utile commun de base pour les événements à des fins d’interopérabilité, tout en ne limitant pas l’utilisation de formats spécifiques à la plateforme
L’interopérabilité entre les systèmes hétérogènes nécessite l’utilisation d’un ou plusieurs modèles de données ou d’événements standardisés. Certains de ces formats peuvent être définis par l’effort conjoint en fonction des besoins.
Des extensions de ces spécifications peuvent être développées et continuer à exister pour les familles de spécifications WS-Management et WSDM. Toutefois, l’unification se traduira par un grand noyau commun qui peut prendre en charge la surveillance, la gestion de l’état et la configuration des ressources.
Les travaux existants sur les spécifications actuelles se poursuivront jusqu’à leur conclusion prévue. Cette feuille de route fournit une vision pour la prochaine génération de spécifications et de normes en cours. Un chemin de migration sera défini pour les spécifications d’aujourd’hui. En s’appuyant sur leurs solutions existantes basées sur les spécifications actuelles, HP, IBM, Intel et Microsoft vont faire évoluer leurs solutions pour incorporer ces spécifications à mesure qu’elles progressent.
HP, IBM, Intel et Microsoft ont l’intention d’implémenter la nouvelle spécification de gestion commune dans les produits futurs.
IBM et ses partenaires continueront à prendre en charge WSDM. IBM et les partenaires qui implémentent actuellement WSDM garantissent également la prise en charge des implémentations existantes basées sur WSDM.
Microsoft et ses partenaires continueront à prendre en charge WS-Management. Microsoft et ses partenaires qui implémentent actuellement WS-Management garantiront également la prise en charge des implémentations existantes basées sur WS-Management.