Webdiensten schieten als paddestoelen uit de grond. Het zijn een soort bouwblokken die een softwareontwikkelaar kan aanwenden om in korte tijd en met weinig expertise interessante functionaliteit te realiseren. Ze hoeven niet lokaal geïnstalleerd te worden maar draaien op ‘hosting’-locatie (ASP-model). Michiel Visser denkt dat deze webdiensten in toenemende mate gebaseerd zullen zijn op een nieuw XML-protocol, dat onlangs is geïntroduceerd door onder andere IBM en Microsoft: SOAP en UDDI.
Onder webdiensten vallen zaken als facturering, adresverificatie, ’tracking’ en ’tracing’. Interessante functionaliteiten die een ontwikkelaar met UDDI (Universal Description, Discovery and Integration) kan bouwen zijn websites voor e-handel, b2b-samenwerkingsportalen of niet webgerelateerde applicaties, zoals een adresverificatie voor een klantenadministratiesysteem.
Op 6 september vorig jaar kondigden 36 bedrijven onder aanvoering van IBM, Microsoft en Ariba het Uddi-initiatief aan, voor een elektronische ‘business-to-business’-handel. Uddi is een soort telefoongids voor webdiensten: een standaard voor het beschrijven, vinden en gebruiken van webdiensten.
Een webdienst is een bouwblok dat via het internet te benaderen is. Zo’n bouwblok wordt geïntegreerd in de eigen software, bijvoorbeeld een website. Deze site maakt vervolgens via het internet gebruik van de webdienst; een soort blokken dus die op elkaar gestapeld, bijvoorbeeld in een webpagina geklikt kunnen worden.
Voorbeelden van webdiensten zijn ‘click2dial buttons’, de presentatie van ’tracking-‘ en ’tracing’-informatie, complete facturering-applicaties, de besturing van bedrijfsprocessen zoals inkoop en logistiek, maar ook leuke gadgets zoals de huidige temperatuur in Amsterdam. De complexiteit en omvang kunnen sterk variëren: van kleine omrekenfuncties tot grote programma’s. Een goed voorbeeld van een eenvoudige webdienst in verschillende sites is de file-informatie over het Nederlandse wegennet, zoals die te vinden is bij onder andere Planet Internet en Zibb.nl.
Makers en aanbieders van een webdienst kunnen variëren van een bedrijf als Cap Gemini tot een bijklussende student. Er is hierdoor een groot potentieel aan webdiensten beschikbaar.
De partij die gebruik kan gaan maken van een webdienst heeft kennis van softwareontwikkeling, maar heeft niet alle expertise in huis, wil een snelle time-to-market realiseren, moet kosten drukken, enzovoorts. Door gebruik te maken van webdiensten kan een softwareontwikkelaar in korte tijd geavanceerde features zoals ’tracking’ en ’tracing’ aan zijn software- (web)-applicatie toevoegen. Hierdoor hoeft de ontwikkelaar deze features niet zelf meer te realiseren.
Gouden Webgids
Net zoals internet zich in snel tempo ontwikkelt, doen ook de verschillende partijen dat met het ontwerpen en aanbieden van webdiensten. ‘Time to market’ is voor internet-toepassingen een belangrijke speerpunt; als de concurrent een webdienst heeft, wil men die zelf ook zo snel mogelijk afnemen. Het is zaak snel (en tegen lage kosten) gebruik te maken van zo’n webdienst.
Uddi is een soort gouden gids voor webdiensten. Het faciliteert een eenvoudig en snel gebruik van webdiensten, zoals het volgende voorbeeld duidelijk moet maken. Stel dat een webdienst-gebruiker (een softwareontwikkelaar) een website wil ontwikkelen. Vanwege gebrek aan expertise en programmeurs, een kortere ’time to market’ en lagere kosten wil hij gebruik maken van webdiensten. Hoe komt de ontwikkelaar te weten van wie hij de webdiensten kan afnemen die voor zijn klant nodig zijn? Het internet is erg groot en vele verschillende partijen bieden vele webdiensten aan. De ontwikkelaar moet een geschikte webdienst-aanbieder dus eerst vinden. Om een webdienst te kunnen vinden, moet een webdienst duidelijk beschreven zijn. Voor welke markt en/of proces is de webdienst bedoeld en wat doet de webdienst voor die markt of dat proces?
Is een pasklare webdienst gevonden, dan moet deze ook bruikbaar zijn: de webdienst-gebruiker moet zijn software de webdienst laten gebruiken.
De Universal Description, Discovery and Integration-standaard beschrijft hoe webdiensten beschreven, gevonden, en gebruikt kunnen worden. Centraal bij Uddi staan de Uddi Business Registries, een register voor webdiensten. De website http://www.uddi.org noemt momenteel drie toekomstige Uddi Business Registries: IBM, Microsoft en Ariba.
Boven op deze Business Registries zullen marktplaatsen en zoekmachines diensten met toegevoegde waarde realiseren, zoals geavanceerd zoeken, facturering voor het gebruik van webdiensten, ondersteuning bij het op elkaar afstemmen van vraag en aanbod, kredietwaardigheidschecks van afnemers, kwaliteitskeurmerken voor webdiensten, enzovoort.
Aanroepstandaard
Uddi kan gebruik maken van SOAP (Simple Object Access Protocol), een standaard in wording voor het aanroepen van webdiensten. Soap is een XML-formaat waarmee een ontwikkelaar (bijvoorbeeld van de website van Planet Internet) aan de webdienstaanbieder (bijvoorbeeld KNMI) kan laten weten welke webdienst (bijvoorbeeld opvragen van de huidige temperatuur in Amsterdam) hij uitgevoerd wil zien. Daarnaast kan de webdienstaanbieder met een Soap-berichtje aan de ontwikkelaar laten weten wat het antwoord op de vraag is. Soap is dus een ‘messaging’ mechanisme voor bijvoorbeeld ‘remote procedure calls’ over het internet. Anders gezegd: Soap is een mechanisme voor het aanroepen van webdiensten.
Soap kan verstuurd worden met een willekeurig protocol, hoewel de huidige specificaties alleen nog van Http (Hyper Text Transfer Protocol) gebruikmaken. Met Soap over Http kunnen webdienstgebruikers en -aanbieders de huidige internet-infrastructuur inzetten voor het uitwisselen van berichten: een webserver is voldoende voor het aanbieden van diensten, en een besturingssysteem met internetconnectiviteit is voldoende voor het gebruiken van webdiensten. Dit is een van de aantrekkelijke eigenschappen van Soap: er is niet veel voor nodig; in korte tijd zijn snel aantrekkelijke toepassingen te realiseren.
Een nieuwe webdienst kan zich aanmelden bij een Uddi Business Registry. Deze zorgt ervoor dat de webdienst gepubliceerd wordt. De aanvraag voor publicatie vindt plaats via de Uddi-standaard. In deze standaard zijn berichten gespecificeerd voor het publiceren van webdiensten, en deze berichten kunnen met behulp van Soap verzonden worden.
Daarnaast specificeert de Uddi-standaard berichten voor het vinden en gebruiken van webdiensten. Een ontwikkelaar die een webdienst nodig heeft, kan hiermee de Uddi Business Registry bevragen. De ontwikkelaar kan opvragen welke bedrijven webdiensten aanbieden (de ‘white pages’), tot welke categorie een bepaald bedrijf behoort (de ‘yellow pages’) en hij kan technische details zoals de signatuur en locatie van een specifieke webdienst (de ‘green pages’) te weten komen.
Commerciële Uddi Business Registries zijn er nog niet, maar er zijn wel enkele bèta-sites operationeel waar ervaring met Uddi en webdiensten opgedaan kan worden. Zie http://www.uddi.org voor meer informatie over deze sites.
Beschrijvingstaal
Met Soap kunnen webdiensten aangeroepen worden en met Uddi zijn ze te registreren en weer terug te vinden. Om dergelijke webdiensten vervolgens te kunnen gebruiken is het noodzakelijk dat ze duidelijk beschreven zijn. Elke dienst moet bovendien op een uniforme manier beschreven zijn. Vanwege deze uniformiteit is het eenvoudig om meerdere diensten te gebruiken als men er eenmaal een heeft gebruikt.
Webdiensten worden bij Uddi beschreven met de Web Services Description Language (WSDL), een specificatie die eind september door Microsoft en IBM is voorgesteld als mogelijke uitbreiding op de Uddi-standaard http://www-4.ibm.com/software/developer/library/w-wsdl.html?dwzone=web).
Wsdl is de synthese van eerdere initiatieven die als voorlopers op Uddi gezien kunnen worden. Deze initiatieven hadden niet zoals Uddi de steun van meerdere industriepartners, maar waren het product van één bedrijf. Zo heeft Microsoft de Soap Contract Language (SCL) en Service Description Language (SDL) ontwikkeld, en IBM de Network Accessible Services Specification Language (NASSL). Deze initiatieven zijn verenigd in de Wsdl-specificatie, waarbij de steun zich niet beperkt tot een enkele industriepartner.
Wsdl beschrijft een webdienst door middel van de signatuur van de dienst en het netwerkprotocol waarmee deze aangeroepen kan worden (bijvoorbeeld met Soap, Http of een ander netwerkprotocol). Wat de relatie is tussen deze specificatie en de analogie van de eerder genoemde ‘green pages’ is hierbij niet expliciet gemaakt, maar het ligt voor de hand de groene bladzijden op te vatten als een referentie naar een Wsdl-document.
Status en support
Uddi is nog niet ingediend bij een standaardisatieorgaan. Het idee hierachter is dat snelheid het best te garanderen is door met een aantal industriepartners bij elkaar te komen in een speciaal voor Uddi opgezette organisatie (Uddi.org). Het alternatief is namelijk de Uddi-specificatie in een werkgroep van een standaardisatieorgaan uit te werken en die organen zijn over het algemeen niet zo snel. Vandaar de keuze voor Uddi.org.
De bedoeling is om de Uddi-specificatie binnen achttien maanden (vanaf september 2000) in te dienen bij een standaardisatie-orgaan. Dit orgaan kan dan zorg dragen voor de officiële standaardisatie. Waarschijnlijk is Uddi tegen die tijd echter al een de-facto standaard, zodat officiële standaardisatie slechts een formaliteit is. Of Uddi is roemloos ten onder gegaan, in welk geval standaardisatie niet zoveel zin meer heeft.
Het proces voor standaardisatie is te vergelijken met de weg die men met bijvoorbeeld WAP (Wireless Application Protocol) heeft bewandeld: een standaard in de markt zetten door een sterk pact van bedrijven, waarna de standaard verder beheerd en uitgebreid mag worden door een officieel standaardisatieorgaan.
Het wel of niet slagen van Uddi komt neer op de mate waarin de specificatie wordt ondersteund door de dominante partijen. En dat ziet er goed uit. De specificatie is door drie belangrijke partijen gelanceerd (Microsoft, IBM en Ariba). Hiermee heeft Uddi een goede fundering in de Microsoft-wereld, de Java-wereld en de b2b-wereld. Daarnaast hebben vele andere sterke bedrijven zich bij Uddi.org aangesloten, waaronder Sun, SAP, Commerce-One, i2, Vertica-Net, Fujitsu, Andersen Consulting, Dell Computer, Merrill Lynch & Co., Web-Methods, Veri-Sign, Tibco, Rational, Sterling Commerce en Nortel Networks.
De enige twee bedrijven die nog roet in het eten konden gooien waren Hewlett-Packard en Oracle. Hewlett-Packard is al geruime tijd bezig met het ‘E-speak framework’, een soortgelijk initiatief als Uddi, maar zonder de brede steun van de industrie. HP heeft zich echter geschikt naar het belang van een gezamenlijke standaard en heeft zich ook aangesloten bij Uddi. Hierbij heeft HP echter wel afgedwongen dat de oprichters van Uddi.org (Microsoft, IBM en Ariba) hun vetorecht op voorstellen voor toevoegingen op Uddi sterk gereduceerd zien; een goede ontwikkeling voor een open standaard.
Oracle-standaard
Larry Ellison denkt met de e-business-software van Oracle de heilige graal in handen te hebben om de e-handel te kunnen domineren. Het bedrijf heeft evenals HP een alternatieve standaard voor webdiensten: Oracle’s Dynamic Services Framework. Dit alles verklaart waarom Oracle niet in Uddi is gestapt. Ellison verwacht met dit product zijn databasesuccessen vele malen te zullen overstijgen. Als deze droom uitkomt zou Uddi zich wel eens kunnen ontpoppen tot het Java-initiatief voor de e-business: de open standaard die tegenwicht biedt tegen de marktdominantie van een enkele onderneming.
Ondertussen heeft Uddi.org de eerste specificaties opgeleverd. De Uddi-specificatie geldt momenteel als een ‘specification’ en Wsdl als een ‘potential submission’. Dat betekent zoveel als "Uddi is in de eerste versie klaar en over Wsdl denken we nog na".
In tegenstelling tot Uddi is Soap wel ingediend bij een standaardisatieorgaan, namelijk in mei 2000 bij het Worldwide webconsortium – W3C (na in november 1999 al bij de IETF ingediend te zijn – de ‘Internet Engineering Task Force’). Bij W3C houdt de werkgroep ‘XML Protocol’ zich met het specificeren bezig. Deze groep definieert een methode voor het uitvoeren van onder andere ‘remote procedure calls’ op basis van XML. Soap zal hier ongetwijfeld als de standaard uit de bus komen; andere XML-protocollen gelden slechts als voorloper.
Daarnaast genieten Soap en Uddi een brede steun bij de belangrijke partijen in de industrie, waaronder de leveranciers van b2b-marktplaplaatsen Ariba, i2 en CommerceOne, de leveranciers van softwareplatforms Microsoft, IBM en Sun, en de erp-leverancier SAP.
Producten voor Soap zijn momenteel in alpha-of bèta-vorm te verkrijgen. Voorbeelden zijn IBM Web Services toolkit (http://www.alphaworks.ibm.com/aw.nsf/techmain/webservicestoolkit) en Microsoft Soap Toolkit http://msdn.microsoft.com/xml/general/toolkit_intro.asp).
Uddi is een jonge en evoluerende standaard voor de webdienstenmarkt, die gebruik maakt van Soap. Dankzij een brede ondersteuning door de leiders in de industrie voor b2b-software heeft de specificatie een stevige positie als potentiële standaard voor b2b-webdiensten.
Michiel Visser Kpn Research