Découvrir et décrire un service Web à l'aide d'UDDI, 2ème partie
Scott Seely
Microsoft Corporation
17 octobre 2001
Introduction
Dans l'article précédent, nous avons reçu la visite de Karsten Januszewski de l'équipe Microsoft® UDDI. Karsten a expliqué ce qu'était UDDI, la raison de son existence et comment l'utiliser. Dans cet article, nous allons décrire ce qu'il nous a fallu faire pour enregistrer le service Favorites de Cold Rooster dans le registre Microsoft UDDI. Comme nous n'avions encore jamais eu recours au registre UDDI auparavant, nous avons dû commencer depuis le tout début.
Pour vous enregistrer auprès d'UDDI
Nous n'avions jamais enregistré Cold Rooster sur le site Microsoft
UDDI
; notre première tâche a donc
été de créer un compte sur ce site. Pour
enregistrer un compte, vous devez vous connecter avec Passport.
Une fois connecté, vous pouvez choisir d'utiliser sur UDDI
l'adresse de courrier électronique liée à votre
compte Passport, ou bien une autre. J'ai décidé
d'opter pour l'adresse crooster@microsoft.com, car je ne serai
pas la seule personne à utiliser UDDI dans mon
équipe. Nous avions déjà créé ce
compte de courrier électronique pour des besoins
antérieurs de Cold Rooster Consulting et ce choix nous a
donc semblé logique.
L'écran d'enregistrement demande aussi d'autres
coordonnées : nom du postulant, son numéro de
téléphone et une adresse de courrier
électronique. Pour valider l'inscription, vous devez
préciser que vous êtes d'accord avec les conditions
d'utilisation (voir Terms
of Use
).
Une fois que vous avez inscrit vos coordonnées dans le registre et que vous avez accepté les conditions d'utilisation, le site UDDI vous envoie un message électronique pour confirmer l'adresse fournie. Cliquez sur le lien de ce message et vous pourrez alors administrer votre compte UDDI. Pour l'administration, vous devez ajouter des données professionnelles au registre, publier des tModels et éditer les détails de l'enregistrement. La figure 1 présente la page d'administration.
Figure 1. Page d'administration UDDI
Ajoutez votre entreprise au registre UDDI
Après avoir ouvert un compte sur le site Microsoft UDDI, la tâche suivante consistait à ajouter Cold Rooster Consulting au registre UDDI. Nous pouvions inscrire notre entreprise via la page Web ou par l'API UDDI, avec le SDK .NET ou le SDK COM. J'ai décidé d'utiliser l'interface utilisateur car je n'avais l'intention d'enregistrer le tout qu'une seule fois. Si jamais nous étions un jour amenés à modifier régulièrement certains aspects de l'interface, nous automatiserions alors ce processus pour réduire les risques d'erreurs. Le fait d'ajouter notre entreprise au registre permet aux utilisateurs de nous retrouver sur la base de notre activité et des types de services Web que nous proposons. Pour ajouter Cold Rooster Consulting au registre UDDI, nous nous sommes rendus au lien "Add a new business" de la page d'administration (Figure 1). La première page demande le nom de l'entreprise et sa description. Pour Cold Rooster, j'ai entré :
Name : Cold Rooster Consulting
Description : Entreprise fictive utilisée par l'équipe MSDN Architectural Samples
Une fois l'entreprise inscrite au registre UDDI, j'ai pu ajouter d'autres informations :
- Contacts : Personnes à contacter pour obtenir des renseignements sur les services fournis par l'entreprise. Nous avons ajouté plusieurs membres de l'équipe MSDN Architectural Samples à la liste des contacts.
- Services : tModels (fichiers WSDL) exposés par l'entreprise. Nous avons ajouté les tModels Account, Logon et Report à notre entrée UDDI.
- Identifiers : Données d'identification uniques de l'entreprise (un numéro d'enregistrement officiel de l'entreprise par exemple). Comme Cold Rooster n'en a pas, nous avons laissé ce champ vide.
- Business classifications : Il s'agit de la situation géographique de l'entreprise et de la nature de son activité. Cold Rooster Consulting se trouve aux États-Unis, dans l'État de Washington.
- Discovery URLs : Ce champ indique l'endroit où l'on peut trouver des informations sur l'entreprise.
Nous commencerons par effectuer les opérations les plus simples et garderons les services pour la fin.
Ajout de contacts à UDDI
Cette tâche est relativement simple. Comme pour n'importe quel formulaire d'adresse, il vous suffit d'entrer les informations générales concernant les différents contacts. À partir de la description et des remarques d'utilisation, les utilisateurs potentiels se servent de ces informations pour contacter votre entreprise et acquérir une licence pour le service Web, obtenir de l'aide ou vous contacter en cas de questions relatives à votre activité. La figure 2 vous montre comment se présente le formulaire d'informations sur les contacts.
Figure 2. Page d'information sur les contacts
Classification de l'entreprise
La plupart des entreprises peuvent être classifiées en fonction de leur activité. Pour cette classification, plusieurs taxinomies sont disponibles avec UDDI. Vous pouvez utiliser les taxinomies suivantes :
- North American Industry Classification System (NAICS-1997)
- Universal Standard Products and Services Codes (UNSPSC-7.03)
- ISO 3166 Geographic Taxonomy
- Standard Industrial Classification (SIC-1987)
- GeoWeb Geographic Classification
- UDDI Types Taxonomy
- Nous avons enregistré Cold Rooster sous toutes ces taxinomies, excepté sous UDDI Types, car cette taxinomie sert à classifier les informations sur les tModels et les services.
-
Pour savoir ce que nous voulions enregistrer, nous avons
dû considérer la nature de l'activité de
Cold Rooster et son emplacement géographique. Cold
Rooster Consulting est basé à Redmond, Washington
(États-Unis). Elle fournit des services de conseil en
informatique concernant des projets spécifiques, et
délivrés sur site par du personnel
spécialement affecté à cette tâche. De
plus, elle est spécialisée dans le
développement sur Windows et sur Internet. Sachant
cela, il nous a fallu définir une classification
adaptée pour les six systèmes. Le tableau 1
montre comment nous avons classifié l'entreprise pour
chacun de ces systèmes.
Système de classification Classification NAICS - 541511: Custom Computer Programming Services
- 541512: Computer Systems Design Services
UNSPSC - 81.11.16.07.00: Programming for C or C++
- 81.11.16.03.00: Programming for HTML
- 81.11.16.01.00: Programming for Microsoft® Visual Basic®
- 81.11.16.12.00: Programming or Proprietary Languages (y compris C#)
- 81.11.21.06.00: Application Service Providers (nous hébergeons des services Web)
- 81.11.21.03.00: World Wide Web (WWW) site design services
ISO 3166 - US-WA (Washington, USA, World)
SIC - 7371: Computer programming services
- 7372: Information retrieval services
GeoWeb Geographic Classification - 518816 (Redmond, Washington, USA, North America, World)
Tableau 1. Exemple de classification sur UDDI
La classification de notre entreprise est maintenant complète. L'étape suivante consiste à ajouter les trois tModels.
Ajout des tModels
Au cas ou vous n'auriez pas lu l'article de la semaine dernière, un tModel est un modèle type. Pour les services Web, les tModels sont généralement des fichiers WSDL. Leur fonction est de définir les types utilisés par le service Web, ainsi que les messages et opérations relatifs à ce service. Pour un tModel donné, je sais quelles sont les opérations de service Web implémentées par l'entité qui implémente ce tModel et comment accéder à ces opérations. Vous devez inscrire les fichiers WSDL en tant que tModels parce qu'il peut exister plusieurs implémentations de ces tModels.
Côté serveur, le service Web Favorites est composé de trois services Web : un service de connexion (Logon), un service de compte (Account), et un service de rapport (Report). Le service Web Logon permet au détenteur d'une licence de se connecter et d'obtenir un jeton. Grâce à ce jeton, cette personne peut accéder aux autres méthodes des services Web Account et Report. Pour ajouter des fichiers WSDL, vous devez les déployer sur un serveur accessible via l'Internet public. C'est à ce moment également que vous devez utiliser la classification UDDI.
Pour ajouter un tModel, il vous suffit de cliquer sur "Add a new tModel" dans la page d'administration (Figure 1). Vous devez alors indiquer des informations de base sur le tModel : son nom, sa description et l'emplacement du document WSDL. Par cette opération, vous classifiez le tModel en tant que document WSDL et publiez les informations sur le registre UDDI. Tout cela est plutôt simple. La figure 3 montre les informations entrées pour le tModel Logon.
Figure 3. Informations sur le tModel Logon
Sur l'écran suivant, vous pouvez ajouter les classifications des services et les identificateurs d'entreprise. Ces données sont les mêmes que celles que vous avez pu donner concernant les informations d'entreprise. Pour la classification des services, nous n'avons utilisé que la classification UDDI. Vous devrez cliquer sur différents liens de façon à spécifier les informations suivantes :
- Types utilisés pour les tModels
- Spécifications pour un service Web
- Spécifications pour un service Web décrit en WSDL
- Lors de l'enregistrement du service Favorites de Cold Rooster, j'ai suivi ces étapes pour Logon.WSDL, Account.WSDL et Report.WSDL. L'inscription dans le registre UDDI était alors terminée et les informations disponibles dans le registre.
Définition des services
Une fois que les tModels sont en place, vous devez encore ajouter les services pour déclarer que ces services existent. Pour cela, retournez à la page d'administration et vous verrez cette fois-ci apparaître votre entreprise dans la liste qui s'affiche sous "Add a new business" (figure 1). Sélectionnez votre entreprise et rendez-vous à "Services". Puis cliquez sur "Add a Service". À la première page, vous devez donner les détails relatifs au service. Pour le service Web de connexion, j'ai entré les informations suivantes :
- Name : Logon
- Description : Valide le détenteur de la licence et fournit un jeton d'accès
Cela fait, j'ai classifié le service une fois encore de la façon suivante : "Spécification d'un service Web décrit en WSDL". J'ai ensuite lié le service au tModel Logon déjà enregistré. Dans "Define a new binding", j'ai rempli les champs de la façon suivante :
- Access point : https://Coldrooster.com/SSF/Logon.asp
- URL type : http
- Description : Point de terminaison d'un service Web de connexion de Cold Rooster Consulting
Pour terminer cette opération, il me fallait associer le service au service Web Favorites : tModel Logon. Dans Specification Signatures, sélectionnez "Add specification signature". Pour voir les modèles classés par nom, entrez "Favorites Web Service". Vous verrez apparaître les trois tModels enregistrés pour le service Favorites. Sélectionnez "Favorites Web Service: Logon" et appuyez sur "Continue". Une page Web s'affiche sur laquelle vous devez éditer d'autres informations sur le point de terminaison. J'ai rempli ces champs de la façon suivante :
- Edit specification signature ; Description : Implémentation par Cold Rooster du service Web Favorites : tModel Logon
- Instance details ; Parameters : http://msdn.microsoft.com/library/?url=/library/en-us/dncold/html/ssfapiref.asp?frame=true
- Instance details ; Description : Document de référence API
- Overview document ; Document location : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncold/html/ssf1sec.asp
- Overview document; Description : Informations de sécurité côté serveur sur Favorites
Cela fait, j'ai cliqué à nouveau sur "Continue". J'ai pu alors revoir toutes les informations entrées pour le service de connexion avant de retourner à la page principale sur les données de l'entreprise et de publier le tout dans le registre UDDI. J'ai ensuite répété le même processus pour les services Web Account et Report.
Recherche des données
À ce jour (8 octobre 2001), seule une entreprise de Redmond est répertoriée selon la taxinomie GeoWeb : Cold Rooster Consulting. J'ai effectué une autre recherche, cette fois-ci sur la classification ISO 3166. J'ai obtenu le nom de neuf entreprises. Avec d'autres classifications, on obtient d'autres résultats. Avec les autres systèmes de classification, j'obtenais généralement plusieurs pages de résultats.
Les données pouvant maintenant être trouvées, les personnes recherchant des services Web capables de stocker leurs URL favorites devraient théoriquement adopter en masse la solution Cold Rooster. Pour ceux qui travaillent avec Microsoft® Visual Studio® .NET, il sera facile d'utiliser UDDI pour rechercher le service Web et l'ajouter à leur projet.
Lorsque vous entrez pour la première fois dans la boîte de dialogue Add Web Reference (ProjectAdd Web Reference), une boîte de dialogue s'affiche et vous permet de rechercher une référence Web (c'est-à-dire un fichier WSDL) via le serveur Microsoft UDDI. Le point de terminaison utilisé pour Visual Studio est http://uddi.microsoft.com/visualstudio/. Si je dis à ce point de terminaison de rechercher toutes les entreprises commençant par "cold", il ne trouvera que les trois services Web que j'ai enregistré : Account, Logon et Report. Pour ajouter une référence Web au service Web Logon, il me suffit de cliquer sur "Logon" pour étendre le nœud, puis sur "Favorites Web Service: Logon" pour voir le WSDL. Je dois ensuite cliquer sur "Add Reference" et je peux d'ores et déjà me connecter au service Web Favorites.
Si vous avez suivi la démarche jusqu'ici, mais que vous
n'avez pas de licence pour Favorites, rendez-vous sur Favorites
Service Admin Console
et inscrivez-vous. Vous obtiendrez votre
mot de passe dans les 15 à 30 minutes. Pour vous
connecter au service Web Logon à partir de Visual Basic,
le code est simple :
Sub Main()
Dim svc As New com.coldrooster.www.Logon()
System.Console.WriteLine(svc.Logon("NomLicencié", "Motdepasse"))
System.Console.WriteLine("Appuyez sur Retour pour quitter")
System.Console.ReadLine()
svc.Dispose()
End Sub
Ce code extrait le jeton GUID utilisé pour accéder aux autres méthodes disponibles pour le service Web Favorites. Pour les autres méthodes, le code est tout aussi facile à écrire.
Résumé
En enregistrant votre entreprise, les tModels
personnalisés et les services Web auprès d'UDDI, vous
aidez les développeurs du monde entier à trouver vos
services Web. Le registre UDDI vous permet d'exposer, outre les
points de terminaison de services Web et des informations
professionnelles, bien d'autres choses encore. Les personnes
qui ont recours à UDDI peuvent aussi utiliser l'interface
pour rechercher la documentation et les exemples relatifs
à un service Web. L'utilisation du registre Microsoft UDDI
est gratuite. Nous vous encourageons à inscrire vos
services Web et votre entreprise dans ce registre. Prenez le
temps de vous familiariser avec http://uddi.microsoft.com/
. Vous pouvez essayer de rechercher les
informations sur Cold Rooster Consulting et de les parcourir
pour voir toutes les données disponibles. Enfin, il serait
maintenant particulièrement opportun d'utiliser Visual
Studio .NET avec le service Favorites et de réaliser
vos propres expérimentations.
La prochaine fois, l'invité de cette rubrique sera Allen Wagner. Allen présentera les techniques de gestion des messages SOAP volumineux.
At Your Service
Scott Seely est membre de l'équipe MSDN Architectural Samples. Outre le travail présenté ici, il est l'auteur de deux livres publiés par Prentice Hall : SOAP: Cross Platform Web Service Development Using XML et Windows Shell Programming. Il a écrit et gère une petite bibliothèque SOAP basée C++ (http://www.scottseely.com/soap.htm), publiée sous la licence LGPL.
Dernière mise à jour le mardi 8 janvier 2002