Een bedrijf heeft al snel te maken met meerdere softwarepakketten. Eentje voor de boekhouding, eentje voor de urenregistratie, een customer relations managementsysteem… Voor je het weet zit je in al deze systemen dezelfde gegevens in te voeren! En dan hebben we het nog niet eens over de informatie binnen een website of -shop. Voorraadbeheer, ordermanagement of klantinformatie, hoe fijn zou het zijn als je dit allemaal in één pakket zou kunnen stoppen? Het goede nieuws: er is een oplossing. Door middel van softwarekoppelingen kun je meerdere applicaties met elkaar laten communiceren.
Wat is een softwarekoppeling?
Een softwarekoppeling kan twee afzonderlijke softwareprogramma’s met elkaar verbinden. De programma’s spreken namelijk ieder een eigen taal en de koppeling vormt als het ware een soort tolk waardoor de programma’s elkaar begrijpen en onderling gegevens kunnen uitwisselen. Een softwarekoppeling kan een uitkomst zijn in allerlei situaties. Denk bijvoorbeeld aan:
- Het reduceren van handmatige acties door bijvoorbeeld de verkoop en de administratie met elkaar te laten communiceren.
- Een webshop koppelen aan het voorraadbeheersysteem of het CRM systeem.
- Een urenregistratiesysteem dat de gegevens uitwisselt met de salarisadministratie.
Het voordeel van softwarekoppelingen
Softwarekoppelingen besparen je heel wat tijd. In plaats van te werken in afzonderlijke systemen, hoe je informatie niet handmatig over te nemen. Ga je een stap verder? Dan zorg je dat de informatie uit verschillende systemen via diverse koppelingen bij elkaar komt in één systeem vanuit waar je deze kunt beheren. Daardoor vermindert ook het risico op fouten: als je gegevens (drie)dubbel moet invoeren, is er meer kans op typfouten of andere vergissingen. Bovendien is je systeem altijd up to date als de verschillende databronnen aan elkaar gekoppeld zijn. Al met al levert zo’n koppeling dus heel wat gebruiksgemak op. Andere redenen om te kiezen voor softwarekoppelingen:
- Het is een relatief snelle en goedkope oplossing ten opzichte van je personeelskosten. Zijn er al bestaande koppelingen, dan zijn deze veelal voor een maandbedrag van enkele tientjes tot enkele honderden euro per maand af te nemen. Natuurlijk kun je zelf software (laten) maken waarbij alle benodigde functionaliteiten worden ingebouwd. Het laten ontwikkelen van custom-made software kost echter meer tijd en logischerwijs dus ook meer geld.
- Het is een duurzame oplossing. Waarom zou je afzonderlijke, goedwerkende programma’s waar je tijd en geld in hebt geïnvesteerd, weggooien terwijl je ze ook aan elkaar kunt koppelen om tot een nieuw systeem te komen dat aansluit bij je huidige behoeftes?
Hoe koppel je software?
Om een softwarekoppeling te maken, kun je het beste werken met een API, oftewel een Application Programming Interface. Kort gezegd is zo’n interface een ingebouwd stukje software dat een ander softwarepakket in de gelegenheid stelt om data op te halen of toe te sturen.
Veel softwareprogramma’s hebben een API. Heb je te maken met twee aparte pakketten die allebei beschikken over een API, dan is de koppeling meestal snel gerealiseerd. Dat gebeurt door middel van een tussenlaag: een programmaatje waarin bepaald wordt hoe en welke gegevens de API’s moeten uitwisselen.
Grotere softwaresystemen bieden vaak (WordPress) plug-ins of packages om een koppeling te realiseren. MailChimp is daar een voorbeeld van. Bij het gebruik van een plug-in is een tussenlaag creëren niet nodig. Eigenlijk heb je er dan dus helemaal geen omkijken meer naar. Plug-ins bevatten echter wel veel vastgestelde waarden, waardoor je de functionaliteit van het programma veelal niet meer kunt figureren.
Bij een package is de tussenlaag al gerealiseerd, maar staat de werking van de applicatie nog niet vast. Deze oplossing bespaart je in ieder geval tijd terwijl je qua functionaliteit nog veel kanten op kunt.
Geen budget om zelf de API’s te laten koppelen? Dan kun je altijd nog een tool gebruiken. Een platform als Zapier biedt bijvoorbeeld honderden bekende apps en programma’s die je rechtstreeks kunt koppelen aan jouw systeem. Deze hulpdienst is in de basisversie gratis. Wil je gebruikmaken van de uitgebreidere mogelijkheden, dan ben je gebonden aan een (betaald) abonnement. Uiteraard gaat deze kant-en-klare oplossing niet op voor op maat gemaakte applicaties; die zul je niet tegenkomen in het overzicht op Zapier.
Softwarekoppeling zonder API
Het kan ook voorkomen dat er geen API beschikbaar is en ontwikkeling ervan niet op de planning staat. Toch kun je ook in dat geval een softwarekoppeling maken. Bij een missende API is de producent van de software meestal bereid om de benodigde data in een bestand op hun server beschikbaar te stellen. Met de juiste informatie (documentatie over de structuur, de parameters en de authenticatie) kan je alsnog zelf de benodigde koppeling ontwikkelen om de applicaties met elkaar te laten communiceren.
Krijg je geen medewerking van de softwareleverancier, dan zul je via een omweg de informatie uit het softwarepakket moeten halen. Dat is een specialistische klus waarbij een hoop afhankelijkheid van de inrichting van de software ontstaat. Zo is het bijvoorbeeld mogelijk om informatie uit de HTML code van een website te halen of een programma op de computer een vaste set aan handelingen te laten verrichten.
Softwarekoppeling in de cloud of juist niet?
Als ontwikkelaar kun je ervoor kiezen om de koppelingen on premise te realiseren of in de cloud. Het voordeel van een cloud-oplossing is dat het systeem altijd en overal direct wordt bijgewerkt. Dat kan voor sommige doeleinden heel belangrijk zijn, denk aan een voorraadkoppeling, een app voor meldingen van noodsituaties, verkeersdata of andere actuele gegevens. Heeft het up to date zijn minder prioriteit en draait een van de te koppelen systemen op een computer? Dan is on premise een mogelijkheid. Op de momenten dat je niet over een internetverbinding beschikt, worden de gegevens tijdelijk opgeslagen. Het systeem wordt dan bijgewerkt op het moment dat die connectie er wel weer is. Deze methode is inmiddels minder in gebruik aangezien ook cloudoplossingen prima mogelijkheden hebben om data tijdelijk op een fysiek apparaat op te slaan.
Meerdere systemen koppelen
Met één API kun je de gegevens van meerdere systemen met elkaar laten communiceren. Naast een vrij eenvoudige koppeling van A naar B kun je dus nog meer combinaties maken. Denk bijvoorbeeld aan een webshop waarbij de voorraad automatisch wordt aangepast als de klant een item afrekend, terwijl tegelijkertijd de verkoopadministratie wordt bijgewerkt.
Het koppelen van meerdere systemen via één API is wel iets ingewikkelder. Om alles goed op elkaar te laten aansluiten, heb je een tussenstation nodig waarop alle data uit de verschillende systemen met elkaar uitgewisseld wordt. Hier dienen de verschillende namen die binnen deze systemen aan dezelfde data worden gegeven genormaliseerd te worden. Dit houdt in dat ze allemaal dezelfde noemer krijgen waardoor de informatie uitwisselbaar wordt. Een ervaren softwareontwikkelaar kan zo’n A-B-C-koppeling realiseren.
Zelf softwarekoppeling maken: tips
Ga je zelf aan de slag met het koppelen van systemen? Let dan vooral op de volgende aandachtspunten:
– Geef veiligheid voorrang. Bij een koppeling worden er veel gegevens over en weer opgehaald en weggeschreven. Beveiliging van deze gegevens is dus een uitermate belangrijk aspect als je een softwarekoppeling maakt.
– Teken een applicatielandschap. Voordat je halsoverkop aan het koppelen slaat: breng eerst eens goed in kaart wat de huidige situatie is en waar je naartoe wil. Wat is het doel van de koppeling? Welke systemen moeten gegevens overbrengen en welke gegevens zijn dat precies? Zijn er al koppelingen die je kunt meenemen in het grote geheel? Of zijn er juist koppelingen die overbodig zijn? Door een zogenaamd applicatielandschap te tekenen, krijg je een goed overzicht van wat er nodig is aan softwarekoppelingen.
– Maak doordachte keuzes. Leef je in in de doelen van de gebruiker en/of opdrachtgever. Wat is voor hem/haar de beste oplossing? Staat alle benodigde data in de API documentatie beschreven? Is het configureren van bestaande systemen haalbaar of is het nodig om een nieuwe webapplicatie te bouwen? Door vooraf goed na te denken over de handigste oplossing, kun je slimmer koppelen.
Wat kost het laten maken van softwarekoppelingen?
Het maken van softwarekoppelingen is niet altijd eenvoudig. Vooral als er geen API’s beschikbaar zijn of wanneer het gaat om een grote hoeveelheden data, wordt het al snel een specialistische klus. Je kunt het maken van softwarekoppelingen dan beter uitbesteden aan een professionele partij. Wat dat gaat kosten? Dat hangt af van een aantal factoren.
Bij het inschatten van de kosten voor softwarekoppelingen moet je rekening houden met het uurtarief van de webdeveloper en de tijd die het project in beslag neemt. Daarbij spelen deze gegevens een belangrijke rol:
- Om welke applicaties en hoeveel data gaat het? Het integreren van meerdere databronnen in een maatwerk systeem kost bijvoorbeeld meer tijd (en dus geld) dan het toevoegen van een enkele databron in een bekend systeem met een goed gedocumenteerde API.
- Zijn er API’s beschikbaar of moet het beschikbaar maken van de gewenste data ook geprogrammeerd worden?
- Dient de data nog bewerkt worden alvorens deze naar het volgende systeem verstuurd kan worden?
- Hoe duidelijk en volledig is de beschikbare documentatie? Indien de ontwikkelaar veelvuldig contact moet opnemen met de verschillende softwareleveranciers om verduidelijking te krijgen dan kan dit een factor worden om rekening meer te houden in de tijdsinschatting.
- Zijn er maatwerkoplossingen nodig of kan er gewerkt worden met bestaande applicaties of programma’s zoals Zapier?
Hoe langer de ontwikkelaar bezig is met bijvoorbeeld analyseren, coderen en adviseren, hoe duurder het uitbesteden van de softwarekoppelingen wordt.
Wat kost een softwarekoppeling bij Web Whales?
Om je een indruk te geven van onze tarieven: een maatwerkkoppeling kunnen we realiseren voor een bedrag vanaf 2500 euro. Het gaat dan om een relatief eenvoudige koppeling; wil je meer data koppelen of dient deze data ook bewerkt of gepresenteerd te worden, dan zal de prijs uiteraard oplopen.
Overigens krijg je bij Web Whales altijd een uitgebreide offerte. Zo kun je precies zien welke werkzaamheden we verwachten uit te voeren en welk prijskaartje daaraan hangt.
Meer weten over het laten maken van betrouwbare softwarekoppelingen? Of heb je advies nodig als je toch liever zelf aan de slag gaat? Je kunt altijd even bellen of langskomen, we zijn je graag van dienst!