260 likes | 390 Views
Matthijs Smith & Roel Arents tbv ISS 2005/2006. Basic Web Services Technology. Overview. Infrastructure SOAP WSDL UDDI Related Standards Discussion. Infrastructure. Problems & Solutions Common syntax Interaction mechanism Data format Multiple interaction forms
E N D
Matthijs Smith & Roel Arents tbv ISS 2005/2006 Basic Web Services Technology
Overview • Infrastructure • SOAP • WSDL • UDDI • Related Standards • Discussion
Infrastructure • Problems & Solutions • Common syntax • Interaction mechanism • Data format • Multiple interaction forms • Mapping to transport protocol • Describe services • Name & directory service (registry) • Api • Registry
SOAP • Goal • Package message • Interaction conventions • Rules • Mapping to transport protocol • Communication protocol
Structure of SOAP • SOAP Envelope • SOAP header • Header blocks • SOAP body • Body blocks • Interaction Styles
Mapping to Transport Protocol • Transport • Addressing & Routing
WSDL • Web Services Description Language • Problems & Solutions • Acces Mechanism • Protocol binding • Define Location • Asynchronous interaction
Structure of WSDL • Abstract part • Types • Messages • Operations • Port types • Concrete part • Bindings • Services & ports
Inhoud 1/2 • UDDI • Informatie in een UDDI register • Datastructuur van een UDDI register • tModels en overviewDocs • UDDI register API’s • Publieke en private registers
Inhoud 2/2 • Gerelateerde (Web Service) standaarden • WS-Adressing • WS-Routing • WS-Security • WS-Policy • WSIF (Invocation Framework) • “De anticlimax” / Discussiepunten • Te veel standaarden ≡ geen standaarden • Effect van “geavanceerde SOAP” op het beschrijven en dynamisch binden van services • Dynamisch binden mbv UDDI in de praktijk • Samenvatting / conclusie / vragen
UDDI • Universal Description Discovery and Integration • Raamwerk voor het beschrijven en zoeken van Web services • UDDI’s eigen API’s zijn Web services • Gestructureerde en ongestructureerde data • Private en publieke registers
Informatie in een UDDI register • Je kunt zoeken op: • Bedrijven • Soort/categorie services • Manier van aanroepen van services
Datastructuur van een UDDI registry • Hiërarchie van generieke beschrijvingen (zie ↓) • tModels bevatten de technische beschrijvingen
tModels • Refereert naar een overviewDoc • overviewDoc kan in natuurlijke taal of WSDL • overviewDoc heeft een unieke sleutel • Meerdere tModels kunnen naar hetzelfde overviewDoc wijzen • Maakt dynamisch binden makkelijker • Bevat classificatie / categorisatie aanduidingen
UDDI register API’s • Gericht op Zoekers, Posters en Collega registers • Inquiry API: zoek business, service, binding etc, en vraag specifieke info over business, service etc • Publishers API: sla op en verwijder business, service etc • Security API: krijg en verwijder authenticatie-token • Custody and Ownership API: eigenaar van informatie veranderen • Subscription API: business, service etc “in de gaten houden” • Replication API: synchroniseren van data tussen registers
Zoeken in een UDDI register (Inquiry API) • Simpele maar uitbreidbare standaardmogelijkheden • Voorbeeld van uitbreiding: USML • meerdere queries, trefwoorden, registers etc. • gedistribueerd zoeken (register zoekt ook in andere registers)
Publieke en private registers • Initiële idee: Universal Business Registry • Beschikbaar gemaakt door grote bedrijven en overzien door OASIS • Consistent met elkaar gehouden • Behoefte aan • Publiek (zoals UBR) • Privaat (doorgaans binnen een bedrijf) • Gedeeld (bedrijven delen onderling)
Gerelateerde (Web Service) standaarden 1/2 • WS-Adressing • Specificeert de endpoints van de SOAP berichten • Geeft een ID van de ontvanger mee in de SOAP header • WS-Routing • Geeft een pad aan in de SOAP header welke het bericht moet volgen • WS-Security • Voegt een <security> blok toe aan de SOAP header met info over gebruikersnamen en certificaten etc • Geeft de mogelijkheid (delen van) berichten te versleutelen
Gerelateerde (Web Service) standaarden 2/2 • WS-Policy • Geeft de mogelijkheid eisen aan WSs toe te voegen, als authenticatiemethode etc • WSIF (Invocation Framework) • Maakt WSDL “los van” SOAP en laat de infrastructuur zelf een binding opzetten dmv het uitwisselen van stubs
“Anticlimax” / discussiepunten • Web services zijn een extra tier -> meer overheadVaak een extra tier op bestaande middleware, met ontzettend veel mogelijke standaarden om uit te kiezen • Het is moeilijker een interface te beschrijven voor binaire dataHet gebruik van binaire data in SOAP leidt ertoe dat Web services veranderen in simpele queues, waarbij ontwikkelaars van te voren al (moeten) weten wat de Web service doet met de data en dynamisch binden veel moeilijker wordt • Dynamisch binden met UDDI is een illusie, omdatbedrijven elkaar toch eerst willen vertrouwenen van te voren een soort Web service bekeken moet worden door de ontwikkelaar
Conclusies / samenvatting / vragen? • SOAP definieert een manier om berichten tussen Web services op te stellen over bepaalde comm. protocollen • Met WSDL definieert men de interface van een Web service • Met UDDI houdt men een register bij met Web services