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
Pour en savoir plus