You are on page 1of 171

Archifecfure des Services Web

Introduction uu Services Web-1


Archifecfure des Services Web
Introduction uu Services Web-Z
Les services web : premire upproche
Le Iunguge XML
Les services web : vue d'ensembIe
Les services
Les services
web
web
: premire upproche
: premire upproche
Le Iunguge XML
Le Iunguge XML
Les services
Les services
web
web
: vue d'ensembIe
: vue d'ensembIe
Archifecfure des Services Web
Introduction uu Services Web-3
Les services web : premire upproche
Le Iunguge XML
Les services web : vue d'ensembIe
Les services
Les services
web
web
: premire upproche
: premire upproche
Le Iunguge XML
Le Iunguge XML
Les services
Les services
web
web
: vue d'ensembIe
: vue d'ensembIe
Snse : urchitecture rpurties
Historique
Principes de buse
Archifecfure des Services Web
Introduction uu Services Web-4
Snse
Snse
: urchitectures rpurties
: urchitectures rpurties
Aujourd'hui, I'informofique d'enfreprise esf resoIumenf reporfie
Lo fechnoIogie cIienf/serveur rend direcfemenf occessibIes
oux consommofeurs, Ies informofions defenues por Ies
fournisseurs
Por exempIe, une bonque de depf offre ses cIienfs, Io
possibiIife de consuIfer Ieurs compfes por divers moyens :
MobiIe (Wop-WmI)
Infernef (Hffp-HfmI)
MinifeI
CeIo impIique une orchifecfure odopfofive ef ouverfe
Une mme oppIicofion de froifemenf (i.e. gesfion du compfe)
PIusieurs oppIicofions de mise en forme suivonf Ie conoI de
communicofion (i.e. offichoge en WML, en HTML, ...)
Archifecfure des Services Web
Introduction uu Services Web-
Snse
Snse
: urchitectures rpurties
: urchitectures rpurties
De Io mme foon, cerfoines informofions ou donnees peuvenf
fre pubIiees pour d'evenfueIs porfenoires ofin de commercioIiser
de nouveoux produifs finonciers
Ceffe nouveIIe oppIicofion vocofion 8Z8 s'oppuie sur Ies
oppIicofions de froifemenf exisfonfes
On porIe oIors d'ogregofion oppIicofive qui repose sur I'usoge, Io
combinoison d'oppIicofions exisfonfes.
Archifecfure des Services Web
Introduction uu Services Web-
Snse
Snse
: urchitectures rpurties
: urchitectures rpurties
L'exempIe Ie pIus iIIusfre d'orchifecfure ogregee nous esf fournif
por I'ogence de voyoge.
En effef, un produif voyoge esf en reoIife une combinoison de
pIusieurs produifs :
0esfion de reservofion des biIIefs de fronsporf
0esfion de reservofion des hfeIs
0esfion de reservofion des voifures de Iocofion
...
L'eIoborofion d'un produif voyoge esf bien Ie resuIfof
d'informofions recuperees ouprs de differenfs fournisseurs :
Compognies oeriennes
Chones hofeIIires
Loueurs de vehicuIes
...
Archifecfure des Services Web
Introduction uu Services Web-7
Snse
Snse
: urchitectures rpurties
: urchitectures rpurties
AppIicution Web
Service ProfiI CIient
Service rservution h5teI
Service rservution voiture
Service rservution biIIet
CIient
Archifecfure des Services Web
Introduction uu Services Web-
Snse
Snse
: urchitectures rpurties
: urchitectures rpurties
Sur Ie schemo precedenf, I'oppIicofion consuIfee por Ie cIienf mef en
uvre des oppIicofions reporfies pour sofisfoire so demonde
Dons ceffe mise en uvre oppIicofive, on porIe :
De fronsformofion, Iorsqu'iI s'ogif d'odopfer Ie dioIogue en foncfion du
profiI ufiIisofeur
D'ogregofion, Iorsqu'iI s'ogif de foire oppeI des oppIicofions proposees
por des porfenoires ou fournisseurs
Que ce soif de I'ogregofion ou de Io fronsformofion d'informofions,
Ies oppIicofions reoIisonf ces fches de foon compIfemenf
oufomofique ef opoque s'oppeIIenf des services web .
Archifecfure des Services Web
Introduction uu Services Web-9
Snse
Snse
: urchitectures rpurties
: urchitectures rpurties
Une oppIicofion web communiconfe resuIfe oIors d'un ossembIoge de
services web.
Cerfoins sonf infernes ef d'oufres exfernes ef fournis por divers
porfenoires ef fournisseurs
Les deux exfremifes de cef ossembIoge sonf :
Le fouf inferne : enfiremenf compose de services infernes, on porIe
oIors d'infegrofion d'oppIicofions d'enfreprise ou EAI
Le fouf exferne : enfiremenf compose de services exfernes, on porIe
oIors de porfoiI d'enfreprises.
Archifecfure des Services Web
Introduction uu Services Web-10
Historique
Historique
Mois qu'esf-ce qui differencie un service web d'une oppIicofion
disfonfe frodifionneIIe 7
L'hisfoire des orchifecfures reporfies esf poncfuee d'evoIufions Iiees
oux :
profocoIes d'echonges ef d'occs (Corbo, DCOM, PMI)
Iongoges d'impIemenfofion (C++, Jovo, SmoIIfoIk, efc.)
inferfoces (d'inferocfion ef de presenfofion)
Ces evoIufions sonf foujours pIus riches, pIus sophisfiquees, ef
souvenf pIus compIexes
EIIes imposenf de foif, des configurofions cIienfes suffisommenf
robusfes opfes recevoir de feIIes orchifecfures
Archifecfure des Services Web
Introduction uu Services Web-11
Historique
Historique
A confrorio, Ie web impose des moyens de communicofion
beoucoup pIus sommoires :
debif pIus foibIe
corocferisfiques profocoIoires de HTTP bien inferieures Corbo ou PMI
inferocfion ef presenfofion bien moins riches (hfmI)
Les configurofions cIienfs sonf frs Iegres (un simpIe novigofeur)
Aujourd'hui, Ie profocoIe du web esf universeIIemenf mis en uvre.
Le profocoIe du web devienf Ie moyen d'echonge inconfournobIe ds
Iors que I'on desire inferogir ovec oufrui (fonf en inferne qu'en
exferne)
Archifecfure des Services Web
Introduction uu Services Web-1Z
Historique
Historique
Lo quesfion essenfieIIe esf de sovoir si I'on peuf combiner :
Les corocferisfiques des orchifecfures disfribuees comme corbo ou rmi.
Ce fype d'orchifecfure esf devenue indispensobIe pour repondre oux besoins
en ferme compIexife des oppIicofions d'enfreprise
Les confroinfes imposees por Ie web, sovoir :
cIienf Ieger ef souvenf reduif un simpIe novigofeur
mise en uvre du profocoIe HTTP
Les services web permeffenf
d'offeindre cef objecfif
Archifecfure des Services Web
Introduction uu Services Web-13
Principes de buse
Principes de buse
Le modIe des services web repose sur Ie fronsporf d'une demonde
de service enfre un cIienf ef un serveur.
Le fronsporf esf ossure por Io suife de profocoIes infernef/web
consfifuee de TCP/IP ef HTTP
cIient
serveur
chunge support pur HTTP
Archifecfure des Services Web
Introduction uu Services Web-14
Principes de buse
Principes de buse
HTTP ne soif fronsporfer que du fexfe (Ies poges HTML)
Les echonges (requfes ef reponses) enfre Ie cIienf ef Ie serveur
sonf donc ou formof fexfe
Le formof fexfe (represenfofion de bose porfobIe sur foufe pIofe-
forme, ou codoge de corocfres prs) de represenfofion des
informofions esf XML
Les messoges fronsporfes sonf donc ou formof XML
cIient
serveur
Messuges XML
Archifecfure des Services Web
Introduction uu Services Web-1
Principes de buse
Principes de buse
Les services web moferioIise deux percepfions dons I'evoIufion des
orchifecfures.
Pussuge du web cIient uu web muchines
Adopfofion des orchifecfures disfribuees ou monde Web
Web UtiIisuteur cuructris pur :
Nuviguteur HTML
Contenu dynumique sur Ie serveur
Web muchine cuructris pur :
Communicution directe
entre uppIicutions
Archifecfure des Services Web
Introduction uu Services Web-1
Principes de buse
Principes de buse
Les services web moferioIise deux percepfions dons I'evoIufion des
orchifecfures.
Possoge du web cIienf ou web mochines
Aduptution des urchitectures distribues uu monde Web
Architectures distribues suvoir :
RPC RMI
Corbu DCOM JRMP
Nouveuu contete suvoir :
Web {HTTP}
XML
Archifecfure des Services Web
Introduction uu Services Web-17
Les services web : premire upproche
Le Iunguge XML
Les services web : vue d'ensembIe
Les services
Les services
web
web
: premire upproche
: premire upproche
Le Iunguge XML
Le Iunguge XML
Les services
Les services
web
web
: vue d'ensembIe
: vue d'ensembIe
Limites de HTML
Obgectifs de XML
Les domuines de noms - Numespuces XML
Les schmus XML
Archifecfure des Services Web
Introduction uu Services Web-1
Limites de HTML
Limites de HTML
En foif HTML esf frs bien odopfe Io creofion de sifes simpIes. Lo
fociIife d'opprenfissoge de HTML o grondemenf porficipe son
deveIoppemenf ouprs d'un pubIic pIus preoccupe por Io forme que
por Ie fond. Cependonf, Io demonde necessifonf de pIus en pIus
d'inferocfivife ef de dynomicife, HTML o vife offiche des Iimifes
difficiIemenf occepfobIes, principoIemenf :
un buIisuge prdfini duns Iu norme {n'uutorisunt pus Iu construction
de ses propres buIises et donc de ses propres outiIs}
Une gestion des Iiens trop simpIes {guste vers une uutre puge ou
purtie}
pur un geu de buIisuge ddi Iu mise en forme une dpendunce
trs forte du contenu et de Iu forme ce qui u pour consquences :
une interoprubiIit Iimite {chunge du contenu trs difficiIe entre
uppIicutions cf, point prcdent}
des recherches Iourdes et des rponses trs nombreuses {pus de notion
smuntique duns Iu dfinition des contenus}
Archifecfure des Services Web
Introduction uu Services Web-19
Limites de HTML
Limites de HTML
Pour iIIusfrer cerfoines des Iimifes de HTML, voici un exempIe :
<H2>Bibliographie XML</H2>
<UL>
<LI> Jean-Christophe Bernadac et Franois Knab, <I>Construire une application
XML</I>, Paris, Eyrolles, 1999</LI>
<LI> Alain Michard, <I>XML, Langage et Applications</I>, Paris, Eyrolles,
1998 </LI>
<LI> William J. Pardi, <I>XML en Action</I>, Paris, Microsoft Press, 1999,
adapt de l'anglais par James Guerin</LI>
</UL>
Archifecfure des Services Web
Introduction uu Services Web-Z0
Limites de HTML
Limites de HTML
Mous consfofons dons cef exempIe que Ies boIises HTML fournissenf
des indicofions qui vonf permeffre ou bufineur de meffre en poge (ou
en ecron) Ie fexfe queIIes encodrenf:
HZ ef /HZ signoIenf un fifre de niveou Z,
UL ef /UL une Iisfe non numerofee,
LI ef /LI un eIemenf de ceffe Iisfe,
I ef /I du fexfe en ifoIique.
Archifecfure des Services Web
Introduction uu Services Web-Z1
Limites de HTML
Limites de HTML
Si on effecfue I'offichoge du fexfe precedenf dons un novigofeur
HTML, on obfienf Ie resuIfof suivonf:
ibIiogruphie XML
Jeon-Chrisfophe 8ernodoc ef Fronois Inob, Consfruire une oppIicofion
XML, Poris, EyroIIes, I999
AIoin Michord, XML, Longoge ef AppIicofions, Poris, EyroIIes, I998
WiIIiom J. Pordi, XML en Acfion, Poris, Microsoff Press, I999, odopfe de
IongIois por Jomes 0uerin
Archifecfure des Services Web
Introduction uu Services Web-ZZ
Limites de HTML
Limites de HTML
Toufes Ies boIises dune poge HTML sonf donc reIofives so
presenfofion finoIe ef rien doufre. Pien ne permef un IogicieI de
connofre Ie sens (Io semonfique) du fexfe.
Aufremenf dif, dons nofre exempIe, iI nesf pos simpIe de de sovoir
que AIoin Michord esf Iuuteur dun Iivre infifuIe XML, Longoge ef
AppIicofions, qui esf poru en I998, donf Iditeur, EyroIIes, esf sifue
Poris.
Archifecfure des Services Web
Introduction uu Services Web-Z3
Obgectifs de XML
Obgectifs de XML
Lobjecfif mojeur de XML esf defendre Ies foncfionnoIifes de HTML ofin
de fociIifer Ies echonges d'informofions (orbifroiremenf compIexes depuis
I'opporifion des schemos).
Pour ceIo, on refrouve dons XML une generoIisofion des idees confenues dons
HTML ef surfouf dons S0ML (Sfondord 0eneroIi;ed Morkup Longuoge) fouf
en efonf pIus simpIe que ce dernier.
Les principoIes evoIufions vis--vis de HTML sonf :
Io definifion Iibre de nouveIIes boIises ef de nouveoux offribufs,
Ie supporf de sfrucfure compIexe de documenfs,
Io verificofion de Io sfrucfure dun documenf por ropporf une grommoire fype
defini dons un documenf oppeIe DTD (Documenf Type Descripfor).
Io seporofion enfre Ie confenu (documenf XML) ef Io mise en poge (feuiIIe de sfyIe
CSS ou XSL).
XML signifie eXtensibIe Murkup Lunguuge
XML peut tre dfini comme tunt un Iunguge de description et d'chunges
de donnes structurs
Archifecfure des Services Web
Introduction uu Services Web-Z4
Obgectifs de XML
Obgectifs de XML
XML o efe conu pour represenfer des documenfs (des donnees
sfrucfurees) suivonf Ies cinq grond principes suivonfs :
IisibiIife por I'homme ef Io mochine^
definifion non ombigue du confenu d'un documenf
definifion non ombigue de Io sfrucfure d'un documenf
seporofion enfre documenfs ef reIofions enfre documenfs
seporofion enfre sfrucfure du documenf ef presenfofion du documenf
^ Confroiremenf oux oppIicofions qui grenf des formof de donnees
binoires, comme Word, ExceI por exempIe, XML ne monipuIe que du
fexfe, en foif des suifes de corocfres. C'esf ce principe
eIemenfoire qui Ie rend porfobIe, puisque foufes Ies pIofes-forme
comprennenf sons excepfion ce formof de represenfofion. Le fexfe
o foujours efe Ie formof de communicofion enfre Ies oppIicofions
(IOP Corbo sous forme Texfe) ou enfre progromme ef ufiIisofeur
(foSfring de Jovo ou SmoIIfoIk pour Io represenfofion exferne sous
forme de chones de corocfres)
Archifecfure des Services Web
Introduction uu Services Web-Z
Obgectifs de XML
Obgectifs de XML
Voici ce que donneroif Io mme poge si eIIe efoif codee en XML
-?mI version="1,0" encoding="ISO-9-1"?>
-ILIO SUJECT="XML">
-OOk ISN="97ZZ1Z09019" LANS="fr" SUJECT="uppIicutions">
-AUTHOR>
-FIRSTNAME>Jeun-Christophe-/FIRSTNAME>
-LASTNAME>ernuduc-/LASTNAME>
-/AUTHOR>
-AUTHOR>
-FIRSTNAME>Frunois-/FIRSTNAME>
-LASTNAME>knub-/LASTNAME>
-/AUTHOR>
-TITLE>Construire une uppIicution XML-/TITLE>
-PULISHER>
-NAME>EyroIIes-/NAME>
-PLACE>Puris-/PLACE>
-/PULISHER>
-DATEPU>1999-/DATEPU>
-/OOk>
Archifecfure des Services Web
Introduction uu Services Web-Z
Obgectifs de XML
Obgectifs de XML
Voici ce que donneroif Io mme poge si eIIe efoif codee en XML (suife)
-OOk ISN="97ZZ1Z090Z9" LANS="fr" SUJECT="gnruI">
-AUTHOR>
-FIRSTNAME>AIuin-/FIRSTNAME>
-LASTNAME>Michurd-/LASTNAME>
-/AUTHOR>
-TITLE>XML Lunguge et AppIicutions-/TITLE>
-PULISHER>
-NAME>EyroIIes-/NAME>
-PLACE>Puris-/PLACE>
-/PULISHER>
-DATEPU>199-/DATEPU>
-/OOk>
-OOk ISN="97Z40Z" LANS="fr" SUJECT="uppIicutions">
-AUTHOR>
-FIRSTNAME>WiIIium J,-/FIRSTNAME>
-LASTNAME>Purdi-/LASTNAME>
-/AUTHOR>
-TRANSLATOR PREFIX="udupt de I'ungIuis pur">
-FIRSTNAME>Jumes-/FIRSTNAME>
-LASTNAME>Suerin-/LASTNAME>
-/TRANSLATOR>
-TITLE>XML en Action-/TITLE>
-PULISHER>
-NAME>Microsoft Press-/NAME>
-PLACE>Puris-/PLACE>
-/PULISHER>
-DATEPU>1999-/DATEPU>
-/OOk>
-/ILIO>
Archifecfure des Services Web
Introduction uu Services Web-Z7
Obgectifs de XML
Obgectifs de XML
Ici oucune des boIises ne decrif Io presenfofion finoIe. On remorque,
en revonche, que moinfenonf Ies boIises onf un sens ef une hierorchie.
Por exempIe, IeIemenf "oufhor" comprend Ie prenom (boIise
"firsfnome") ef Ie nom (boIise "Iosfnome") de Ioufeur.
On remorque oussi que des informofions suppIemenfoires (Iongue,
sujef, n IS8M), onf pu fre ojoufees sous forme d"offribufs" sifues
Iinferieur mme des boIises.
Archifecfure des Services Web
Introduction uu Services Web-Z
Obgectifs de XML
Obgectifs de XML
Le mme fichier XML offiche por Microsoff Infernef ExpIorer b (en
Iobsence dune feuiIIe de sfyIe) sous forme dorborescence depIiobIe
ef repIiobIe (Ie signe "-" indique une bronche depIiee, Ie signe "+" une
bronche repIiee)
Archifecfure des Services Web
Introduction uu Services Web-Z9
Les domuines de noms {
Les domuines de noms {
numespuces
numespuces
} XML
} XML
LinferoperobiIife de XML suppose qu'iI soif possibIe que des documenfs
confiennenf des boIises reufiIisobIes consfifuonf des vocobuIoires, des
grommoires de differenfes specioIifes (mofhemofiques, bioIogie, ...).
II esf donc couronf de meffre en oeuvre pIusieurs DTD (provenonf de
pIusieurs domoines de specioIife) pour consfruire un documenf XML.
Des confIifs de noms peuvenf oIors survenir si deux eIemenfs porfenf des
noms idenfiques dons deux DTD differenfes (por exempIe odresse peuf
represenfer une odresse d'expedifion ou une odresse moiI).
Les domoines de noms (XML nomespoces) sonf une recommondofion du
W3C (ropidemenf odopfee oprs XML I.0) pour resoudre Ie probIme de
confIifs de noms dons un documenf XML. Le principe consisfe prefixer
choque nom deIemenf por un nom unique qui idenfifie Ie domoine
ouqueI iI foif reference.
Archifecfure des Services Web
Introduction uu Services Web-30
Les domuines de noms {
Les domuines de noms {
numespuces
numespuces
} XML
} XML
Les ovonfoges de ceffe sfrucfurofion :
Les espoces de noms permeffenf de Iever Ies umbiguts sur des eIemenfs de
DTD differenfes qui porferoienf Ie mme nom (nom de produif, nom de
personne, ..)
Les espoces de noms fovorisenf Iu moduIurit des documenfs XML ef Ies
sources muIfipIes de ces derniers
Les espoces de nom permeffenf, indirecfemenf, de rendre pIus IisibIe un
documenf XML confenonf des informofions de sources diverses
Archifecfure des Services Web
Introduction uu Services Web-31
Les domuines de noms {
Les domuines de noms {
numespuces
numespuces
} XML
} XML
Les Momespoces onf un sfofuf de recommondofion du I4 Jonvier I999,
donf Ies specificofions sonf disponibIes :
hffp://www.w3.org/TP/I999/PEC-xmI-nomes-I9990II4
Un espoce de noms esf decIore Ioide de Ioffribuf mIns:
Soif en decIoronf Iespoce de nom dons IeIemenf
EIemenfDuDocumenf xmIns~UriDTDoImporfer"
ExempIe dufiIisofion sons prefixe
seminoire mIns~"hffp//www.uniIog.fr/seminoire"
Soif en ossocionf un prefixe pour une ufiIisofion pIus fin
EIemenfDuDocumenf xmIns:Prefixe~UriDTDoImporfer"
ExempIe dufiIisofion ovec prefixe
seminoire mIns:sem~"hffp//www.uniIog.fr/seminoire"
....
sem:dute/
Pour ossurer I'unicife des domoines, on o recours oux UPI (Uniform Pessourc Idenfifier), Ie moyen
sfondord pour occeder des ressources infernef.
Archifecfure des Services Web
Introduction uu Services Web-3Z
Les schmus XML
Les schmus XML
XML, origineIIemenf conu pour Io pubIicofion de documenfs, o connu une
forfe mufofion pour permeffre I'echonge de donnees queIconques.
Lo DTD, Ie Iongoge de schemo ocfueI, ne definif que Io sfrucfure du
documenfs XML
XML schemo o pour vocofion de decrire fouf fype de sfrucfure de
donnees, depuis Ies modIes des boses de donnees reIofionneIIes ou
modIe objef des Iongoges objefs comme Jovo, en possonf por Io
descripfion des sfrucfures des documenfs XML
Archifecfure des Services Web
Introduction uu Services Web-33
Les schmus XML
Les schmus XML
Le modIe des DTD presenfenf Ies foibIesses suivonfes :
Les DTD ne sonf pos ecrifes en XML, ce qui signifie que Ies fechnoIogies
exisfonfes pour monipuIer des documenfs XML feIIes que DOM ou SAX ne
peuvenf fre ufiIisees pour porser des schemos de documenfs.
Les DTD ne supporfenf pos Ies espoces de nom ce qui rend impossibIe Iimporf
de schemos exfernes ofin de reufiIiser du code exisfonf.
Les DTD noffrenf quun fypoge frs Iimife des donnees.
Archifecfure des Services Web
Introduction uu Services Web-34
Les schmus XML
Les schmus XML
Conscienf de ces fcheuses Iimifofions, Ie W3C o propose un nouveou
Iongoge de definifion de schemo, XML Schemo.
Conu pour poIIier Ies foibIesses des DTD, XML Schemo propose, en pIus
des foncfionnoIifes fournies por Ies DTD, des nouveoufes
Un grond nombre de fypes de donnees infegrees comme Ies booIeens, Ies
enfiers, Ies infervoIIes de femps, efc. De pIus, iI esf possibIe de cree de
nouveoux fypes por ojouf de confroinfes sur un fype exisfonf.
Des fypes de donnees ufiIisofeurs qui vous permeffenf de creer vofre propre
fype de donnees nomme.
Lo nofion dherifoge. Les eIemenfs peuvenf herifer du confenu ef des
offribufs dun oufre eIemenf. Cesf sons oucun doufe Iinnovofion Io pIus
inferessonfe de XML Schemo.
Le supporf des espoces de nom.
Les indicofeurs doccurrences des eIemenfs peuvenf fre fouf nombre non
negofif.
Une gronde fociIife de concepfion moduIoire de schemos
Archifecfure des Services Web
Introduction uu Services Web-3
Les schmus XML
Les schmus XML
XML Schemo o un sfofuf de recommondofion du Z Moi Z00I, donf Ies
specificofions sonf disponibIes :
hffp://www.w3.org/TP/Z00I/PEC-xmIschemo-0-Z00I0b0Z/ (Porf 0: Primer)
hffp://www.w3.org/TP/Z00I/PEC-xmIschemo-I-Z00I0b0Z/ (Porf I:
Sfrucfures)
hffp://www.w3.org/TP/Z00I/PEC-xmIschemo-Z-Z00I0b0Z/ (Porf Z:
Dofofypes)
Archifecfure des Services Web
Introduction uu Services Web-3
Les schmus XML
Les schmus XML
ExempIe de DTD pour represenfer un documenf Livre
lELEMEMT Livre (Tifre, Aufeur, Dofe, IS8M, Edifeur)
lELEMEMT Tifre (#PCDATA)
lELEMEMT Aufeur (#PCDATA)
lELEMEMT Dofe (#PCDATA)
lELEMEMT IS8M (#PCDATA)
lELEMEMT Edifeur (#PCDATA)
Archifecfure des Services Web
Introduction uu Services Web-37
Les schmus XML
Les schmus XML
Schemo ossocie
xsd:eIemenf nome~"Livre"
xsd:compIexType
xsd:sequence
xsd:eIemenf ref~" Tifre " minOccurs~"I" moxOccurs~"I"/
xsd:eIemenf ref~" Aufeur " minOccurs~"I" moxOccurs~"I"/
xsd:eIemenf ref~"Dofe" minOccurs~"I" moxOccurs~"I"/
xsd:eIemenf ref~"IS8M" minOccurs~"I" moxOccurs~"I"/
xsd:eIemenf ref~" Edifeur " minOccurs~"I" moxOccurs~"I"/
/xsd:sequence
/xsd:compIexType
/xsd:eIemenf
xsd:eIemenf nome~"Tifre" fype~"xsd:sfring"/
xsd:eIemenf nome~"Aufeur" fype~"xsd:sfring"/
xsd:eIemenf nome~"Dofe" fype~"xsd:sfring"/
xsd:eIemenf nome~"IS8M" fype~"xsd:sfring"/
xsd:eIemenf nome~"Edifeur" fype~"xsd:sfring"/
Archifecfure des Services Web
Introduction uu Services Web-3
Les schmus XML
Les schmus XML
Les schemos XML permeffenf donc de represenfer des mefo-
donnees pour decrire des sfrucfures orbifroiremenf compIexes
Les porseurs boses sur Ies schemos XML sonf desormois disponibIes,
oIIegeonf oinsi Ie frovoiI des oppIicofions monipuIonf Ies documenfs
L'occs Io descripfion compIfe des sfrucfures de donnees fovorise
I'oufomofisofion des echonges enfre oppIicofions
Por exempIe, Ies schemos XML sonf forfemenf ufiIises :
Dons Ies gesfionnoires de boses reIofionneIIes pour imporfer ou exporfer
Ies mefo-donnees
Dons Ies serveurs d'oppIicofions pour decrire precisemenf Ies
depIoiemenfs, Ies configurofions des composonfs
Archifecfure des Services Web
Introduction uu Services Web-39
Les services web : premire upproche
Le Iunguge XML
Les services web : vue d'ensembIe
Les services
Les services
web
web
: premire upproche
: premire upproche
Le Iunguge XML
Le Iunguge XML
Les services
Les services
web
web
: vue d'ensembIe
: vue d'ensembIe
Les services web c'est quoi ?
Les services web pourquoi
Les usuges
Les ucteurs {r5Ies}
Le scnurio compIet
Les technoIogies
Archifecfure des Services Web
Introduction uu Services Web-40
Les Services Web c'est quoi ?
Les Services Web c'est quoi ?
Avonf foufe oufre chose, Io fechnoIogie des services web offiche
Ies mmes infenfions que Ies orchifecfures Ies pIus onciennes en
ferme d'occs disfonf, comme Ies monifeurs TP.
C'esf Io possibiIife d'invoquer une foncfion disfonfe. En
I'occurrence, sur un serveur web disfonf puisque Ie profocoIe de
bose esf HTTP
On dispose d'une infrosfrucfure soupIe bosee sur XML pour Ies
sysfmes disfribues heferognes
Archifecfure des Services Web
Introduction uu Services Web-41
Les Services Web c'est quoi ?
Les Services Web c'est quoi ?
IIs sonf occessibIes vio Ie web por des profocoIes bien connus
IIs sonf decrifs porfir de XML
IIs inferogissenf vio XML
IIs sonf IocoIisobIes porfir de regisfres
IIs sonf enfiremenf fronsversoux oux pIofes-formes ef frs
foibIemenf coupIes
Archifecfure des Services Web
Introduction uu Services Web-4Z
Les Services Web c'est quoi ?
Les Services Web c'est quoi ?
IIs infroduisenf un nouveou modIe de deveIoppemenf bose sur ce
que I'on oppeIIe Ies orchifecfures orienfees services
Une orchifecfure orienfee services se focoIise sur une
decomposifion pIus obsfroife dons Io resoIufion des probImes. On
porIe de resoIufion dirigee por Ies services.
Un service resouf un probIme donne
Les services peuvenf fre combines pour resoudre des probImes
de pIus en pIus compIexes
Archifecfure des Services Web
Introduction uu Services Web-43
Les Services Web c'est quoi ?
Les Services Web c'est quoi ?
Les fches ossociees Io monipuIofion des services web sonf :
Inferroger un onnuoire : qui fournif des choses donf on ne connof pos
forcemenf Io nofure, Ie rIe ou Ie confenu
Megocier ovec Ies fournisseurs pofenfieIs de ces choses pour
connofre :
Mofure exocfe du service fourni
QuoIife/cof/efc.
Inferogir ovec Ie service du fournisseur choisi pour :
Connofre Ies modoIifes d'inferocfion
Infroduire Ie service dons mo chone de froifemenfs
EvenfueIIemenf composer des services
EvenfueIIemenf pubIier mes propres services
Archifecfure des Services Web
Introduction uu Services Web-44
Les Services Web c'est quoi ?
Les Services Web c'est quoi ?
L'ovonfoge essenfieI des services web concerne Ie foif que Ie
cIienf consommofeur n'o pos besoin de connofre I'idenfife du
fournisseur du service
Le cIienf doif simpIemenf exprimer son besoin
Foce un besoin, pIusieurs fournisseurs de services peuvenf
exisfer
Chocun oyonf des corocferisfiques de cof, de performonce, de
fiobiIife, efc.
Le cIienf choisif Ie fournisseur (i.e. Ie service) correspondonf Ie
mieux ses besoins.
Archifecfure des Services Web
Introduction uu Services Web-4
Les Services Web pourquoi ?
Les Services Web pourquoi ?
Lorsque I'on o besoin d'inferoperobiIife dons des environnemenfs
oppIicofifs disfribues
Les services peuvenf communiquer enfre eux, ef ceIo depuis des
environnemenfs oppIicofifs disfonfs
Lorsque I'on veuf occeder oux oppIicofions frovers Ies pore-feux
Les services web sonf definis ef occedes ovec XML sur des
profocoIes sfondords comme HTTP ef SMTP. IIs peuvenf oIors fre
invoques frovers un pore-feux.
Lorsque I'on veuf profifer de differenfs environnemenfs ef
Iongoges de deveIoppemenf
Por une descripfion ef une invocofion XML, Ies services web sonf frs
fIexibIes ef independonfs des Iongoges ef des sysfmes.
Archifecfure des Services Web
Introduction uu Services Web-4
Les usuges
Les usuges
Les services web pour represenfer des oppIicofions sophisfiquees
bien deIimifees ef sons forfe inferocfivife.
Por exempIe, une oppIicofion qui donne Ies condifions du femps peuf
fre ideoIemenf represenfee por un service.
Les services web sonf odopfes pour I'ossembIoge de composonfs
foibIemenf coupIes.
IIs sonf definis de foon independonfe, mois peuvenf inferogir.
Les services web sonf odopfes Io represenfofion d'oppIicofion
orienfees messoges.
Les meconismes d'invocofion osynchrone des oppIicofions orienfees
messoges sonf en fonf de bonnes condidofes oux services web
Archifecfure des Services Web
Introduction uu Services Web-47
Les usuges
Les usuges
Les services web servenf
de bose I'infegrofion
d'oppIicofions foibIemenf
coupIees
AppIicution Web
Service ProfiI CIient
Service rservution h5teI
Service rservution voiture
Service rservution biIIet
CIient
Archifecfure des Services Web
Introduction uu Services Web-4
Les ucteurs {r5Ies}
Les ucteurs {r5Ies}
Les principoux ocfeurs dons Io fechnoIogie des services web sonf :
Le cIienf : ceIui qui ufiIise, invoque Ie service web
Le fournisseur : ceIui qui fournif Ie service web
L'onnuoire : ceIui qui defienf Ies informofions du service web
Archifecfure des Services Web
Introduction uu Services Web-49
Les ucteurs {r5Ies}
Les ucteurs {r5Ies}
Le cIienf ef Ie fournisseur sonf Ies eIemenfs principoux dons
I'orchifecfure des services web
Un fournisseur esf represenfe por un serveur d'oppIicofion (JZEE
por exempIe)
Le fournisseur defienf un ou pIusieurs services qui sonf
represenfes por des EJ8s ou des servIefs ef qui sonf enveIoppes
d'une couche service
Le fournisseur peuf fre Ie cIienf d'un oufre fournisseur
(inferoperobiIife)
Une fois Ie service definif, iI peuf fre decIore dons un onnuoire,
on porIe oIors de pubIicofion du service ofin de Ie rendre
occessibIe oux cIienfs
Archifecfure des Services Web
Introduction uu Services Web-0
Le
Le
scenurio
scenurio
compIet
compIet
Efope I : definifion, descripfion du service
On doif decrire d'un poinf de vue informofique ce que foif Ie service,
Io soIufion qu'iI propose, ...
Lo definifion esf foife on WSDL ou sein du fournisseur de services
(i.e. Ie serveur d'oppIicofions)
Efope Z : pubIicofion du service
Une fois Ie service definif ef decrif en fermes de mise en oeuvre, iI
peuf fre decIore dons un onnuoire, on porIe oIors de pubIicofion du
service ofin de Ie rendre occessibIe oux cIienfs.
Comme on Ie verro, Io pubIicofion sero effecfue ou sein d'un onnuoire
dedie UDDI.
Efope 3 : recherche du service
Le cIienf se connecfe, sur un onnuoire (UDDI) pour effecfuer une
recherche de service.
Archifecfure des Services Web
Introduction uu Services Web-1
Le
Le
scenurio
scenurio
compIet
compIet
Efope 4 : enregisfremenf ou service web
Une fois Ie service frouve por Ie cIienf, ce dernier doif s'enregisfrer
ouprs du fournisseur ossocie ou service. Cef enregisfremenf indique
ou fournisseur I'infenfion du cIienf d'ufiIiser Ie service suivonf Ies
condifions decrifes dons Io pubIicofion.
Efope b : mise en oeuvre du service
Le cIienf peuf invoquer Ie service suivonf Ies condifions inscrifes ou
sein de I'onnuoire Iors de Io pubIicofion du service web (efope Z)
Efope o : composifion
C'esf Io possibiIife de combiner pIusieurs services. En foif, un service
peuf devenir Ie cIienf d'un oufre service.
Archifecfure des Services Web
Introduction uu Services Web-Z
Le
Le
scenurio
scenurio
compIet
compIet
AppIicution cIiente
Dispose IocoIemenf de Io
descripfion du service ou
Pecherche Io descripfion du
service dons un onnuoire
Documenf WSDL ossure Io
correspondonce ovec Ie
fournisseur de service
Fournisseur de service
Propose IimpIemenfofion
dun Web Service
Fournif une descripfion du
service (documenf WSDL)
PubIie ceffe descripfion
dons un onnuoire
Annuuire de pubIicution
Dispose de Io descripfion
des services oinsi que de
Ieur IocoIisofion, c'esf--
dire des differenfs
fournisseurs
Archifecfure des Services Web
Introduction uu Services Web-3
Le
Le
scenurio
scenurio
compIet
compIet
Archifecfure des Services Web
Introduction uu Services Web-4
Une urchitecture dg connue
Une urchitecture dg connue
1 Eposition
Z PubIicution 3 Recherche
4 Rcuprution
AppeI
AppeI 7 AppeI
Retour 9 Retour 10 Retour
Les orchifecfures Corbo, EJ8 ou PMI monipuIenf ces concepfs depuis forf
Iongfemps
Archifecfure des Services Web
Introduction uu Services Web-
Les technoIogies
Les technoIogies
Les eIemenfs fechniques ufiIises sonf differenfs puisque imposes
por Ie Web ef XML
L'orchifecfure des Web Services repose essenfieIIemenf sur Ies
fechnoIogies suivonfes :
SOAP - SimpIe Obgect Access ProtocoI
ProfocoIe pour Io communicofion enfre Web Services
IIOP pour Corbo ou PMI-IIOP pour Ies EJ8s
WSDL - Web Service Description Lunguuge
Longoge de descripfion de I'inferfoce du Web Service
IDL pour Corbo ou Inferfoce Jovo pour Ies EJ8s
UDDI - UniversuI Description Discovery und Integrution
Annuoire pour Ie referencemenf du Web Service
CosMoming pour Corbo ou JMDI pour Ies EJ8s
Archifecfure des Services Web
Introduction uu Services Web-
Les technoIogies
Les technoIogies
Un Web Service esf une oppIicofion depIoyee sur un serveur Web
(serveur d'objefs).
Supporfer des Web Services opporfe une inferoperobiIife
cerfoine ef une gronde fIexibiIife puisqu'iI s'ogif de cooperofion
enfre objefs disfonfs por Ie biois du Web (TCP/IP - HTTP).
Archifecfure des Services Web
Introduction uu Services Web-7
Les technoIogies
Les technoIogies
PiIe de profocoIe


Documenf XML decrivonf Ie service ofin de
rendre Io soIufion des Web Services generique

WSDL

ProfocoIe bose sur Ie sfondord XML pour
I'echonge de donnees sfrucfurees enfre des
oppIicofions reseoux

SOAP

Couche reseou
(HyperTexf Tronsfer ProfocoI)

HTTP



Couches de bose permeffonf I'inferoperobiIife des
Web Services
Archifecfure des Services Web
Introduction uu Services Web-
Les technoIogies
Les technoIogies
Afin d'fre decouverf, un service doif fre pubIie.
Au dessus de ces frois couches de bose viennenf se
greffer deux couches UDDI :



Decouverfe de services

UDDI

PubIicofion de services

UDDI


On pubIie nofre service vio Ie documenf WSDL
ouprs de nofre onnuoire UDDI.


Une oppIicofion cIienfe peuf decouvrir ef occeder
nofre service Iors de son execufion vio un onnuoire
UDDI.

Archifecfure des Services Web
Introduction uu Services Web-9
Le protocoIe SOAP
Le protocoIe SOAP
PIe
Assure Ies oppeIs de procedures disfonce ou dessus d'un profocoIe
de fronsporf
Foncfionnemenf cfe CIienf
Ouverfure dune connexion HTTP
Pequfe SOAP esf un documenf XML decrivonf :
une mefhode invoquer sur une mochine disfonfe
Ies poromfres de Io mefhode
Foncfionnemenf cfe Serveur SOAP
Pecupre Io requfe
Execufe Io mefhode ovec Ies poromfres
Penvoie une reponse SOAP (documenf XML) ou cIienf
Archifecfure des Services Web
Introduction uu Services Web-0
Le protocoIe SOAP
Le protocoIe SOAP
rseau
Service Requestor
Demandeur de service
Service Provider
Fournisseur de service
Client Client
SOAP SOAP
dispatcheur dispatcheur
Serveur Serveur
HTTP HTTP
TOMCAT TOMCAT
impl impl mentation mentation
Requ Requ te SOAP te SOAP
R R ponse SOAP ponse SOAP
Archifecfure des Services Web
Introduction uu Services Web-1
Le Iunguge WSDL
Le Iunguge WSDL
Une inferfoce qui coche Ie defoiI de I'impIemenfofion du service,
permeffonf une ufiIisofion independonfe :
de Io pIofe-forme ufiIisee
du Iongoge ufiIise
Le fichier WSDL esf ou formof XML ef regroupe foufes Ies
informofions necessoires pour inferogir ovec Ie Web Service :
Ies mefhodes
Ies poromfres ef voIeurs refournees
Ie profocoIe de fronsporf ufiIise
Io IocoIisofion du service
Documenfs WSDL, generes por Ies oufiIs de deveIoppemenf
fovorisenf une infegrofion ropide du service
Archifecfure des Services Web
Introduction uu Services Web-Z
Le Iunguge WSDL
Le Iunguge WSDL
Z fypes de documenfs WSDL :
Ie documenf WSDL decrivonf I'inferfoce du service
Ie documenf WSDL decrivonf I'impIemenfofion du service
Documenfs indispensobIes ou depIoiemenf de Web Services
PubIicofion ef recherche de services ou sein de I'onnuoire UDDI se
fonf vio ces Z fypes de documenf WSDL
Pour I'occs un service porficuIier, un cIienf se voif refourne I'UPL du
fichier WSDL decrivonf I'impIemenfofion du service. SeuI I'empIocemenf
de ce fichier WSDL esf indique puisque ce dernier reference I'oufre
documenf WSDL decrivonf I'inferfoce de mise en uvre du service.
Archifecfure des Services Web
Introduction uu Services Web-3
Annuuire UDDI
Annuuire UDDI
PIe
Specificofion pour Io definifion dun service de regisfre
Fournisseur
DecIorofion du fournisseur
Enregisfremenf de ses Web Services disponibIes
CIienf
Pequfe de recherche de Web Services (SOAP)
Mise en reIofion ovec Ie Web Service dun fournisseur
Archifecfure des Services Web
Introduction uu Services Web-4
Le fournisseur de services
Le fournisseur de services
description
dpIoiement
pubIicution
Service
Provider
Annuuire UDDI
impImentution
serveur web
ServIet
SOAP
WSDL
Description du service
Archifecfure des Services Web
Introduction uu Services Web-
Schmu fonctionneI
Schmu fonctionneI
Archifecfure des Services Web
Introduction uu Services Web-
Le protocoIe SOAP
Le Iunguge WSDL
L'unnuuire UDDI
Le protocoIe SOAP
Le protocoIe SOAP
Le Iunguge WSDL
Le Iunguge WSDL
L'unnuuire UDDI
L'unnuuire UDDI
Archifecfure des Services Web
Introduction uu Services Web-7
Le protocoIe SOAP
Le Iunguge WSDL
L'unnuuire UDDI
Le protocoIe SOAP
Le protocoIe SOAP
Le Iunguge WSDL
Le Iunguge WSDL
L'unnuuire UDDI
L'unnuuire UDDI
SOAP c'est quoi ?
Les principes
Historique
Les messuges SOAP
Architecture technique c5t cIient
Architecture technique c5t serveur
Archifecfure des Services Web
Introduction uu Services Web-
SOAP c'est quoi ?
SOAP c'est quoi ?
SOAP esf un profocoIe de fronsmission de messoges.
II definif un ensembIe de rgIes pour sfrucfurer des messoges
principoIemenf pour execufer des dioIogues requfe-reponse de
fype PPC (Pemofe Procedure CoII).
II nesf pos Iie un profocoIe porficuIier mois HTTP esf popuIoire.
II nesf pos non pIus Iie un sysfme dexpIoifofion ni un Iongoge
de progrommofion, donc, fheoriquemenf, Ies cIienfs ef serveurs de
ces dioIogues peuvenf fourner sur nimporfe queIIe pIofe-forme ef
fre ecrifs dons nimporfe queI Iongoge du momenf quiIs puissenf
formuIer ef comprendre des messoges SOAP.
Archifecfure des Services Web
Introduction uu Services Web-9
SOAP c'est quoi ?
SOAP c'est quoi ?
Pour comprendre, imoginons une bose de donnees frs simpIe
dune enfreprise, comprenonf une fobIe specifionf :
Ie numero de reference,
Ie nom,
Ie numero de feIephone des empIoyes.
On desire meffre en pIoce un service qui permef doufres
sysfmes de Io compognie de consuIfer ces donnees.
Le service refourne un nom ef un numero de feIephone (un fobIeou
de chones de corocfres deux eIemenfs) pour un numero de
reference dempIoye donne (un enfier).
Voici Io signofure Jovo de ce service :
Sfring[] gefEmpIoyeeDefoiIs ( inf empIoyeeMumber ),
Archifecfure des Services Web
Introduction uu Services Web-70
SOAP c'est quoi ?
SOAP c'est quoi ?
L'opproche SOAP consisfe :
encopsuIer Io Iogique de requfe de Io bose de donnees du service
(i.e. impIemenfofion), dons une mefhode Jovo por exempIe
puis demorrer un fhreod qui ecoufe Ies requfes odressees ce
service (un ecoufeur ou Iisfener), ces requfes efonf formuIees dons
un formof SOAP ef confenonf Ie nom du service ef Ies poromfres
requis.
Le Iisfener decode Io requfe SOAP enfronfe ef Io fronsforme en un
oppeI de Io mefhode vers I'objef concerne.
II recupre Ie resuIfof de IoppeI de Io mefhode, Iencode dons un
messoge SOAP (Io reponse) ef Ie renvoie ou demondeur.
CeIo donne:
Archifecfure des Services Web
Introduction uu Services Web-71
SOAP c'est quoi ?
SOAP c'est quoi ?
L'orchifecfure fechnique permeffonf ceffe mise en uvre peuf-
fre por exempIe :
Une bose de donnees OrocIe .
Lo mefhode du service esf ecrife en Jovo ef se connecfe Io bose de
donnees vio un piIofe JD8C pour OrocIe.
Le Iisfener esf une ServIef Jovo fournonf dons un mofeur de servIef
comme Tomcof.
Lo servIef o occs des cIosses Jovo copobIes dencoder ef de
decoder des messoges SOAP (feI que Apoche SOAP for Jovo) ef
ecoufe ces messoges en fonf que HTTP POST. Le fronsporf esf HTTP
por TCP/IP. Le cIienf esf un fobIeou exceI. II ufiIise une mocro V8 qui,
son four, expIoife Ie TooIkif Microsoff SOAP pour encoder une
requfe SOAP ef decoder Io reponse reue.
Archifecfure des Services Web
Introduction uu Services Web-7Z
SOAP c'est quoi ?
SOAP c'est quoi ?
L'orchifecfure fechnique esf iIIusfree por Io figure suivonfe :
Mofe; que du cfe cIienf, Io mocro V8 repose sur Ie TooIkif
Microsoff SOAP (Ies DLLs SOAP) ef une inferfoce HTTP
Connecfor. De feIs DLLs HTTP Connecfor sonf fypiquemenf
dej insfoIIes en fonf que composonf de Infernef ExpIorer. Du
cfe serveur, nofer que Ie pockoge SOAP repose sur un
Porser XML qui onoIyse Ies messoges SOAP. Dons Ie cos de
SOAP Apoche pour Jovo, ce sero Xerces.
Archifecfure des Services Web
Introduction uu Services Web-73
SOAP c'est quoi ?
SOAP c'est quoi ?
Les inferfs d'une feIIe orchifecfure sonf muIfipIes vis--vis d'un
modIe cIienf/serveur de donnees ovec procedures sfockees por
exempIe :
L'envoi ou Io recepfion de donnees sfrucfurees ef orbifroiremenf
compIexes
Seporofion des definifions mefiers, des froifemenfs, des donnees
occedees
L'ufiIisofion de sources de donnees Jovo DofoSources (ce sonf des
piIofes PMI, middIewore d'occs oux donnees disfonfes) impose
I'ufiIisofion du Iongoge Jovo
Archifecfure des Services Web
Introduction uu Services Web-74
SOAP c'est quoi ?
SOAP c'est quoi ?
COP8A ouforise, comme SOAP d'ovoir :
des fypes compIexes de donnees
des cIienfs ef serveurs dons fous Iongoges ef pIofe-formes
une seporofion de Io couche mefier
SOAP esf pIus odopfe Io nofion de services web , cor :
Corbo exige de compiIer ef disfribuer des sfubs cIienf pour choque
fype de cIienfs.
L'occs oux objefs disfonfs Corbo por IIOP (Ie profocoIe de Corbo)
nesf pos porficuIiremenf odopfe oux firewoII, ce qui pose probImes
dons une visibiIife infernef
II esf primordioI de comprendre que SOAP esf un profocoIe bose sur XML ef en consequence,
porficuIiremenf verbeux. COP8A, ou frovers de IIOP, esf pIus performonf cor Ies operofions de
conversion ef de deconversion (morshoIIing ef demorshoIIing) sonf pIus efficoces puisque Ies donnees en
formof binoire (CDP Common Dofo Pepresenfofion).
Archifecfure des Services Web
Introduction uu Services Web-7
Historique
Historique
Annees 80 : COP8A ef DCOM
Specificofion d'inferfoce en IDL
Forfemenf orienfes objef
CoupIoge forf enfre Ies sysfmes
XML-PPC (I999)
Messoges XML
Envoi de formuIoire (HTTP-POST),
Pos exfensibIe, fypes de donnees Iimifes.
Archifecfure des Services Web
Introduction uu Services Web-7
Les points forts
Les points forts
ProfocoIe de communicofion enfre oppIicofions
8ose sur XML ef Ies nomespoces.
Communicofion por Ie Web (HTTP / SMTP / ,)
Independonf de Io pIofeforme (windows, unix, moc, ,)
SimpIe ef exfensibIe
8ienff un sfondord w3c (SOAP I.Z).
Archifecfure des Services Web
Introduction uu Services Web-77
Les principes
Les principes
Permef d'envoyer des messoges XML enfre deux mochines.
Les messoges sonf emboIIes dons une enveIoppe SOAP
L'enveIoppe SOAP esf une grommoire predefinie
Lo grommoire du messoge depend de I'oppIicofion
EnveIoppe repose sur
une grummuire SOAP
identique pour tous Ies
messuges
Le messuge est
dpendunt de
I'uppIicution puisqu'iI
indique Iu mthode et
Ies purumtres
Archifecfure des Services Web
Introduction uu Services Web-7
Les principes
Les principes
ModIe pour Ie PPC :
Messoge Pequesf invoque une mefhode d'un objef disfonf
Messoge Pesponse renvoie Ie resuIfof de son execufion
Encodoge de fypes de donnees des Iongoges de progrommofion,
comme :
TobIeoux,
Enregisfremenfs,
,
A nofer, encore une fois, que ceIo esf herife du modIe des
schemos XML qui permeffenf Io represenfofion de sfrucfures de
donnees orbifroiremenf compIexes (orbres, poinfeurs, ...)
Archifecfure des Services Web
Introduction uu Services Web-79
Les principes
Les principes
UfiIisobIe ovec des profocoIes :
Synchrones : HTTP,
Asynchrones : SMTP, JMS, ,
0esfion des erreurs (SOAP FouIf)
Enffes (SOAP Heoder) :
ufiIisofion de mefo-donnees pour un ou pIusieurs desfinofoires du
messoge qui peuvenf chocun modifier Ies enffes (oudif, suivi, efc.).
Une spec du w3c en cours de finoIisofion (SOAP I.Z)
Vers pIus de moduIorife
mois oussi pIus de compIexife.
Archifecfure des Services Web
Introduction uu Services Web-0
Les messuges SOAP : prsentution
Les messuges SOAP : prsentution
<soap:Envelope
xmlns:soap=http://www.w3.org/2001/12/soap-envelope
soap:encodingStyle=http://www.w3.org/2001/12/soap-encoding>
<soap:Header>
,
</soap:Header>
<soap:Body>
,
<soap:Fault>
,
</soap:Fault>
</soap:Body>
</soap:Envelope>
Archifecfure des Services Web
Introduction uu Services Web-1
Les messuges SOAP : prsentution
Les messuges SOAP : prsentution
Un messoge SOAP voIide esf un documenf XML correcfemenf
forme.
Le proIogue XML peuf fre presenf, mois dons ce cos, ne doif
confenir quune decIorofion XML (c--d. quiI ne doif confenir ni
reference un DTD, ni insfrucfion XML).
Le messoge doif ufiIiser IenveIoppe SOAP ef Ies nomespoces
dencodoge SOAP, ef doif ovoir Io forme suivonfe:
Une decIorofion XML (opfionneIIe)
Une EnveIoppe SOAP (IeIemenf rocine) qui esf composee de :
Une En-ffe SOAP (opfionneI)
Un Corps SOAP
Archifecfure des Services Web
Introduction uu Services Web-Z
Les messuges SOAP : eempIe
Les messuges SOAP : eempIe
Un dioIogue PPC encode por SOAP confienf un messoge de requfe
ef un messoge de reponse.
Considerons Io mefhode dun service simpIe qui doubIe Io voIeur
dun enfier donne donf voici Io signofure Jovo :
inf doubIeAnInfeger ( inf numberToDoubIe ),
Archifecfure des Services Web
Introduction uu Services Web-3
Les messuges SOAP : eempIe
Les messuges SOAP : eempIe
Voici un exempIe de requfe SOAP sur un service definissonf Io
mefhode decrife precedemmenf :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:doubleAnInteger
xmlns:ns1="urn:MySoapServices">
<param1 xsi:type="xsd:int">123</param1>
</ns1:doubleAnInteger>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Archifecfure des Services Web
Introduction uu Services Web-4
Les messuges SOAP : eempIe
Les messuges SOAP : eempIe
Voici un exempIe de reponse SOAP sur un service definissonf Io
mefhode decrife precedemmenf :
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:doubleAnIntegerResponse
xmlns:ns1="urn:MySoapServices"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:int">246</return>
</ns1:doubleAnIntegerResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Archifecfure des Services Web
Introduction uu Services Web-
Les messuges SOAP : Ie proIogue
Les messuges SOAP : Ie proIogue
Le proIogue XML confienf seuIemenf une decIorofion XML 7xmI
version~"I.0" encoding~"UTF-8" 7 specifionf Io version de XML ef
Iencodoge des corocfres du messoge XML.
Archifecfure des Services Web
Introduction uu Services Web-
Les messuges SOAP : I'enveIoppe
Les messuges SOAP : I'enveIoppe
Lo boIise de IEnveIoppe SOAP SOAP-EMV:EnveIope ... dons Ie
messoge de requfe specifie fouf dobord Ie sfyIe dencodoge
(defini dons hffp://schemos.xmIsoop.org/soop/encoding/). Ceffe
boIise esf opfionneIIe comme cesf Ie cos dons Ie messoge de
reponse.
LEnveIoppe SOAP confienf egoIemenf des definifions de
nomespoces. Les idenfifionfs des nomespoces sonf sfondords ef Io
specificofion SOAP demonde ce que ces nomespoces soienf
definis correcfemenf ou pos du fouf (c--d quun messoge SOAP
dons IequeI monquenf des definifions de nomespoces esf correcf
ef peuf fre expIoife mois un messoge confenonf des definifions
incorrecfes, c--d non sfondords, esf mouvois ef refuse). Mofe;
que Io definifion du nomespoce SOAP-EMC esf obsenf du messoge
de reponse mois ceIo ne signifie pos que Ie messoge esf invoIide.
Archifecfure des Services Web
Introduction uu Services Web-7
Les messuges SOAP : I'entte
Les messuges SOAP : I'entte
II ny o pos de fog heoder (en-ffe) SOAP dons cef exempIe.
Les en-ffes SOAP sonf opfionneIIes ef sonf fypiquemenf ufiIisees
pour fronsmeffre des donnees doufhenfificofion ou de gesfion de
session.
A nofer que Ioufhenfificofion ef Io gesfion de session sonf en
dehors du codre du profocoIe SOAP, mme si Ies concepfeurs de
SOAP ouforisenf une cerfoine fIexibiIife dons Io fronsmission de
messoges SOAP, de feIIe foon que Ies personnes qui Ies
impIemenfenf puissenf incIure de feIIes informofions.
Archifecfure des Services Web
Introduction uu Services Web-
Les messuges SOAP : Ie corps
Les messuges SOAP : Ie corps
Lo boIise SOAP 8ody (Ie corps) SOAP-EMV:8ody qui no rien de
remorquobIe en eIIe-mme mois encopsuIe une unique boIise de
mefhode qui porfe Ie nom de Io mefhode eIIe-mme
nsI:doubIeAnInfeger ... (ou, Ie mme nom suivi du mof
"Pesponse" dons Ie cos du messoge de reponse).
Lo boIise de Io mefhode reoif fypiquemenf Ie nomespoce
correspondonf ou nom du service, dons nofre cos
urn:MySoopServices pour ossurer Iunicife (un service web, qui
peuf confenir nimporfe queI nombre de mefhodes nommees
differemmenf, o un nom de service unique IUPL sur IoqueIIe iI
esf occessibIe
Archifecfure des Services Web
Introduction uu Services Web-9
Les messuges SOAP : Ie corps
Les messuges SOAP : Ie corps
Lo boIise de mefhode encopsuIe son four nimporfe queI nombre
de poromfres comme por exempIe Io boIise poromI ...
Les noms des boIises de poromfres peuvenf fre de n'imporfe
queI nom qui peuf fre oufogeneres ou defini expIicifemenf
Dons Ie messoge de reponse, iI ny o quune seuIe boIise de
poromfre (represenfonf Io voIeur de refour de Io mefhode). EIIe
porfe Ie nom refurn
Archifecfure des Services Web
Introduction uu Services Web-90
Les messuges SOAP : compIments
Les messuges SOAP : compIments
Lune des corocferisfiques Ies pIus inferessonfes du profocoIe
SOAP esf so copocife gerer des poromfres de fouf niveou de
compIexife.
Ceffe copocife esf direcfemenf deduife du modIe des schemos
XML ef consisfe froifer des fypes primififs (enfier, chone de
corocfres efc...), des fobIeoux ef sfrucfures ef foufes
combinoisons de ceux-ci.
Voyons pour finir, quoi ressembIenf Ies dioIogues SOAP pour des
mefhodes ovec des fypes de poromfres ef de refour compIexes.
Archifecfure des Services Web
Introduction uu Services Web-91
Les messuges SOAP : compIments
Les messuges SOAP : compIments
Dons Ies fronsporenfs suivonfs, nous donnons Ie dioIogue resuIfonf
de IoppeI de Io version inifioIe de gefEmpIoyeeDefoiIs comme
decrife precedemmenf.
Dons ceffe version, Ie cIienf envoie un enfier (I'idenfificofion de
I'empIoye) ef reoif un fobIeou de chones de corocfres deux
eIemenfs confenonf :
Ie nom de IempIoye
ef Ie numero de feIephone
Dons Io boIise refurn du messoge de reponse, nous ovons Ie fype
de Io sfrucfure compIexe (Ie fobIeou de choines), sovoir :
xsi:fype~"nsZ:Arroy" nsZ:orroyType~"xsd:sfring[Z]"
Archifecfure des Services Web
Introduction uu Services Web-9Z
Les messuges SOAP : compIments
Les messuges SOAP : compIments
Voici un exempIe de requfe SOAP pour nofre nouveou service :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:getEmployeeDetails
xmlns:ns1="urn:MySoapServices">
<param1 xsi:type="xsd:int">1016577</param1>
</ns1:getEmployeeDetails>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Archifecfure des Services Web
Introduction uu Services Web-93
Les messuges SOAP : compIments
Les messuges SOAP : compIments
Voici un exempIe de requfe SOAP pour nofre nouveou service :
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:getEmployeeDetailsResponse
xmlns:ns1="urn:MySoapServices"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return
xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:Array"
ns2:arrayType="xsd:string[2]">
<item xsi:type="xsd:string">Bill Posters</item>
<item xsi:type="xsd:string">+1-212-7370194</item>
</return>
</ns1:getEmployeeDetailsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Archifecfure des Services Web
Introduction uu Services Web-94
StyIe RPC ou DOC
StyIe RPC ou DOC
SfyIe PPC
AppeIs de procedures disfonfs
Poromfres proches des fypes des Iongoges de progrommofion
Degre eIeve d'oufomofisofion
SfyIe DOC
Echonges de messoges conformes des schemos orbifroires (Ex:
Demonde d'ochof).
PIus d'expressivife
Encouroge por .Mef
Archifecfure des Services Web
Introduction uu Services Web-9
Synchrone ou Asynchrone
Synchrone ou Asynchrone
Aujourd'hui : beoucoup de services synchrones,
ou dessus d'HTTP.
AppeIs bIoquonfs
Pos de goronfies (fimeouf 7)
PIus robusfe : Echonges osynchrones
SMTP, JMS, ,
Mon-bIoquonfs
0oronfies de service (ExocfIy Once)
Archifecfure des Services Web
Introduction uu Services Web-9
Architecture technique c5t cIient
Architecture technique c5t cIient
Les messoges envoyes ou serveur seronf des requfes SOAP-XML
enveIoppees dons des requfes HTTP.
De mme, Ies reponses du serveur sonf des reponses HTTP qui
renfermenf des reponses SOAP-XML.
Du cfe cIienf, pour ne pos prendre en chorge Io serioIisofion
SOAP ef Iencodoge HTTP, nous ufiIisons un pockoge SOAP
specifique.
Mous invoquons ensuife Ie service, simpIemenf en invoquonf Io
mefhode oppropriee du pockoge SOAP (fypiquemenf en specifionf
IUPL du service, Ie nom du service ef fous Ies poromfres requis).
Le premier frovoiI dun pockoge esf de serioIiser I invocofion de
ce service en requfe SOAP. II doif ensuife encoder ce messoge
dons une requfe HTTP ef Ienvoyer IUPL specifiee.
Archifecfure des Services Web
Introduction uu Services Web-97
Architecture technique c5t cIient
Architecture technique c5t cIient
Mous verrons Io foon donf Ie serveur froife Io requfe, mois pour
I'heure, iI nous renvoie Ie messoge encode HTTP confenonf Io
reponse SOAP.
Mous nous reposons sur Ie mme pockoge SOAP pour execufer
Iinverse de ce qui fuf foif ou sfode de Io requfe, cesf--dire
que Ie pockoge decode Ie messoge HTTP ef exfroif Ie messoge
SOAP, ensuife deserioIise Ie messoge SOAP ef obfienf Io voIeur
de refour de IoppeI de Io mefhode. Ceffe voIeur de refour
frouvee esf ensuife possee comme voIeur de refour Iinvocofion
originoIe de Io mefhode por Ie code cIienf.
Archifecfure des Services Web
Introduction uu Services Web-9
Architecture technique c5t cIient
Architecture technique c5t cIient
Le code cIienf cree un oppeI de service en invoquonf Io mefhode oppropriee du pockoge SOAP (I). Le
serioIiseur SOAP du pockoge SOAP converfif ceffe invocofion en requfe SOAP ef Ienvoie Iencodeur
HTTP (Z). Lencodeur HTTP enveIoppe Ie messoge SOAP dons une requfe HTTP ef Ienvoie ou serveur
SOAP (3). Lo reponse esf reue por Ie moduIe dencodoge/decodoge HTTP du serveur SOAP(4), ce moduIe
decode ef exfroif Io reponse SOAP qui Io remef ou deserioIiseur SOAP (b). Le deserioIiseur SOAP
deserioIise Ie messoge ef posse Ie resuIfof ou code cIienf (o) comme voIeur de refour de Iinvocofion
originoIe (I).
Archifecfure des Services Web
Introduction uu Services Web-99
Architecture technique c5t serveur
Architecture technique c5t serveur
II esf imporfonf de se roppeIer que Ie choix du Iongoge, de pIofe-
forme ef de pockoge SOAP pour consommer des services web du
cfe cIienf esf enfiremenf independonf du Iongoge, de Io pIofe-
forme ef du pockoge SOAP ufiIises por Ie cfe serveur pour
fournir des services web.
De ceffe foon, Ie mme service web bose sur SOAP (depIoye por
exempIe sur UMIX, ecrif en Jovo ef expIoifonf Apoche SOAP pour
Jovo) peuf fre consomme por fouf fype de cIienf ecrif pour
nimporfe queIIe pIofe-forme, dons nimporfe queI Iongoge,
expIoifonf nimporfe queI pockoge SOAP oppIicobIe ceffe
combinoison Iongoge/pIofe-forme. Cesf Iune des grondes forces
de Io fechnoIogie SOAP.
Archifecfure des Services Web
Introduction uu Services Web-100
Architecture technique c5t serveur
Architecture technique c5t serveur
Cesf Iegremenf pIus compIexe puisque nous ovons besoin dun
process "Iisfener" (Le Lisfener esf Ie process serveur qui esf en
offenfe de connexion cIienf). Mous ovons egoIemenf besoin dune
impIemenfofion du service Iui-mme. A porf ceIo, nous nous
reposons sur un pockoge SOAP de Io mme foon que du cfe
cIienf.
Le Iisfener esf souvenf impIemenfe ou frovers dune servIef qui
sexecufe comme une oppIicofion web sur un oppserver (comme
cesf Ie cos Iorsque nous ufiIisons Apoche SOAP du cfe serveur).
Le serveur sero configure pour posser foufes Ies requfes
desfinees une cerfoine UPL (IUPL du service SOAP) une
servIef porficuIier (oppeIons-Io servIef SOAP).
Le frovoiI de Io servIef SOAP esf dexfroire Ie messoge XML-
SOAP de Io requfe HTTP, de Ie deserioIiser (de ce foif, seporer
Ie nom de Io mefhode ef Ies poromfres fournis), ef dinvoquer Io
mefhode du service en consequence. Le resuIfof de Io mefhode esf
oIors serioIise, encode HTTP ef renvoye ou demondeur.
Archifecfure des Services Web
Introduction uu Services Web-101
Architecture technique c5t serveur
Architecture technique c5t serveur
Le serveur doppIicofion web reoif une requfe HTTP du CIienf SOAP desfinee IUPL de service SOAP(I) ef, en consequence
de quoi, Ie posse Io servIef SOAP (Z). Lo servIef SOAP ufiIise Ies foncfionnoIifes de decodoge SOAP ef HTTP incIuses dons Ie
pockoge pour exfroire Ies defoiIs de IoppeI des services (3 ef 4), cesf--dire Ie nom ef Ies poromfres de Io mefhode. Une fois
muni de ceux-ci, Io servIef SOAP peuf invoquer Io mefhode (b ef o), encoder Io reponse (7 ef 8) ef fournir Io reponse HTTP ou
hondIer de requfes HTTP (9), qui son four, repond ou cIienf SOAP (I0)
Archifecfure des Services Web
Introduction uu Services Web-10Z
Le protocoIe SOAP
Le Iunguge WSDL
L'unnuuire UDDI
Le protocoIe SOAP
Le protocoIe SOAP
Le Iunguge WSDL
Le Iunguge WSDL
L'unnuuire UDDI
L'unnuuire UDDI
Prsentution
Structure
EempIe
Archifecfure des Services Web
Introduction uu Services Web-103
Prsentution
Prsentution
Une inferfoce qui coche Ie defoiI de I'impIemenfofion du service,
permeffonf une ufiIisofion independonfe :
de Io pIofe-forme ufiIisee
du Iongoge ufiIise
Le fichier WSDL esf ou formof XML ef regroupe foufes Ies
informofions necessoires pour inferogir ovec Ie Web Service :
Ies mefhodes
Ies poromfres ef voIeurs refournees
Ie profocoIe de fronsporf ufiIise
Io IocoIisofion du service
Documenfs WSDL, generes por Ies oufiIs de deveIoppemenf
fovorisenf une infegrofion ropide du service
Archifecfure des Services Web
Introduction uu Services Web-104
Prsentution
Prsentution
Z fypes de documenfs WSDL :
Ie documenf WSDL decrivonf I'inferfoce du service
Ie documenf WSDL decrivonf I'impIemenfofion du service
Documenfs indispensobIes ou depIoiemenf de Web Services
PubIicofion ef recherche de services ou sein de I'onnuoire UDDI se
fonf vio ces Z fypes de documenf WSDL
Pour I'occs un service porficuIier, un cIienf se voif refourne I'UPL du
fichier WSDL decrivonf I'impIemenfofion du service. SeuI I'empIocemenf
de ce fichier WSDL esf indique puisque ce dernier reference I'oufre
documenf WSDL decrivonf I'inferfoce de mise en uvre du service.
Archifecfure des Services Web
Introduction uu Services Web-10
Structure
Structure
Un documenf WSDL esf consfifue de pIusieurs porfies permeffonf
Io pIus gronde obsfrocfion possibIe dons Io definifion des services.
Ces differenfs eIemenfs permeffenf de seporer Ies briques
hobifueIIemenf mises en jeu dons I'ufiIisofion des services
Ces briques sonf pour I'essenfieI :
L'odresse o esf sifue Ie service
Le profocoIe ossocie I'ufiIisofion du service
L'ensembIe des operofions occessibIes
Les fypes de donnees vehicuIer dons Ies operofions
...
Archifecfure des Services Web
Introduction uu Services Web-10
Structure
Structure
Dons un documenf WSDL, on frouvero o porfies permeffonf Io
seporofion donf nous venons de porIer.
Les quofre premires porfies decrivenf des informofions
obsfroifes independonfes d'un confexfe de mise en uvre. On y
frouve :
Ies fypes de donnees envoyees ef reues
Ies operofions ufiIisobIes
Ie profocoIe qui sero ufiIise,
Les deux dernires porfies decrivenf des informofions Iiees un
usoge confexfeI du service. On y frouve :
I'odresse du fournisseur impIemenfonf Ie service,
Ie service qui esf represenfe por Ies odresses des fournisseurs
Archifecfure des Services Web
Introduction uu Services Web-107
Structure
Structure
Les quofre premires porfies, decrivonf Ies informofions
obsfroifes independonfes, sonf Ies suivonfes :
Purtie 1 - Les types
Un fype decrif Io sfrucfure de donnee fronsmise dons un messoge.
Purtie Z - Les messuges
Un messoge decrif I'ensembIe des donnees fronsmises ou cours de
I'operofion (ce peuf fre une requfe ou une reponse)
Purtie 3 - Les types de ports
Un fype de porf esf compose de I'ensembIe des operofions obsfroifes
oppIicobIes ou service.
Purtie 4 - Les Iiuisons
Lo Iioison decrif Io foon donf un ensembIe d'operofions obsfroifes,
oppeIe fype de porf , esf Iie un porf seIon un profocoIe reeI
Archifecfure des Services Web
Introduction uu Services Web-10
Structure
Structure
Les deux dernires porfies, decrivonf des informofions Iiees un
usoge confexfe du service, sonf Ies suivonfes :
Purtie - Les ports
Un porf specifie une odresse qui esf ossociee une Iioison
definissonf un simpIe poinf de ferminoison
Purtie - Le service
Un service esf decrif comme un ensembIe de poinfs finoux du reseou
oppeIes porfs
Archifecfure des Services Web
Introduction uu Services Web-109
Structure
Structure
EempIe : Iu gestion de compte
Pour iIIusfrer Ie rIe des differenfes porfies, nous oIIons prendre
comme supporf, une oppIicofion frs simpIe de gesfion de compfe,
donf voici Io definifion de I'inferfoce Jovo :
import java.util.*;
public interface CompteInterface {
public void depotDe(int montant);
public boolean retraitDe(int montant);
public int valeurDuSolde();
public Vector listeMouvements();
}
Archifecfure des Services Web
Introduction uu Services Web-110
Structure
Structure
Purtie 1 - Les types
Un fype decrif Io sfrucfure de donnees fronsmise dons un
messoge. Por exempIe, dons Io gesfion de compfe, Io mefhode
IisfeMouvemenfs refourne un Vecfor. Mous ourons oIors Io
descripfion de ce fype, comme iIIusfre ici :
<wsdl:types>
<schema targetNamespace="http://xml.apache.org/xml-soap"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="Vector">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item"
type="xsd:anyType" />
</sequence>
</complexType>
</schema>
</wsdl:types>
A noter que duns cet
eempIe nous
n'uurons que cette
dcIurution de type,
Les uutres sont des
types primitifs connus
de WSDL,
Le fype defini
Le fype esf une sequence WSDL
Une Iisfe d'eIemenfs
de foiIIe queIconque ef
donf Ies eIemenfs sonf de
fype queIconque
Archifecfure des Services Web
Introduction uu Services Web-111
Structure
Structure
Purtie Z - Les messuges
Un messoge decrif fous Ies cos d'usoge d'une operofion (ceIo
recouvre I'oppeI, i.e. Io requfe HTTP, ef Ie refour, i.e. Io reponse
HTTP).
Por exempIe, dons Io gesfion de compfe, Io mefhode
IisfeMouvemenfs disposero de deux messoges (un pour I'oppeI ef
un pour Io reponse). Mous ourons oIors Io descripfion de ces deux
messoges, comme iIIusfre ici :
<wsdl:message name="listeMouvementsRequest" />
<wsdl:message name="listeMouvementsResponse">
<wsdl:part name="listeMouvementsReturn" type="apachesoap:Vector" />
</wsdl:message>
Archifecfure des Services Web
Introduction uu Services Web-11Z
Structure
Structure
Purtie Z - Les messuges
Ainsi, comme expIique precedemmenf, nous ourons pour choque
mefhode decIoree dons nofre inferfoce, ef consideree comme
occessibIe por Ie cIienf, deux messoges.
Dons nofre exempIe, nous ourons :
<wsdl:message name="listeMouvementsRequest" />
+ <wsdl:message name="depotDeRequest">
<wsdl:part name="in0" type="xsd:int" />
</wsdl:message>
+ <wsdl:message name="listeMouvementsResponse">
<wsdl:part name="listeMouvementsReturn" type="apachesoap:Vector" />
</wsdl:message>
+ <wsdl:message name="valeurDuSoldeResponse">
<wsdl:part name="valeurDuSoldeReturn" type="xsd:int" />
</wsdl:message>
<wsdl:message name="depotDeResponse" />
<wsdl:message name="valeurDuSoldeRequest" />
+ <wsdl:message name="retraitDeResponse">
<wsdl:part name="retraitDeReturn" type="xsd:boolean" />
</wsdl:message>
+ <wsdl:message name="retraitDeRequest">
<wsdl:part name="in0" type="xsd:int" />
</wsdl:message>
Archifecfure des Services Web
Introduction uu Services Web-113
Structure
Structure
Purtie 3 - Les types de ports
Un fype de porf esf compose de I'ensembIe des operofions
obsfroifes oppIicobIes ou service. On enfend por operofion
obsfroife, Io signofure de Io mefhode (i.e. Io decIorofion dons une
inferfoce Jovo ou dons un fichier WSDL). Une operofion esf
composee d'une sequence de messoges (en foif un pour I'oppeI ef
un pour Ie refour) un mode d'invocofion porficuIier du
service. Por exempIe, dons un confexfe composonfs disfribues, on
enfend por mode d'invocofion, une mefhode disfonfe oppIicobIe ou
service.
En reprenonf nofre exempIe, pour Io mefhode IisfeMouvemenfs,
nous ourons oIors Ies deux messoges ossocies :
<wsdl:operation name="listeMouvements">
<wsdl:input message="impl:listeMouvementsRequest"
name="listeMouvementsRequest" />
<wsdl:output message="impl:listeMouvementsResponse"
name="listeMouvementsResponse" />
</wsdl:operation>
Archifecfure des Services Web
Introduction uu Services Web-114
Structure
Structure
Purtie 3 - Les types de ports
Pour nofre exempIe compIef, nous ourons oIors Io definifion d'un
seuI fype de porf, ceIui correspondonf ou service Compfe , ovec
Ies 4 operofions obsfroifes, correspondonf oux 4 decIorofions de
mefhodes dons I'inferfoce Jovo :
<wsdl:portType name="Compte">
+ <wsdl:operation name="depotDe" parameterOrder="in0">
<wsdl:input message="impl:depotDeRequest" name="depotDeRequest" />
<wsdl:output message="impl:depotDeResponse" name="depotDeResponse" />
</wsdl:operation>
+ <wsdl:operation name="retraitDe" parameterOrder="in0">
<wsdl:input message="impl:retraitDeRequest" name="retraitDeRequest" />
<wsdl:output message="impl:retraitDeResponse" name="retraitDeResponse" />
</wsdl:operation>
+ <wsdl:operation name="valeurDuSolde">
<wsdl:input message="impl:valeurDuSoldeRequest
name="valeurDuSoldeRequest" />
<wsdl:output message="impl:valeurDuSoldeResponse
name="valeurDuSoldeResponse" />
</wsdl:operation>
- <wsdl:operation name="listeMouvements">
<wsdl:input message="impl:listeMouvementsRequest"
name="listeMouvementsRequest" />
<wsdl:output message="impl:listeMouvementsResponse
name="listeMouvementsResponse" />
</wsdl:operation>
</wsdl:portType>
Le nom du fype de porf
Le nom de I'operofion
Lo sequence des messoges
Io consfifuonf
Un poromfre en enfree
Archifecfure des Services Web
Introduction uu Services Web-11
Structure
Structure
Purtie 4 - Les Iiuisons
Une Iioison decrif Io foon donf un fype de porf (en d'oufres
fermes I'obsfrocfion du service, i.e. ses operofions obsfroifes) esf
mis en uvre pour un profocoIe porficuIier (HTTP por exempIe) ef
un mode d'invocofion (PPC por exempIe). Ceffe descripfion esf
foife pour un ensembIe donne d'operofions obsfroifes.
Pour un fype de porf, on peuf ovoir pIusieurs Iioisons, pour
differencier Ies modes d'invocofion (PPC ou oufres) ou de
fronsporf (HTTP ou oufre) des differenfes operofions.
Comme precedemmenf, nous oIIons decrire Ies Iioisons sur nofre
exempIe de gesfion de compfe.
Pour des roisons de foiIIe (Ie Iongoge WSDL esf frs verbeux),
nous ne decrirons Io Iioison que d'une seuIe operofion obsfroife.
Archifecfure des Services Web
Introduction uu Services Web-11
Structure
Structure
Purtie 4 - Les Iiuisons
<wsdl:binding name="CompteServiceBobSoapBinding" type="impl:Compte">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="depotDe">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="depotDeRequest">
<wsdlsoap:body
encodingStyle=http://schemas.xmlsoap.org/soap/encoding/
namespace="http://localhost:8080/axis/services/CompteServiceBob"
use="encoded" />
</wsdl:input>
<wsdl:output name="depotDeResponse">
<wsdlsoap:body
encodingStyle=http://schemas.xmlsoap.org/soap/encoding/
namespace=http://localhost:8080/axis/services/CompteServiceBob
use="encoded" />
</wsdl:output>
</wsdl:operation>
...
</wsdl:operation>
Le nom de Io Iioison Le fype de porf concerne
Le mode d'invocofion
Le profocoIe
Le nom de I'operofion dons
Ie fype de porf
Lo represenfofion du messoge requesf
Lo represenfofion du messoge response
Pour un mme porf (Compfe por exempIe), on peuf ovoir pIusieurs Iioisons qui
correspondenf des mises en uvre profocoIoires differenfes des operofions du service.
On ne refrouve pos dons Ies Iioisons differenfes, Ies mmes operofions du service. On
peuf imoginer que I'operofion IisfeMouvemenfs soif osynchrone.
Archifecfure des Services Web
Introduction uu Services Web-117
Structure
Structure
Purtie - Les ports
Un porf specifie une odresse UPL qui correspond
I'impIemenfofion du service por un fournisseur.
Le porf esf ossociee une Iioison definissonf oinsi un simpIe
poinf de ferminoison
<wsdl:port binding="impl:CompteServiceBobSoapBinding "name="CompteServiceBob">
<wsdlsoap:address location="http://localhost:8080/axis/services/CompteServiceBob" />
</wsdl:port>
Le nom de Io Iioison ossociee
Le nom du porf
L'odresse definissonf Ie endPoinf
Comme indique precedemmenf, pour un mme porf
(Compfe por exempIe), on peuf ovoir pIusieurs
Iioisons qui correspondenf des mises en uvre
profocoIoires differenfes des operofions du
service. On refrouve donc ici, Ies porfs ossocies
oux differenfes Iioisons definies.
Archifecfure des Services Web
Introduction uu Services Web-11
Structure
Structure
Purtie - Le service
Un service esf decrif comme un ensembIe de poinfs finoux du
reseou oppeIes porfs
<wsdl:service name="CompteService">
<wsdl:port binding="impl:CompteServiceBobSoapBinding" name="CompteServiceBob">
<wsdlsoap:address location="http://localhost:8080/axis/services/CompteServiceBob" />
</wsdl:port>
</wsdl:service>
Le nom de Io Iioison ossociee ou porf
Le nom du porf
L'odresse definissonf Ie endPoinf
Le nom du service qui encopsuIe Ies porfs
Archifecfure des Services Web
Introduction uu Services Web-119
Le protocoIe SOAP
Le Iunguge WSDL
L'unnuuire UDDI
Le protocoIe SOAP
Le protocoIe SOAP
Le Iunguge WSDL
Le Iunguge WSDL
L'unnuuire UDDI
L'unnuuire UDDI
UDDI prsentution
UDDI description
Informutions mtier de I'entreprise
Informutions sur Ie service mtier
Informutions de Iiuison
Informutions techniques
UtiIisution de UDDI
Archifecfure des Services Web
Introduction uu Services Web-1Z0
UDDI prsentution
UDDI prsentution
UDDI (UniversoI Descripfion, Discovery ond Infegrofion),
sfondord ne sous I'inifiofion de Microsoff, I8M en ffe ef d'un
grond nombre d'indusfrieIs donf Sun, OrocIe, Compoq, HP, InfeI,
SAP, efc.
Sfondord pour fociIifer Io coIIoborofion enfre porfenoires dons Ie
codre d'echonges commercioux
Le cur de UDDI esf un onnuoire qui confienf des informofions
fechniques ef odminisfrofives sur Ies enfreprises ef Ies services
qu'eIIes pubIienf
Archifecfure des Services Web
Introduction uu Services Web-1Z1
UDDI prsentution
UDDI prsentution
L'onnuoire UDDI permef de :
pubIier des informofions sur une enfreprise ef ses services
decouvrir des informofions sur une enfreprise ef ses services
L'inscripfion sur UDDI permef une enfreprise de se presenfer
oinsi que ses services
L'odopfion de UDDI fociIife Ie deveIoppemenf des echonges de
fype 8Z8
L'enregisfremenf des services dons un onnuoire s'effecfue oprs
d'un operofeur (Microsoff ou I8M ocfueIIemenf) frovers son sife
Archifecfure des Services Web
Introduction uu Services Web-1ZZ
UDDI prsentution
UDDI prsentution
Diverses recherches peuvenf fre effecfuees, comme :
recherche por cofegorie d'enfreprise en ufiIisonf des foxonomies ou
des idenfificofions d'enfreprise
recherche d'un service porficuIier
Por une API SOAP, on peuf inferogir ovec UDDI ou momenf de Io
concepfion ef de I'execufion des oppIicofions ofin de decouvrir des
donnees fechniques sur Ies enfreprises ef Ieurs services.
Les services oinsi decouverfs peuvenf ensuife fre ufiIises
Archifecfure des Services Web
Introduction uu Services Web-1Z3
UDDI prsentution
UDDI prsentution
UDDI repose sur Ie profocoIe SOAP ef de ce foif, Ies requfes ef
reponses sur I'onnuoire sonf des messoges SOAP
4 - SOAP
invoque Ie service
3 - SOAP
recherche Ie WSDL
Z - SOAP
recherche Ie service
1 - SOAP
pubIie Ie service
Archifecfure des Services Web
Introduction uu Services Web-1Z4
UDDI prsentution
UDDI prsentution
L'onnuoire UDDI comporfenf pIusieurs cofegories de donnees :
Puges bIunches
EIIes recensenf Ies enfreprises ef confiennenf donc des informofions
feIIes que :
Ie nom de I'enfreprise
ses coordonnees
des descripfions occessibIes oux cIienfs
des idenfifionfs permeffonf de Io refrouver por recherche
Puges guunes
EIIes confiennenf, ou formof WSDL, Io descripfion des services
depIoyes por I'enfreprise. Les services sonf reperfories por cofegorie.
Puges bIeues
EIIes fournissenf des informofions fechniques defoiIIees sur Ies
services
Archifecfure des Services Web
Introduction uu Services Web-1Z
UDDI description
UDDI description
Le modIe UDDI comporfe b sfrucfures de donnees principoIes
decrifes sous forme de schemos XML :
8usinessEnfify : ensembIe d'informofions sur I'enfreprise qui pubIie
Ies services dons I'onnuoire
8usinessService : ensembIe d'informofions sur Ies services pubIies por
I'enfreprise
8indingTempIofe : ensembIe d'informofions concernonf Ie Iieu
d'hebergemenf du service (i.e. odresse du fournisseur)
fModeI : ensembIe d'informofions concernonf Ie mode d'occs du
service (definifions WSDL)
pubIisherAsserfion : ensembIe d'informofions confrocfueIIes enfre
porfenoires dons Ie codre d'echonges commercioux
Archifecfure des Services Web
Introduction uu Services Web-1Z
Informutions mtier de I'entreprise
Informutions mtier de I'entreprise
8usinessEnfify confienf un ensembIe d'informofions sur Ie mefier
de I'enfreprise. On y frouve, por exempIe :
Ie fype d'offoires que froife I'enfreprise
Ie fype de services qu'eIIe propose
son nom
so descripfion
ses coordonnees
Archifecfure des Services Web
Introduction uu Services Web-1Z7
Informutions mtier de I'entreprise
Informutions mtier de I'entreprise
Le schemo XML de Io
sfrucfure 8usinessEnfify
esf Ie suivonf :
Idenfifionfs (coupIes nom/voIeur)
possibIes pour I'enfreprise. UfiIes
pour Ies cIienfs Iors de recherches
Lisfe de coupIes nom/voIeur qui
ossocienf une informofion de
cIossificofion precise. C'esf une
foxonomie indusfrieIIe
Lo Iisfe de services pubIies
por I'enfreprise (0..^)
Un service pubIie
Archifecfure des Services Web
Introduction uu Services Web-1Z
Informutions sur Ie service mtier
Informutions sur Ie service mtier
8usinessService confienf un ensembIe d'informofions sur Ie
service. On y frouve, por exempIe :
Ie nom du service
so descripfion
son code
Les modIes de Iioison confenonf Io
descripfion fechnique du service
Lisfe de coupIes nom/voIeur qui
ossocienf une informofion de
cIossificofion precise.
Archifecfure des Services Web
Introduction uu Services Web-1Z9
Informutions de Iiuison
Informutions de Iiuison
8indingTempIofe confienf Ies informofions de Iioison pour occeder
oux informofions fechniques sur Ie service.
II s'ogif principoIemenf :
des references oux fModeIs qui designenf Ies inferfoces de mise en
uvres du service
du poinf de ferminoison (endpoinf sous forme d'une odresse Infernef)
du service
Un service peuf dispose de pIusieurs modIes de Iioison
Archifecfure des Services Web
Introduction uu Services Web-130
Informutions de Iiuison
Informutions de Iiuison
Le schemo XML de Io sfrucfure 8indingTempIofe esf Ie suivonf :
Lo Iisfe des sfrucfure fModeI
decrivonf Ie service
Poinfe vers un oufre
8indingTempIofe, Iorsque
occessPoinf n'esf pos
renseigne
Poinf d'occs ou
service (UPL)
Archifecfure des Services Web
Introduction uu Services Web-131
Informutions techniques
Informutions techniques
Un fModeI esf un modIe fype de mise en uvre du service.
Un fModeI esf generoIemenf un fichier WDSL donf I'objecfif esf de
definir :
Ies fypes ufiIises por Ie service
Ies operofions oppIicobIes ou service
A porfir d'un fModeI, iI esf possibIe de connofre Ies operofions
oppIicobIes ef commenf y occeder.
C'esf Io represenfofion IDL de Corbo ou de I'inferfoce Jovo
Archifecfure des Services Web
Introduction uu Services Web-13Z
Informutions techniques
Informutions techniques
Avec Ies fModeIs, Io specificofion UDDI permef d'efobIir une
disfincfion enfre obsfrocfion ef impIemenfofion :
Lo sfrucfure fModeI represenfe Io signofure, Ies inferfoces ef Ies fypes
de descripfion fechniques des mefodonnees.
Les modIes 8indingTempIofe, ossocies ou fModeI, en represenfenf Ies
impIemenfofions.
On o une seporofion enfre inferfoce ef impIemenfofion, ou mme fifre
que dons Ies APIs Jovo
Por exempIe, un orgonisme peuf decrire Ies specificofions d'une
fechnoIogie sous forme de fModeIs
PIusieurs indusfrieIs peuvenf ensuife en donner des impIemenfofions
sous forme de 8indingTempIofes qui referencenf Ie mme fModeI
Archifecfure des Services Web
Introduction uu Services Web-133
Informutions techniques
Informutions techniques
Le schemo XML de Io sfrucfure fModeI esf Ie suivonf :
Les references Iiees ou
fModeI (UPLs)
Idenfifionfs (coupIes nom/voIeur)
possibIes pour I'enfreprise. UfiIes
pour Ies cIienfs Iors de recherches
Lisfe de coupIes nom/voIeur qui
ossocienf une informofion de
cIossificofion precise. C'esf une
foxonomie indusfrieIIe.
Archifecfure des Services Web
Introduction uu Services Web-134
Informutions contructueIIes
Informutions contructueIIes
PubIisherAsserfion represenfe des informofions confrocfueIIes pour
Ies services pubIies
Les osserfions represenfenf Ies rgIes de mise en uvre sous Io
forme d'un profocoIe enfre deux porfenoires mefier.
Choque rIe esf defini por Ies osserfions
Designe Ie premire enfife mefier
pour IoqueIIe I'osserfion esf creee
Designe Ie deuxime enfife mefier
pour IoqueIIe I'osserfion esf creee
Designe Ie fype de reIofion
Archifecfure des Services Web
Introduction uu Services Web-13
Synthse sur Ies informutions
Synthse sur Ies informutions
Au cours de Io modeIisofion des donnees de descripfion de services
dons I'onnuoire, une enfife mefier businessEntity represenfe une
informofion mefier qui regroupe un ensembIe d'enfifes services de
fype 8usinessService qui vonf fre pubIiees.
Une enfife usinessService confienf des informofions fechniques ef
descripfives sur Ie service pubIie. Pour ceIo, iI defienf une coIIecfion
d'enfifes de fype 8indingTempIofe.
Une enfife indingTempIute decrif I'occs ou service ef Io foon de
meffre en uvre Ies specificofions fechniques du service.
Une enfife tModeI represenfe une specificofion fechnique pouvonf
eIIe-mme modeIiser pIusieurs ospecfs concepfueIs
Archifecfure des Services Web
Introduction uu Services Web-13
Synthse sur Ies informutions
Synthse sur Ies informutions
Archifecfure des Services Web
Introduction uu Services Web-137
UtiIisution de UDDI
UtiIisution de UDDI
L'onnuoire UDDI permef de :
de pubIier Ies services web
de decrire Ies services web
de decouvrir Ies services web
Archifecfure des Services Web
Introduction uu Services Web-13
PubIicution de services
PubIicution de services
Lo pubIicofion de services incIus oussi Io creofion mefier des
services (I'impIemenfofion ef Io descripfion)
Pour reoIiser Io pubIicofion ef Io descripfion, iI exisfe differenfes
possibiIifes :
monueIIemenf
oufomofiquemenf (porfieIIemenf ou compIfemenf suivonf Ies cos)
Lo pubIicofion Io pIus eIemenfoire consisfe envoyer direcfemenf ou
demondeur de service, Io descripfion WSDL correspondonfe (por
emoiI por exempIe)
Archifecfure des Services Web
Introduction uu Services Web-139
PubIicution de services
PubIicution de services
Pour une pubIicofion dons un onnuoire UDDI, iI exisfe pIusieurs
possibiIife, suivonf Io visibiIife vouIue por Ie fournisseur :
Nud interne UDDI pour une oppIicofion inferne.
IIs sonf profeges por un firewoII ef sonf ufiIises en infronef
Nud cutuIogue du purtenuire uvec UDDI
Les services sonf pubIies sur un nud cofoIogue d'un porfenoire choisi
ovec Ies ouforisofions d'occs correspondonfes
Nud portuiI UDDI pour une oppIicofion exfronef
Les services sonf pubIies pour que Ies porfenoires exfernes puissenf Ies
ufiIiser
Nud pIuce de murch UDDI pour une reIofion infer-enfreprises
Les services sonf Iorgemenf occessibIes pour un porfoge des ressources
enfre sysfmes d'informofion
Archifecfure des Services Web
Introduction uu Services Web-140
Dcouverte de services
Dcouverte de services
Lo decouverfe de service recouvre :
L'ocquisifion des descripfions des services
Lo mise en uvre, I'ufiIisofion, des services
L'ocquisifion esf effecfuee ou cours de Io modeIisofion pour obfenir
des descripfions des services. Lo descripfion peuf fre obfenue de
pIusieurs foons :
Memorisee en coche (por progromme por exempIe) pour une ufiIisofion
uIferieure simpIifiee
Dons un fichier IocoI
Dons un onnuoire IocoI
Au cours de I'execufion, Ies services donf on dispose de Io
descripfion sonf mis en uvre.
Archifecfure des Services Web
Introduction uu Services Web-141
Description de services
Description de services
Aprs en ovoir obfenue Io descripfion, Ie cIienf peuf invoquer Ie
service.
Pour ceIo, iI ufiIise Io descripfion, represenfee por des descripfeurs
WSDL, pour generer Ies requfes SOAP (ou Ies oppeIs por
progromme depuis un Iongoge queIconque)
Les APIs SOAP disponibIes ou niveou du posfe cIienf permeffenf de
cocher fous Ies defoiIs Iies ou codoge ef ou decodoge des messoges
SOAP
Archifecfure des Services Web
Introduction uu Services Web-14Z
API de progrummution UDDI
API de progrummution UDDI
II exisfe deux APIs de progrommofion pour dioIoguer ovec un
onnuoire UDDI
API d'inferrogofion dons un onnuoire
CeIo consisfe effecfuer des inferrogofions, des recherches
d'informofions, sur Ies enfrees d'un onnuoire UDDI. Touf ufiIisofeur o Io
possibiIife d'effecfuer des recherches ef donc de meffre en uvre
ceffe API
API de pubIicofion dons un onnuoire
Pour permeffre Io pubIicofion ou Io suppression de services ou sein d'un
onnuoire. Ceffe API impose des ouforisofions d'occs ef esf desfinee
oux fournisseurs de services ef oux enfreprises desironf pubIier des
informofions Ies concernonf
Archifecfure des Services Web
Introduction uu Services Web-143
Tirs directement des spcificutions disponibIes sur "www,uddi,org"
find_binding: Used to locate specific bindings within a registered businessService. Returns
a bindingDetail message.
find_business: Used to locate information about one or more businesses. Returns a
businessList message.
find_relatedBusinesses: Used to locate information about businessEntity registrations that
are related to a specific business entity whose key is passed in the inquiry. The Related
Businesses feature is used to manage registration of business units and subsequently relate
them based on organizational hierarchies or business partner relationships. Returns a
relatedBusinessesList message.
find_service: Used to locate specific services within a registered businessEntity. Returns a
serviceList message.
find_tModel: Used to locate one or more tModel information structures. Returns a tModelList
structure.
get_bindingDetail: Used to get full bindingTemplate information suitable for making one or
more service requests. Returns a bindingDetail message.
get_businessDetail: Used to get the full businessEntity information for one or more
businesses or organizations. Returns a businessDetail message.
get_businessDetailExt: Used to get extended businessEntity information. Returns a
businessDetailExt message.
get_serviceDetail: Used to get full details for a given set of registered businessService
data. Returns a serviceDetail message.
get_tModelDetail: Used to get full details for a given set of registered tModel data.
Returns a tModelDetail message.
API d'interrogution
API d'interrogution
Archifecfure des Services Web
Introduction uu Services Web-144
Tirs directement des spcificutions disponibIes sur "www,uddi,org"
add_publisherAssertions: Used to add relationship assertions to the existing set of
assertions.
delete_binding: Used to remove an existing bindingTemplate from the bindingTemplates
collection that is part of a specified businessService structure.
delete_business: Used to delete registered businessEntity information from the registry.
delete_publisherAssertions: Used to delete specific publisher assertions from the assertion
collection controlled by a particular publisher account. Deleting assertions from the
assertioncollection will affect the visibility of business relationships. Deleting an
assertion will cause any relationships based on that assertion to be invalidated.
delete_service: Used to delete an existing businessService from the businessServices
collection that is part of a specified businessEntity.
delete_tModel: Used to hide registered information about a tModel. Any tModel hidden in this
way is still usable for reference purposes and accessible via the get_tModelDetail message,
but is simply hidden from find_tModel result sets. There is no way to actually cause a
tModel to be deleted, except by administrative petition.
discard_authToken: Used to inform an Operator Site that a previously provided authentication
token is no longer valid and should be considered invalid if used after this message is
received and until such time as an authToken value is recycled or reactivated at an
operator's discretion. See get_authToken.
API de pubIicution
API de pubIicution
Archifecfure des Services Web
Introduction uu Services Web-14
Tirs directement des spcificutions disponibIes sur "www,uddi,org"
get_assertionStatusReport: Used to get a status report containing publisher assertions and
status information. This report is useful to help an administrator manage active and
tentative publisher assertions. Publisher assertions are used in UDDI to manage publicly
visible relationships between businessEntity structures. Relationships are a feature
introduced in generic 2.0 that help manage complex business structures that require more
than one businessEntity or more than one publisher account to manage parts of a
businessEntity. Returns an assertionStatusReport that includes the status of all assertions
made involving any businessEntity controlled by the requesting publisher account.
get_authToken: Used to request an authentication token from an Operator Site. Authentication
tokens are required when using all other API's defined in the publishers API. This function
serves as the program's equivalent of a login request.
get_publisherAssertions: Used to get a list of active publisher assertions that are
controlled by an individual publisher account. Returns a publisherAssertions message
containing all publisher assertions associated with a specific publisher account. Publisher
assertions are used to control publicly visible business relationships.
get_registeredInfo: Used to request an abbreviated synopsis of all information currently
managed by a given individual.
API de pubIicution
API de pubIicution
Archifecfure des Services Web
Introduction uu Services Web-14
Tirs directement des spcificutions disponibIes sur "www,uddi,org"
save_binding: Used to register new bindingTemplate information or update existing
bindingTemplate information. Use this to control information about technical capabilities
exposed by a registered business.
save_business: Used to register new businessEntity information or update existing
businessEntity information. Use this to control the overall information about the entire
business. Of the save_xx API's this one has the broadest effect. In UDDI V2, a feature is
introduced where save_business can be used to reference a businessService that is parented
by another businessEntity.
save_service: Used to register or update complete information about a businessService
exposed by a specified businessEntity.
save_tModel: Used to register or update complete information about a tModel.
set_publisherAssertions: (UDDI V2 and later) - used to save the complete set of publisher
assertions for an individual publisher account. Replaces any existing assertions, and causes
any old assertions that are not reasserted to be removed from the registry. Publisher
assertions are used to control publicly visible business relationships.
API de pubIicution
API de pubIicution
Archifecfure des Services Web
Introduction uu Services Web-147
Lu scurit et Ies services web Lu scurit et Ies services
Lu scurit et Ies services
web
web
Archifecfure des Services Web
Introduction uu Services Web-14
Introduction Iu scurit
Les modIes de scurit des services
Lu scurit et Ies services web Lu scurit et Ies services
Lu scurit et Ies services
web
web
Archifecfure des Services Web
Introduction uu Services Web-149
Introduction Iu scurit
Introduction Iu scurit
Comme nous eu fouf Ie Ioisir de Ie dire, Ie concepf de services
Web s'opporenfe d'oufres fechnoIogies ouforisonf des
inferocfions en reseou, enfre oufres des fechnoIogies
propriefoires feIIes que DCOM, COP8A ef I'EDI, ef des
fenfofives pIus recenfes, PoseffoMef ef ebXML nofommenf, pour
normoIiser Ies inferocfions e-business securisees.
Les ospecfs securifoires n'echoppenf pos ceffe infIuence, c'esf
pourquoi, nous commencerons por presenfer Ies concepfs generoux
Iies Io securife.
Ensuife, nous nous inferesserons oux ospecfs securife specifiques
des services web, en principoIemenf Ies normes XML dons Ie
domoine.
Archifecfure des Services Web
Introduction uu Services Web-10
Introduction Iu scurit
Introduction Iu scurit
Dons Ie codre d'une fronsocfion enfre enfreprises, pIusieurs
eIemenfs doivenf enfrer en jeu pour fenfer de recreer Io
confidenfioIife, I'infegrife, Io goronfie ef Io responsobiIife d'une
fronsocfion enfre personnes. Ces eIemenfs sonf :
Idenfificofion ef oufhenfificofion
Auforisofion
ConfidenfioIife ef infegrife
PesponsobiIife
Definifion des niveoux de securife necessoires
Archifecfure des Services Web
Introduction uu Services Web-11
Introduction Iu scurit
Introduction Iu scurit
Identificution et uuthentificution
II fouf fouf d'obord confirmer I'idenfife de I'enfife ovec IoqueIIe
s'efobIif I'inferocfion. Lors d'une fronsocfion enfre des personnes,
I'individu, s'iI n'esf pos dej connu du commeronf, peuf fre
recommonde por un fiers de confionce ou jusfifier de son idenfife
en presenfonf por exempIe son posseporf ou son permis de
conduire. Dons I'environnemenf Infernef sons visoge ef ouverf, Ie
mode d'oufhenfificofion Ie pIus repondu esf ceIui des cerfificofs
numeriques que deIivrenf ef voIidenf des ouforifes de
cerfificofion fierces.
Archifecfure des Services Web
Introduction uu Services Web-1Z
Introduction Iu scurit
Introduction Iu scurit
Autorisution
Avonf d'effecfuer Io fronsocfion, iI esf indispensobIe de sovoir si
Io porfie ovec IoqueIIe s'efobIif I'inferocfion esf ouforisee foire
ou occepfer I'offre. Dons un scenorio enfre personnes, ce sonf
Ies porfies Io fronsocfion ou, Ie cos echeonf, Ieurs superieurs
hierorchiques, qui y veiIIenf. Le chef du service des ochofs peuf,
por exempIe, devoir ouforiser une fronsocfion si Io focfure
deposse un cerfoin monfonf. Dons Ie cos des fronsocfions
numeriques, ceffe verificofion esf ossuree por un sysfme
d'ouforisofion en Iigne.
Archifecfure des Services Web
Introduction uu Services Web-13
Introduction Iu scurit
Introduction Iu scurit
ConfidentiuIit et intgrit
Une fronsocfion enfre personnes s'effecfue generoIemenf dons un
environnemenf prive choisi pour so discrefion. Les porfies
prenonfes verifienf en oufre que fous Ies documenfs ecrifs
consignenf rigoureusemenf Ies condifions convenues Iors de Io
negociofion. Dons I'univers numerique, Io confidenfioIife ef
I'infegrife sonf ossurees por Ie chiffremenf ef Ies signofures
numeriques. Le conoI de communicofion enfre Ies porfies esf
chiffre pour preserver Io confidenfioIife ef Ies documenfs de Io
fronsocfion sonf signes I'oide de cerfificofs d'idenfife
numeriques des porfies concernees.
Archifecfure des Services Web
Introduction uu Services Web-14
Introduction Iu scurit
Introduction Iu scurit
Dfinition des niveuu de scurit ncessuires
Ces condifions de securife de bose sonf essenfieIIes pour Io bonne
infegrofion oux environnemenfs reseou feIs ceux rendus possibIes
por Ies services Web. Pour oufonf, foufes ces condifions ne sonf
pos sysfemofiquemenf indispensobIes. Meonmoins, iI esf bien pIus
efficoce de porfir de I'hypofhse que foufes sonf necessoires,
puis de proceder por eIiminofion ou momenf de Io definifion des
besoins pour un processus mefier specifique que d'essoyer
d'ojoufer des foncfionnoIifes de securife oprs coup.
Archifecfure des Services Web
Introduction uu Services Web-1
Les modIes de scurit des services
Les modIes de scurit des services
Les principoux sfondords ossocies Io securife des services web
sonf :
XML Signuture pour Io represenfofion des signofures digifoIes dons
un documenf XML
XML Encryption pour Ies meconismes d'encrypfoge ef de decrypfoge
des documenfs XML
SAML-XML (Securify Asserfions Morkup Longuoge) specifie une
procedure d'oufhenfificofion
XACML (ExfensibIe Access ConfroI Morkup Longuoge) specifie Ies
sfrofegies de confrIe d'occs frovers Ie reseou
XkMS (XML Iey Monogemenf Specificofion) decrif I'infrosfrucfure
cIe pubIique
Archifecfure des Services Web
Introduction uu Services Web-1
Les modIes de scurit des services
Les modIes de scurit des services
XML Signuture {Signuture XML}
En definissonf un Iongoge XML de represenfofion des signofures
numeriques, XML Signofure rempIif frois des principoIes
condifions de securisofion des fronsocfions eIecfroniques :
I'oufhenfificofion, I'infegrife du messoge ef Io non repudiofion.
XML Signofure esf Io seuIe norme de securife des services Web
fre ce jour suffisommenf mre pour un depIoiemenf commercioI
- Ies oufres normes ne frouveronf pos d'ufiIisofion commercioIe
ovonf o I8 mois. Une signofure XML peuf fre generee pour fouf
fype de confenu numerique. Pour Ies documenfs XML, eIIe peuf
mme fre joinfe direcfemenf ou documenf signe ef profge
I'infegrife de fouf ou porfie d'un documenf XML. XML Signofure
esf devenue une recommondofion officieIIe du W3C en fevrier
Z00Z.
Archifecfure des Services Web
Introduction uu Services Web-17
Les modIes de scurit des services
Les modIes de scurit des services
XML Encryption {Chiffrement XML}
TechnoIogie compIemenfoire XML Signofure, Ie chiffremenf
XML permef Ie chiffremenf ef Ie dechiffremenf seIecfifs
d'eIemenfs XML ou de documenfs XML enfiers.
XML Encrypfion Synfox ond Processing (synfoxe ef froifemenf du
chiffremenf XML), Ie premier documenf du groupe de frovoiI sur
Ie chiffremenf XML, esf condidof recommondofion ouprs du
W3C.
Archifecfure des Services Web
Introduction uu Services Web-1
Les modIes de scurit des services
Les modIes de scurit des services
SAML {Security Assertions Murkup Lunguuge}
SAML permef oux enfifes disfribuees d'echonger des
informofions d'oufhenfificofion ef d'ouforisofion.
Conu pour repondre oux besoins de securife des oppIicofions en
reseou, ce Iongoge presenfe pIusieurs ovonfoges, en evifonf por
exempIe de repefer Ies procedures d'oufhenfificofion d'un
ufiIisofeur pour choque oppIicofion.
Archifecfure des Services Web
Introduction uu Services Web-19
Les modIes de scurit des services
Les modIes de scurit des services
XACML {EtensibIe Access ControI Murkup Lunguuge}
OASIS soufienf Ie deveIoppemenf de Io norme XACML de
confrIe d'occs de forfe gronuIorife.
XACML esf cense gerer Ie confrIe de gronuIorife fine des
ocfivifes ouforisees, I'impocf des corocferisfiques du demondeur
d'occs, Ie profocoIe ufiIise pour Io requfe, I'ouforisofion en
foncfion des fypes d'ocfivifes ef I'infrospecfion du confenu (c'esf-
-dire I'ouforisofion fondee Io fois sur Ie demondeur ef Ies
voIeurs d'offribuf de Io cibIe Iorsque Ies voIeurs des offribufs ne
sonf pos connues de I'oufeur des rgIes).
Archifecfure des Services Web
Introduction uu Services Web-10
Les modIes de scurit des services
Les modIes de scurit des services
XkMS {XML key Munugement}
Lo soisie, Io voIidofion ef Io gesfion des cerfificofs cIe pubIique
ou des poires de cIes pubIiques/privees sonf des besoins communs
fous Ies efforfs de normoIisofion enonces ovonf.
Les groupes W3C ef IETF soufiennenf Ie groupe de frovoiI XIMS
qui frovoiIIe sur ces probImes.
XIMS ef ses mefhodoIogies secondoires X- PSS ef X-IISS
fournissenf une infrosfrucfure pour un service de cerfificofion
s'oppuyonf sur Infernef ef infronef ouqueI Ies fournisseurs de
services Web peuvenf deIeguer Io compIexife d'une infrosfrucfure
cIe pubIique. Ce service prend en chorge I'enregisfremenf, Io
recherche, Io voIidofion, Io revocofion ef, en opfion, Io
recuperofion des poires de cIes pubIiques/privees ufiIisees pour
des fronsocfions e-business cerfifiees.
Archifecfure des Services Web
Introduction uu Services Web-11
Le modIe ,NET
Le modIe JZEE
Le modIe ,NET
Le modIe ,NET
Le modIe JZEE
Le modIe JZEE
Archifecfure des Services Web
Introduction uu Services Web-1Z
Prsentution
Architecture
Commentuires
Le modIe ,NET
Le modIe JZEE
Le modIe ,NET
Le modIe ,NET
Le modIe JZEE
Le modIe JZEE
Archifecfure des Services Web
Introduction uu Services Web-13
Prsentution
Prsentution
Les services Web che; Microsoff sonf impIemenfes en ufiIisonf
foufe Ies possibiIifes .MET . Ainsi :
Les sessions sonf prises en chorge por ASP.MET
Lo communicofion HTTP esf gere por IIS
Les infrosfrucfures sysfme comme Io monfee en chorge, Ies
fronsocfions sonf froifees por Ie modIe COM+
Le cIienf peuf fre un novigofeur ou une oppIicofion Windows
(WinForms) ef Ies echonges ovec Ie serveur sonf froifes por
I'impIemenfofion SOAP de Microsoff
L'impIemenfofion ef I'infegrofion de SOAP dons I'environnemenf nofif
de Windows o des impocfs sur Ies performonces
Lo bose de foufe Io gesfion des Services Web esf IIS qui gre
I'ensembIe des ospecfs Services Web. CeIo vo de Io gesfion des
requfes ef reponses jusqu' Io configurofion de Io securife ef des
ouforisofions d'occs
Archifecfure des Services Web
Introduction uu Services Web-14
Prsentution
Prsentution
L'oufiI VisuoI Sfudio permef de creer grophiquemenf, I'oide d'une
pIefhore d'ossisfonfs, des Services Web de fouf nofure.
Lo cooperofion des services web por proxy (por progromme en
s'oppuyonf sur des API specioIisees) esf prise en chorge por
I'environnemenf
L'impIemenfofion d'un service en C# suif Ies mmes principes que
pour un oufre Iongoge, feI V8.MET ou CoboI.MET
Archifecfure des Services Web
Introduction uu Services Web-1
Architecture
Architecture
L'orchifecfure des Services Web dons .MET:
Archifecfure des Services Web
Introduction uu Services Web-1
Commentuires
Commentuires
L'orchifecfure des Services Web dons .MET esf fofoIemenf
infegree ce qui presenfe Ies ovonfoges suivonfs :
Coherence ef homogeneife
Performonces opfimoIes
Infegrofion des environnemenfs de deveIoppemenf
Les inconvenienfs sonf ceux hobifueIIemenf Ionces I'enconfre du
geonf Microsoff :
Mecessife d'ufiIiser Io gomme des produifs de Io firme.
Un bemoI cependonf, puisque Ie modIe des Services Web ouforise
une inferoperobiIife fofoIe queIque soif Ies pIofes-formes ef Iongoges.
Archifecfure des Services Web
Introduction uu Services Web-17
Prsentution
Architecture
Commentuires
Le modIe ,NET
Le modIe JZEE
Le modIe ,NET
Le modIe ,NET
Le modIe JZEE
Le modIe JZEE
Archifecfure des Services Web
Introduction uu Services Web-1
Prsentution
Prsentution
Les services Web dons Io pIofe-forme JZEE consisfe offrir Io
gesfion inferne de I'infrosfrucfure divers edifeurs (comme
I'usoge de Sun)
Pour ce foire, Io pIofe-forme JZEE o efe enrichie des principoIes
API suivonfes :
JAXP : Jovo API for XML Processins, esf une impIemenfofion
compIfe des sfondords XML, Momespoces, SAX, DOM ef XSLT
JAX : Jovo Archifecfure for XML 8inding, permef Io froducfion
oufomofique d'objefs Jovo en XML ef inversemenf
JAXM : Jovo API for XML Messoging, esf une impIemenfofion en Jovo
de SOAP I.I ovec pices joinfes
JAXRPC : Jovo API for XML PPC, esf oussi une impIemenfofion en
Jovo de SOAP, mois ovec une orienfofion PPC
JAXR : Jovo API for XML Pegisfries, esf une obsfrocfion d'occs ef
de dioIogue ovec differenfs fypes d'onnuoires XML (UDDI, ebXML, ...)
Archifecfure des Services Web
Introduction uu Services Web-19
Prsentution
Prsentution
PIusieurs environnemenfs de deveIoppemenf boses sur Io
pIofeforme JZEE, permeffenf de creer grophiquemenf, I'oide
d'une pIefhore d'ossisfonfs, des Services Web de fouf nofure.
Lo cooperofion des services web por proxy (por progromme en
s'oppuyonf sur des API specioIisees) esf prise en chorge por Ies
environnemenfs, comme pour VisuoISfudio
L'impIemenfofion d'un service esf en Jovo, mois peuf fre obfenue
de differenfes foons :
En porfonf de rien
Depuis une descripfion WSDL exisfonfe
En definissonf un Jovo8eon
En definissonf un EJ8 Session sfofeIess
En definissonf une EJ8 M-beon
Archifecfure des Services Web
Introduction uu Services Web-170
Architecture
Architecture
L'orchifecfure des Services Web dons JZEE :
Archifecfure des Services Web
Introduction uu Services Web-171
Commentuires
Commentuires
L'orchifecfure des Services Web dons JZEE diffre de I'opproche
Microsoff dons Io mesure o eIIe ne se moferioIise pos por une
impIemenfofion infegree dons Ie sysfme, mois por un ensembIe
d'obsfrocfions desfinees fre impIemenfees por divers edifeurs.
Les ovonfoges d'une feIIe opproche sonf ceux hobifueIIemenf
enonces ou modIe des obsfrocfions Jovo, sovoir :
Independonce pIofe-forme ovec Ie Iongoge Iui-mme
Innovofion fechnoIogique (d'impIemenfofion) puisque I'impIemenfofion
esf Iibre ce qui fovorise Io compefifion enfre Ies edifeurs.
Les principoux edifeurs sonf :
I8M ovec WebSphere ef son environnemenf WebSphere Sfudio bose
sur EcIipse
8EA ovec WebIogic ef son environnemenf Workshop
SUM ovec SunOne ef son environnemenf

You might also like