Webservices - overzicht

Een webservice is een groep verwante toepassingenfuncties die programmatisch kunnen worden aangeroepen via internet. Bedrijven kunnen verschillende webservices op dynamische wijze combineren en afstemmen om ingewikkelde transacties uit te voeren met minimale programmeerinspanningen. Webservices stellen kopers en verkopers van over de hele wereld in staat om met elkaar in contact te komen, te communiceren en in real-time transacties af te sluiten zonder al te veel menselijke interactie.

Webservices zijn zelfstandige, zelfbeschrijvende modulaire toepassingen die kunnen worden gepubliceerd, opgezocht en aangeroepen via internet.

Webservices kunnen zelfstandig worden uitgevoerd. Er is geen aanvullende software voor nodig aan de zijde van de client. Een programmeertaal met ondersteuning voor XML en HTTP-clients is al voldoende. Aan de zijde van de server hebt u een webserver en een servletengine nodig. De client en de server kunnen in verschillende omgevingen zijn geïmplementeerd. Het is mogelijk om een bestaande toepassing in te zetten als webservice zonder één regel code te hoeven schrijven.

Webservices zijn zelfbeschrijvend. De client en de server moeten alleen de indeling en de inhoud van aanvraag- en antwoordberichten kunnen herkennen. De definitie van de berichtindeling wordt samen met het bericht verzonden; u hebt geen externe metagegevensrepository's of hulpprogramma's om code mee te genereren nodig.

Webservices zijn modulair opgebouwd. Eenvoudige webservices kunnen worden geaggregeerd tot ingewikkeldere webservices door werkstroommethoden te gebruiken of door webservices op een lager niveau aan te roepen vanuit een webservice-implementatie.

Webservices zijn niet afhankelijk van een platform. Webservices zijn gebaseerd op een kernset van open, op XML gebaseerde standaards die ontworpen zijn om de compatibiliteit tussen webservices en clients op verschillende computerplatforms en verschillende programmeertalen te vergroten.

Webservices kunnen variëren van theaterrecensies, weerberichten, kredietwaardigheidscontroles, aandelenkoersen, reisadviezen of processen voor het reserveren van vliegtickets. Elk van deze zelfstandige zakelijke services is een toepassing die eenvoudig kan worden gecombineerd met andere services van hetzelfde of een ander bedrijf. Zo kunt u een volledig bedrijfsproces ontwikkelen. Dankzij deze compatibiliteit kunnen bedrijven een heel scala aan webservices op internet publiceren, opsporen en koppelen.

Categorieën webservices

Webservices kunnen worden onderverdeeld in drie categorieën:

Bedrijfsinformatie. Een bedrijf kan informatie beschikbaar stellen aan klanten of andere bedrijven. In dit geval gebruikt een bedrijf webservices om een groter publiek te bereiken. Voorbeelden van zakelijke informatieve webservices zijn nieuwsstromen, weerberichten en aandelenkoersen.

Bedrijfsintegratie. Een bedrijf biedt haar klanten transactionele services tegen betaling. In dit geval maakt het bedrijf deel uit van een wereldwijd netwerk van leveranciers met toegevoegde waarde om handel te drijven. Voorbeelden van bedrijfsintegratiewebservices zijn veilingsites (e-marktplaatsen), reserveringssystemen en kredietwaardigheidscontroleprocessen.

Bedrijfsprocesexternalisatie. Een bedrijf kan zich van de concurrentie onderscheiden door een totale waardeketen in het leven te roepen. In dit geval gebruikt het bedrijf webservices om haar bedrijfsprocessen met elkaar te integreren. Een voorbeeld van webservices voor bedrijfsprocesexternalisatie is de koppeling tussen verschillende bedrijven om de fabricage, assemblage, distributie naar de groothandel en de detailverkoop van een bepaald product te combineren.

Servicerollen en interacties

Een netwerkcomponent in een architectuur met webservices kan een of meer van de volgende fundamentele rollen vervullen: serviceprovider, servicemakelaar en serviceclient.

De binding omvat het instellen van alle benodigde omgevingsvereisten om de services te kunnen realiseren. Voorbeelden van omgevingsvereisten zijn beveiliging, transactiecontrole en HTTP-beschikbhaarheid. Zie figuur 1 voor de onderlinge relaties tussen deze rollen.

Figuur 1. Servicerollen en interacties.

In figuur 1 worden de interacties tussen de servicemakelaar, de serviceprovider en de aanvrager van de service afgebeeld.

Zie www.ibm.com/developerworks/webservices voor meer informatie over webservices.