Skip to content

Introductie

skin27 edited this page Jun 8, 2021 · 32 revisions

Google, Whatsapp en Excel. Zomaar wat voorbeelden van technologieën waar we allemaal wel bekend mee zijn. Uitleg niet nodig.

Over andere technologieën, zoals HTTP, blockchain en machine learning hebben de meeste wel gehoord. Maar hoe ze precies werken? Toch zijn het stuk voor stuk technologieën waar we al niet meer zonder kunnen. Het is net als de motor van een auto. De meeste weten niet hoe het werkt, maar ze maken er wel dagelijks gebruik van.

Data integratie gebruiken we vaak dagelijks zonder het weten. Of dit binnen je bedrijf, de supermarkt waar je boodschappen doet of bij je bezoek aan het ziekenhuis is. Alle wisselen data tussen systemen uit, zodat ze alle nodige informatie bij elkaar hebben om je van dienst te zijn. Na het afrekenen bij een supermarkt krijg je bijvoorbeeld een kassabon. Deze bon gaat echter ook elektronisch naar het bestelsysteem. Als er van een product genoeg verkocht is, gaat er een bestelling naar de leverancier. Zonder data integratie blijven de schappen in de supermarkt leeg.

Integratie is een proces op de achtergrond en daarom voor vele onzichtbaar. Toch is het voor ieder relevant op tijd, juist en volledige informatie tot de beschikking te hebben. Data integratie is dus niet zondermeer de stille motor op de achtergrond, maar het helpt mensen en bedrijven informatieketens te bouwen die uniek voor hen zijn. Hier meer over te weten, helpt om het optimaal in te zetten. Er zijn echter zoveel technieken en producten dat een overzicht vaak ontbreekt. Meeste boeken zijn of vanuit het perspectief van zo'n techniek/product geschreven of al enigszins verouderd, zoals Principles of data integration uit 2012.

Daarom dit boek.

Mantra's en KISS

Een bekend mantra is “The right tool for the right job”. Als een IT’er ziet dat een manager alles met Excel wil oplossen, gaan zijn haren recht overeind staan. Hoewel vrijwel niets zo flexibel als een spreadsheet is, kent het natuurlijk zijn grenzen. Eigenlijk zijn IT’ers niet veel anders dan de 'gebruikers' die ze weleens bekritiseren. Zo ziet een database beheerder alles vanuit het perspectief van een database, een applicatiebeheerder wil alles aan elkaar scripten en een programmeur lost alles met code op. Het mantra “The right tool for the right job” kan je daarom het best lezen als advies om je oogkleppen eens af te zetten. Wellicht zie je zo andere tools die handiger zijn. Het is voor iedere professional een ontdekkingstocht om zijn eigen gereedschapskist te vullen.

In sommige gevallen bevat iemands gereedschapskist de standaard gereedschappen. Stel je voor, je buurman Dirk gaat een hondenhok bouwen. Als basismateriaal zijn er spijkers en planken. Hij pakt dan de zaag om de planken op maat te zagen en een hamer om de spijkers er in te slaan. Maar wat als de hond graag in bad gaat? Dan moet Dirk opeens loodgieterswerk doen en zijn er allerlei maten en soorten buizen waar hij uit moeten kiezen.

Voor een specialisme als data integratie komt hier nog boven op dat alles virtueel is. Je kunt niet eenvoudig zien hoeveel werkt het kost om software te maken. Denk maar hoe simpel Google eruit ziet, maar stiekem toch één van de meest geavanceerde software is. Dus of je nu een simpel script ('een hondenhok') of een ESB ('wolkenkrabber') wilt maken het past allemaal op een USB-stick.

Hoe zie je dan dat IT projecten, integratieprojecten in het bijzonder, zo ingewikkeld zijn? Luidt een andere IT mantra niet “Keep it simple, Stupid” (KISS)? Het antwoord is ja en nee. Je moet het zo simpel mogelijk houden, maar niet simpeler. Dan lost het niets meer op. Stel Dirk wil spullen de rivier overzetten. De makkelijkste oplossing is de spullen in de boot te laden en naar de overkant te varen. Echter, als hij dagelijks tientallen goederen naar de overkant moet zetten dan is een brug toch handiger. De 'simpele' oplossing wordt door allerlei onvoorziene zaken nodeloos ingewikkeld en voldoet niet meer.

Bij integratie begint het ook vaak met de simpele wens om data van A naar B te krijgen. Het makkelijkste is dan toch een directe koppeling? Later blijkt de situatie toch lastiger. Een nieuwe technologie, een andere applicatie. Plotseling moeten er allerlei integratievraagstukken worden opgelost. Maar de technieken die hiervoor nodig zijn, zijn vaak complex. Te ingewikkelde technologie limiteert ons begrip waar we het voor kunnen gebruiken. Het doel van dit boek is om deze concepten te doorgronden om de juiste keuzes te kunnen maken. Wat is data integratie, waarom hebben we nodig en welke concepten en processen zijn er bedacht om deze toepassingen te realiseren. Ten slotte rest ons nog de vraag waar data integratie heen gaat. Deze ontwikkelingen komen in het laatste deel aan bod.

Whatsapp

Laten we voor dat we starten eerst nog terug gaan naar één van de technologieën die we dagelijks gebruiken, Whatsapp. Jan Koum, de oprichter van Whatsapp, ging in 2007 weg bij Yahoo met vierhonderdduizend dollar op zak. Na rondgereisd te hebben, frisbee te hebben gespeeld, werd het geld langzaam minder en besloot hij te solliciteren bij Facebook. Daar werd hij afgewezen.

Toen Apple bij de tweede versie van de iPhone de appstore introduceerde, besloot hij een eigen bedrijf op te richten om een app te bouwen. Hij richtte zich in eerste instantie op push berichten en pas in de tweede versie voegde hij er messaging aan toe. Terwijl Jan op een gegeven moment op voedselbonnen leefde, groeide het aantal gebruikers rap. Uiteindelijk groeide Whatsapp uit tot het instant messaging bedrijf met meer dan een miljard gebruikers. Hij verkocht zijn bedrijf aan Facebook voor 19 miljard dollar in 2014.

Natuurlijk speelde “time-to-market” een grote rol, maar ook de technologische keuzes en de architectuur heeft Whatsapp tot een succes gemaakt. Bijvoorbeeld gebruikte Whatsapp het XMPP protocol. Dit is een protocol gebaseerd op XML, wat indertijd al een bewezen en goed ondersteunde open standaard was. Kenmerkend is dat er is geen centrale server is, maar veel servers die als knooppunten fungeren:

What protocol is used in Whatsapp app? All messages are queued on the server until the client reconnects to retrieve the messages. The successful retrieval of a message is sent back to the whatsapp server which forwards this status back to the original sender (which will see that as a "checkmark" icon next to the message). Messages are wiped from the server memory as soon as the client has accepted the message

Whatsapp we gebruiken het dagelijks. Je typt een paar regels, zet er wat smiley’s bij. Vervolgens krijgen je vrienden het bericht. Je ziet dat het bericht is aangekomen en ten slotte als de vinkjes blauw worden dat je bericht gelezen is. Veel populaire internetplatformen berusten op het feit dat er data wordt uitgewisseld, of dit nu Instagram, Twitter of Facebook zijn. Één kant produceert de data en de andere kant consumeert deze. Dit is een simpel principe en als je dit begrijpt, begrijp je ook het basisprincipe data integratie.

You are ready to go to the next level