Webservices - standaarden

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

SOAP is een op XML gebaseerde standaard voor het verzenden van berichten via HTTP en andere internetprotocollen. SOAP is een LDAP-protocol voor het uitwisselen van informatie in een gedecentraliseerde, gedistribueerde omgeving. Het is gebaseerd op XML en bestaat ui drie delen: Met SOAP is het mogelijk om opgespoorde webservices te koppelen en te gebruiken door een berichtpad te definiëren voor het routeren van berichten. SOAP kan worden gebruikt om query's voor webservices uit te voeren op UDDI. Voor meer informatie over SOAP 1.1 (SOAP 1.2 wordt niet ondersteund door de webservicetools) raadpleegt u www.w3.org/TR/SOAP

Afbeelding 2. Relatie tussen SOAP, UDDI, WSIL en WSDL.

Afbeelding 2 laat de relatie zien 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

Er wordt ook een aantal nieuwe webservicestandaards ondersteund door Rational Developer-producten. Dit zijn:
JAX-RPC
JAX-RPC staat voor Java-API voor op XML gebaseerde RPC, ook wel JSR 101 genoemd. Deze specificatie verwijst naar Java-API's (Application Programming Interfaces) en afspraken voor het bouwen van webservices en webserviceclients die gebruikmaken van RPC's (remote procedure calls, procedureaanroepen op afstand) en XML. Het vormt een standaard voor koppelingen van Java naar WSDL en WSDL naar Java en omvat de kern-API's voor de ontwikkeling en ingebruikname van webservices en webserviceclients op het Java-platform. Meer informatie vindt u in official specifications.
JSR-109 en JSR-921
JSR-109 en JSR-921 (Enterprise Web Services implementeren) vormen het programmeringsmodel en de runtime-architectuur voor het in gebruik nemen en opzoeken van webservices in de J2EE-omgeving en dan met name in web-, EJB- en clienttoepassingencontainers. Een van de hoofddoelen is te zorgen voor compatibiliteit tussen implementaties van verschillende leveranciers. Voor meer informatie raadpleegt u de officiële specificaties:
WS-S
Deze tools ondersteunen de standaard OASIS Web Services Security 1.0. Voor meer informatie over de verschillende componenten van deze standaard raadpleegt u:

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