Tijdschrift voor webwerkers » Artikel #59
Uit de serie “wie de buzzwords kent, telt mee” dit keer het eerste artikel van een tweeluik over web services, SOAP, WSDL en UDDI. Deze termen staan voor hele handige tools en functies voor wie liever lui dan moe is. Want waarom zou je het wiel voor de tweede keer uitvinden?
Dit eerste deel geeft achtergrondinformatie, het tweede duikt dieper in de techniek.
Het is altijd ruzie in de IT-wereld. Komt dat zien, komt dat zien: Sun versus Microsoft, SAP versus Siebel en ga zo maar door. Competitie leidt volgens sommigen tot betere producten, dus het geharrewar heeft kennelijk zo zijn voordelen. Wat voor de consumenten erger is, is dat ook de systemen zelf niet goed met elkaar overweg kunnen.
Er is namelijk veel te krijgen in de wereld. Informatie, diensten, producten: je kunt het zo gek niet bedenken of het is er al. Het vervelende is dat het tot voor kort niet zo makkelijk was om te vinden wat je zocht, laat staan dat je ook kon gebruiken wat je wilde.
Interoperabiliteit levert winst op. En dus werd het tijd voor een frisse wind. Web services bieden een mogelijke oplossing voor het communicatieprobleem tussen systemen.
Een web service is een applicatie die een aantal functies biedt en aan te spreken is over het Internet. De in- en output van deze functies gebeurt in het XML formaat en volgens vaste afspraken. Deze afspraken zijn platformonafhankelijk; je kunt dus iedere web service gebruiken vanaf ieder soort platform (Unix, NT, etc.).
De code achter een web service kan gemaakt zijn met alle mogelijke middelen. Of het nu Java is, C# of een scriptingtaal, het kan allemaal een web service bieden. Een applicatie biedt een web service omdat de interface zich houdt aan bepaalde afspraken. Alle web services spreken dezelfde taal, over hetzelfde protocol, met vaste afspraken over het formaat.
Het resultaat van een web service is eigenlijk op zich niet spectaculair. Vanuit een XML-document spreek je een web service aan op een andere plaats in een netwerk. Je geeft de juiste parameters door en ontvangt een resultaat. Dit resultaat toon je op je scherm met een XSLT. Je ziet dan iets als:
Morgen is de weersverwachting in Nederland: 20 graden en zonnig.
Het gebruiken van web services heeft een aantal voordelen.
Er zijn natuurlijk ook nadelen.
return-value
voldoet aan de verwachte waarde. Een beetje goedbezochte service heeft dan al snel een groot probleem.Afkortingen kennen is onmisbaar in IT-land, dus hier staan er een paar op een rij die met web services te maken hebben.
Technische termen als SOAP en WSDL komen in het volgende deel van dit artikel wat meer aan bod. UDDI is als idee belangrijker voor het functioneel inzetten van web services, en daarom volgt wat meer uitleg.
UDDI (Universal Description, Discovery and Integration) biedt een bibliotheek van beschikbare web services over de hele wereld. Om die reden wordt UDDI ook wel de White Pages genoemd. Behalve beschrijvingen worden ook de locatie en de specificaties van de betreffende web service vastgelegd.
UDDI is een initiatief van grote jongens als IBM, Microsoft en Ariba, en is inmiddels uitgegroeid tot een wereldwijde community waarin ook anderen als Sun en SAP deelnemen. Vooralsnog is UDDI een gratis te gebruiken tool.
UDDI is geen middel om je business service aan een breed publiek aan de man te brengen. De marketing voor een aangeboden service is geen onderdeel van de bibliotheek, dat doe je maar op je gelikte corporate website. Het is echt bedoeld als praktisch hulpmiddel voor ontwikkelaars.
Een UDDI Business Registry (UBR) is een applicatie die via een website online bedrijven de mogelijkheid biedt zich in te schrijven voor de UDDI standaard. Een andere naam voor een UBR is de Yellow Pages. Je kunt daar ook de bibliotheek van beschikbare web services inzien.
Er zijn een aantal UDDI Business Registries; de bekendste is die van Microsoft. IBM beheert ook een grote. Deze bibliotheken zijn overigens allemaal identiek en worden gesynchroniseerd. Welke je kiest maakt niet uit, behalve voor je imago misschien.
Als je als consument een bepaalde service nodig hebt, is het zaak een bijbehorend tModel te construeren. Een tModel is een soort contract van je verwachtingspatroon, geschreven in XML. Dit contract beschrijft de acties die worden verwacht van een service.
Iedere service provider kan vervolgens een service maken die voldoet aan de set eisen uit je tModel. Omdat de gevraagde service een gestructureerd formaat heeft, is iedere op hetzelfde tModel gebaseerde service functioneel gezien identiek. Het maakt dus niet uit wie het bouwt, of hoe hij of zij dat precies doet. Een openbare aanbesteding wordt zo een haalbare kaart.
Wat wel uitmaakt, is hoeveel dat gaat kosten of hoe lang het duurt. Wordt de service provider te duur of blijkt hij onbetrouwbaar, dan is het voor de consument eenvoudig om met het bestaande tModel over te stappen naar een andere provider.
Als de consument een tModel heeft waarvoor al services bestaan, dan is het via UDDI mogelijk om alle aanbieders van een service voor hetzelfde tModel te vinden. Dit wordt ook wel de Green Pages genoemd. Een prijsvergelijking is dan simpel.
Windows Server 2003 Enterprise biedt Enterprise UDDI-services, een interne infrastructuur voor web services. Met deze op standaarden gebaseerde oplossing kunnen bedrijven hun eigen UDDI-directory uitvoeren voor gebruik op Internet, intranet of extranet.
Met Enterprise UDDI zijn web services en andere applicaties gemakkelijk te ontdekken. Ontwikkelaars kunnen de beschikbare web services in hun organisatie zo snel zoeken en hergebruiken. Je kunt het zien als de interne IT catalogus van een organisatie. Voordat je iets nieuws voor het bedrijf gaat bouwen, kun je hier vinden wat er al beschikbaar is.
De services die worden neergezet in de UDDI omgeving van Windows Server 2003 zijn geen onderdeel van de wereldwijde bibliotheek, maar natuurlijk alleen voor de eigenaar van de server beschikbaar.
Het klinkt nu natuurlijk allemaal geweldig. In de praktijk gaat er echter nogal eens wat mis. Eigenlijk komt dat vooral omdat er nog iets mist in het plaatje.
Met WSDL kun je web services definiëren en met UDDI services kun je ze opzoeken. Geen van de twee laat echter toe om op een praktische manier de echte betekenis van de gebruikte termen te laten zien. Taal laat namelijk vaak ruimte voor dubbele betekenissen: vraag aan 10 mensen wat bijvoorbeeld een offerte is, en je krijgt 10 verschillende antwoorden. Er kan dus een interpretatieprobleem ontstaan.
Vaak zijn web services onderdeel van business processen waar heel veel geld in om gaat. Missers doen dan pijn in je portemonnee of erger.
Als er een web applicatie gebouwd moet worden, doe jezelf dan een plezier en kijk eerst in je favoriete UDDI business registry. Er is al een groot aanbod van web services, dus de kans is groot dat je vindt wat je zoekt. Het is helemaal smullen als er meerdere oplossingen bestaan voor jouw probleem, omdat je dan prijsvergelijkingen kunt gaan doen.
Winst met web services is inmiddels voor iedereen in zicht, dus laat die kans niet voorbijgaan.
is een liefhebber. Na een kort experiment als geofysicus, raakte hij verslingerd aan het Internet. Vooral ontwikkelmethodes en modelleren zijn leuk, natuurlijk.
Hij werkt als Business Analyst bij webbouwer Evident Interactive, voor klanten als KPN Hi, Akzo Nobel en Jaarbeurs Utrecht.
Sander is bovendien eigenaar van Centrical, een e-commerce iniatief (ja, dat kan weer).
Publicatiedatum: 17 september 2003
Naar Voren is op 18 juli 2010 gestopt met publiceren. De artikelen staan als een soort archief online. Het kan dus zijn dat de informatie verouderd is en dat er inmiddels veel betere of makkelijkere manieren zijn om je doel te bereiken.
Copyright © 2002-heden » NAAR VOREN en de auteurs