Een van de belangrijkste kenmerken van internetstandaards is dat ze gericht zijn op protocollen en niet op implementaties. Internet bestaat uit heterogene technologieën die met succes samenwerken met behulp van gemeenschappelijke protocollen. Dit voorkomt dat individuele leveranciers op internet een eigen standaard introduceren. De ontwikkeling van open source-software speelt een cruciale rol bij het behoud van de compatibiliteit bij de implementatie van standaards door leveranciers.
De volgende standaarden spelen een belangrijke rol in webservices: Universal Description, Discovery and Integration (UDDI), Web Services Description Language (WSDL), Web Services Inspection Language (WSIL), SOAP en Web Services Interoperability (WS-I). De relatie tussen deze standaarden is weergeven in afbeelding 2.
De UDDI-specificatie definieert open, platform-onafhankelijke standaarden die bedrijven in staat stellen om informatie te delen in een wereldwijd zakelijk register, services in het register op te sporen en te definiëren hoe deze op internet samenwerken. Zie voor meer informatie over UDDI www.uddi.org
WSIL is een op XML gebaseerde open specificatie die een opsporingsmethode voor gedistribueerde services definieert, waarbij verwijzingen naar servicebeschrijvingen worden aangeleverd op het aanbiedingspunt van de serviceprovider door aan te geven hoe een website op beschikbare webservices kan worden gecontroleerd. Een WSIL-document definieert de locaties op een website waar u beschrijvingen van webservices kunt vinden. Omdat WSIL is gericht op de opsporing van gedistribueerde services, vormt de WSIL-specificatie een aanvulling op UDDI doordat services die beschikbaar zijn gesteld op websites maar mogelijk (nog) niet in een UDDI-register zijn vermeld, nu makkelijker kunnen worden opgespoord. Er is een apart onderwerp in deze documentatie gewijd aan de relatie tussen UDDI en WSIL. Zie voor meer informatie over WSIL www.ibm.com/developerworks/webservices/library/ws-wsilspec.html
WSDL is een op XML gebaseerde open specificatie die de interfaces naar en de instances van webservices in het netwerk beschrijft. De specificatie is uitbreidbaar, zodat eindpunten onafhankelijk van de berichtindeling en netwerkprotocollen die voor de communicatie worden gebruikt, kunnen worden beschreven. Bedrijven kunnen de WSDL-documenten voor hun webservices beschikbaar stellen via UDDI en WSIL, of door de URL's van hun WSDL te verspreiden via e-mail en websites. WSDL wordt beschreven in een apart onderwerp in deze documentatie. Zie voor meer informatie over WSDL www.w3.org/TR/wsdl
Afbeelding 2. Relatie tussen SOAP, UDDI, WSIL en WSDL.
Een serviceprovider fungeert als host voor een webservice en stelt deze door middel van protocollen als SOAP/HTTP en SOAP/JMS beschikbaar. De webservice wordt beschreven in een WSDL-document dat op de server van de provider of in een speciale repository is opgeslagen. Er kan naar het WSDL-document worden verwezen door het UDDI-bedrijfsregister en door WSIL-documenten. Deze bevatten aanwijzers naar de WSDL-bestanden van de webservice.
Het WS-I Simple SOAP Binding Profile en het WS-I Attachments Profile zijn reeksen van vereisten waaraan gegevensverkeer van WSDL en het webserviceprotocol (SOAP/HTTP) moet voldoen om compatibel te zijn met WS-I. De WS-I-validatietools voor webservices bieden ondersteuning voor WS-I Simple SOAP Binding Profile 1.0 en Attachment Profile 1.0. Voor specificaties kunt u naar de website van WS-I gaan en onder Resources Documentation kiezen: http://www.ws-i.org
Webservicetools ondersteunen de volgende specificaties:
Technologie of specificaties | Versie of niveau van ondersteuning |
---|---|
Overdracht | |
HTTP/HTTPS | v1.0 en v1.1 |
JMS | |
Berichten | |
SOAP-specificatie | v1.1 |
SOAP-bijlagen | |
Beschrijving | |
UDDI | v2.0 |
WSDL | v1.1 |
WSIL | v1.0 |
Beveiliging | |
WS-beveiliging | OASIS Standard 1.0 |
Compatibiliteit | |
WS-I Basic Profile | 1.1.2 |
WS-I Simple SOAP Binding Profile | 1.0.3 |
WS-I Attachments Profile | 1.0 |
Overige standaarden | |
JAX-RPC | v1.0 voor J2EE 1.3, v1.1 voor J2EE 1.4 |
JSR 109 | J2EE 1.3 |
JSR 921 | J2EE 1.4 |