Webservices: wat is het (niet)?
Zijn webservices een nieuwe hype? De nieuwste Internet trend? Wat kunnen we nu werkelijk met webservices? De experts van Whitehorses doen een boekje open.
Wat zijn webservices precies?
Bedrijfsapplicaties kunnen middels één of meer webservices direct - dus zonder interactieve tussenkomst - met elkaar communiceren, gegevens uitwisselen en op afstand bepaalde programma's modules (procedures en functies) activeren. Webservices zijn een combinatie van concepten en technologie - echter beide zijn niet nieuw. Zo zijn we al vele jaren bezig om applications met elkaar te laten communiceren. Webservices worden mede mogelijk gemaakt door de succesvolle combinatie van Java en XML - echter ook deze technologieën zijn niet nieuw. Er is echter meer … en daar ligt de kracht.
De kracht van webservices ligt in het feit dat ze zelfbeschrijvend zijn - hetgeen wil zeggen dat de een applicatie aan een andere applicatie kan opvragen hoe de webservices moet worden aangeroepen en welke parameters worden teruggegeven. Hiervoor worden de volgende specifieke webservice standaarden gebruikt: SOAP - Simple Object Access Protocol, WSDL - Webservices Description Language en UDDI - Universal Description, Discovery and Integration standaard. Deze Internet standaarden worden zowel door de Microsoft .NET architectuur gebruikt als door de Java (J2EE) architectuur.
Waarvoor gebruiken worden webservices gebruikt?
Webservices worden toegepast voor applicatie-applicatie en website/browser-applicatie communicatie - zowel voor interne als externe applicaties. Webservices bieden een zeer krachtig en flexibel concept voor applicatie-applicatie communicatie, waarbij informatie kan worden opgevraagd uit een andere applicatie of waarbij updates op bepaalde gegevens worden doorgegeven. De ontvangende applicatie bepaalt namelijk zelf welke webservices beschikbaar worden gesteld en hoe de interface (middels de WSDL definitie) er uit ziet.
Hiernaast kan de applicatie die de webservice aanroept dynamisch bepalen of deze wel en niet wordt gekozen of dat doorgeschakeld wordt naar een andere webservice, op grond van de terugontvangen resultaten of de beschikbaarheid van de webservice.
Naast applicatie-applicatie communicatie worden webservices ook toegepast bij browser-applicatie communicatie - hierbij kan gedacht worden aan bijv. het opvragen van koersen, het weerbericht, of het doorplaatsen van een bestelling die geplaatst is op een e-commerce website naar het logistieke systeem van een toeleverancier
Wat zijn webservices niet?
Webservices zijn niet bedoeld voor een volledige applicatie integratie, waarbij twee verschillende applicaties (bijv. een ERP systeem en een CRM systeem) volledig met elkaar interfacen. Dit is met name niet mogelijk doordat er veelal semantische verschillen bestaan tussen applicaties. Webservices zijn daarom vooral bedoeld om bepaalde, duidelijk omschreven, diensten te verlenen aan andere applicaties
Een aantal andere belangrijke issues rond het gebruik van webservices zijn veiligheid, betrouwbaarheid en performance:
- Veiligheid: het mag natuurlijk niet zo zijn dat niet geautoriseerde gebruikers de webservice kunnen aanroepen. De Oracle9iAS UDDI registry biedt de optie dat alleen geautoriseerde en bekende (authenticated) gebruikers de gegevens kunnen lezen. De communicatie tussen de webservice client en de webservice provider (via de Oracle9i applicatie server) kan worden beveiligd door gebruik van SSL, SMIME 3.0 en digitale certificaties en "signatures".
- Betrouwbaarheid: hoe zeker zijn we dat de webservice ook daadwerkelijk wordt doorgevoerd - bijv. bij het doorplaatsen van een order? Omdat webservice providers keurig een status terugmelden aan de clients kan met een grote mate van zekerheid uitgegaan worden van de betrouwbaar van webservice "transacties"- echter extra controles (achteraf) zullen waarschijnlijk altijd noodzakelijk blijven.
-
Performance: webservices maken per definitie gebruik van een applicatie server waardoor er performance issues kunnen gaan spelen bij het verwerken van grote aantallen transacties.
Hoe ondersteunt Oracle webservices?
Oracle9i Application Server (versie 2) biedt een volledige ondersteuning door o.a. een UDDI Registry (beschrijft de webservice), een SOAP client API voor de webservice aanvrager (de webservice client) en een SOAP server waarmee de webservices verleend worden aan de aanvragers.
Met JDeveloper kunnen zowel de UDDI registry's, de webservice clients als de webservice providers gegenereerd worden.
Ten slotte worden de webservices met behulp van Oracle Enterprise Manager (OEM) beheerd, zoals bijv. het aanmaken of verwijderen van webservices categorieën, het bekijken of aanpassen van individuele webservices eigenschappen, of het aanmaken of aanpassen van applicatie accounts.

Reacties
Nieuwe reactie inzenden