Challenge us
menu

Infoblog: De informatiestroom van applicatie naar website en andersom…

Je bekijkt op dit moment een oudere story. De inhoud hiervan kan verouderd zijn. Bekijk hier onze laatste stories
 

Sinds het ontstaan van internet is het altijd de bedoeling geweest informatie van A naar B over te brengen. Naast een online visitekaart kent het internet vele manieren om informatie uit te wisselen. Deze informatie wordt lang niet altijd meer ontsloten uit de database van de website. In dit artikel wordt een mogelijkheid belicht om informatie uit te wisselen tussen (desktop) applicaties en een website.

Hoe communiceert mijn website met de door ons aangeschafte software?

Communicatie tussen websites en software kent vele mogelijkheden. Er wordt vaak gesproken over een API of een webservice, maar hoe werken deze nu precies? Kort door de bocht kun je zeggen dat je met een API de beschikking hebt over informatie uit een extern software pakket.

Een webservice kan worden omschreven als een architectuur waarbij functionaliteiten (of delen daarvan) van een software pakket kunnen worden aangesproken via het internet zonder dat zender en ontvanger dezelfde taal spreken. Op deze manier kan bijvoorbeeld informatie vanaf de website worden opgeslagen in de database op de server, waarbij het internet slechts wordt gebruikt als medium om berichten over en weer te zenden.

Welke technieken worden er gebruikt?

Om informatie uit te wisselen tussen verschillende automatiseringssystemen is het van belang dat beide systemen dezelfde taal communiceren. Ontwikkelaars hebben hiervoor een aantal standaarden gedefinieerd. n van deze standaarden is XML, dat door vele verschillende programmeertalen geadopteerd wordt. Een XML bericht is een gestructureerd bericht waarbij de ontwikkelaar zelf de vrije invulling geeft aan tags en informatie. De manier waarop de verkregen informatie genterpreteerd dient te worden, wordt vaak in samenspraak met betrokken partijen besloten.

Naast XML wordt er gebruik gemaakt van het HTTP protocol om een bericht in XML formaat over het internet uit te wisselen. Dit protocol wordt ook gebruikt om websites in de webbrowser weer te geven wanneer het webadres wordt ingevoerd in de adresbalk.

De manier waarop een XML bericht dat is verzonden via het HTTP protocol door de ontvanger moet worden genterpreteerd en moet worden vormgegeven wordt beschreven in een WSDL (Web Services Description Language). Deze WSDL files kunnen worden gezien als een handleiding voor het juiste gebruik van de webservice. Het geeft exact aan wat de server aan XML berichten verwacht en in welke structuur het antwoord door de server wordt teruggezonden.

Implementatie van een webservice

Voor de juiste implementatie is een zender en een ontvanger benodigd (server / clint architectuur). De server stelt interfaces beschikbaar waarmee via het internet informatie kan worden ontsloten uit de database van de server applicatie. Zonder dat de clint enige weet heeft van de werking van de server kan toch de gewenste informatie worden verkregen door het aanspreken van de juiste interfaces.

Voor de implementatie kan gebruik worden gemaakt van een aantal beschikbare software bibliotheken die het voor ontwikkelaars eenvoudiger maken om XML berichten naar de server te versturen en XML antwoorden te ontvangen.

In veel gevallen kan de verkregen informatie van de server niet direct worden verwerkt in een website. De ontwikkelaar neemt dan het initiatief de verkregen informatie in de juiste taal om te zetten zodat deze kan worden gebruikt in de website.

Maar wat betekent dit in de praktijk?

In de praktijk betekent dit dat wij in staat zijn om via het internet te werken met informatie die ontsloten kan worden uit software applicaties van derde partijen, zonder dat hiervoor menselijke handelingen voor hoeven te worden verricht.

Tevens biedt het ons mogelijkheden om bijvoorbeeld orders geplaatst in Magento automatisch te verwerken in boekhoudsoftware. Gegevens van klanten, bestellingen en voorraadden kunnen in ERP of CRM pakketten worden verwerkt, zodat al uw medewerkers automatisch beschikken over de meest actuele informatie. Dit voorkomt dat informatie handmatig van het ene pakket naar het andere moet worden overgezet. De kans of fouten of vertragingen neemt hierdoor af.

Uiteraard zijn er talloze praktijk voorbeelden te verzinnen waardoor koppelingen tussen verschillende software pakketten en bijvoorbeeld ModX of Magento interessant kunnen zijn.

Het is toch altijd al de bedoeling geweest informatie zo snel mogelijk van A naar B over te brengen?

Auteur: Daniel Lefers

Emerce100 #1-3 Digital agency '21 '22 '23

#1-3 Digital agency '21 '22 '23