Basic Web Services Technology
description
Transcript of Basic Web Services Technology
![Page 1: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/1.jpg)
Basic Web Services TechnologyMatthijs Smith & Roel Arents tbv ISS 2005/2006
![Page 2: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/2.jpg)
Overview• Infrastructure• SOAP• WSDL• UDDI• Related Standards• Discussion
![Page 3: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/3.jpg)
Infrastructure• Problems & Solutions
– Common syntax– Interaction mechanism
Data formatMultiple interaction formsMapping to transport protocol
– Describe services– Name & directory service (registry)
ApiRegistry
![Page 4: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/4.jpg)
SOAP• Goal
• Package message• Interaction conventions• Rules• Mapping to transport protocol
• Communication protocol
![Page 5: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/5.jpg)
Structure of SOAP• SOAP Envelope
– SOAP headerHeader blocks
– SOAP bodyBody blocks
• Interaction Styles
![Page 6: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/6.jpg)
Structure of SOAP
![Page 7: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/7.jpg)
Mapping to Transport Protocol• Transport
• Addressing & Routing
![Page 8: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/8.jpg)
Implementation of SOAP
![Page 9: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/9.jpg)
WSDL
• Web Services Description Language• Problems & Solutions
– Acces Mechanism– Protocol binding– Define Location– Asynchronous interaction
![Page 10: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/10.jpg)
Structure of WSDL
• Abstract part– Types– Messages– Operations– Port types
• Concrete part– Bindings– Services & ports
![Page 11: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/11.jpg)
Structure of WSDL
![Page 12: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/12.jpg)
Using WSDL
![Page 13: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/13.jpg)
![Page 14: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/14.jpg)
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
![Page 15: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/15.jpg)
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
![Page 16: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/16.jpg)
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
![Page 17: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/17.jpg)
Informatie in een UDDI register• Je kunt zoeken op:
– Bedrijven– Soort/categorie services– Manier van aanroepen van services
![Page 18: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/18.jpg)
Datastructuur van een UDDI registry• Hiërarchie van generieke beschrijvingen (zie ↓)• tModels bevatten de technische beschrijvingen
![Page 19: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/19.jpg)
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
![Page 20: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/20.jpg)
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
![Page 21: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/21.jpg)
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)
![Page 22: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/22.jpg)
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)
![Page 23: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/23.jpg)
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
![Page 24: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/24.jpg)
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
![Page 25: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/25.jpg)
“Anticlimax” / discussiepunten• Web services zijn een extra tier -> meer overhead
Vaak 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
![Page 26: Basic Web Services Technology](https://reader036.fdocuments.in/reader036/viewer/2022062520/56815d94550346895dcbb073/html5/thumbnails/26.jpg)
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