K(L)IEN architectuur, de manier van denken

Bij het ontwikkelen van software is architectuur cruciaal. Vaak wordt er meer aandacht besteed aan het ontwikkelen en de realisatie van de vereisten, in plaats van een goede architectuur die clean is. Bij Kien staat software architectuur altijd voorop. Want dit versnelt niet alleen de ontwikkeling op lange termijn, maar brengt ook stabiliteit, scalability en extensibility. In dit artikel willen wij u een voorproefje geven van de architectuur die wij gebruiken voor middelgrote tot grote projecten.

Voor een middelgroot tot groot project splitsen wij het project op met gebruik van een N-layered (of Onion-layered) benadering. In het kort betekend dit dat wij de kernlagen van het project scheiden. Op deze manier kunnen wij een systeem ontwikkelen dat minstens een layer heeft voor business rules en een layer voor interfaces, met als hoofddoel de ‘separation of concerns’, het scheiden van zorgen. Het aantal te scheiden lagen hangt af van de complexiteit van een project.


Wanneer het extensibility betreft zijn er veel voordelen voor toekomstige applicaties. Hoogstwaarschijnlijk zullen deze dezelfde databasemodellen gebruiken of dezelfde opslag nodig hebben. Andere zaken, zoals de user interface (UI) zullen veranderen. Stelt u zich een project voor waarbij Kien wordt gevraagd om een webapplicatie te bouwen, die de status van machines moet monitoren of deze misschien zelfs moet besturen.


Aan de ene kant heeft u alle benodigde logica om machines te verbinden en aan de andere kant de presentatie van de data aan de eindgebruiker.


U kunt deze code bouwen binnen dit ene project met een goede uitkomst. Maar dan kan later de organisatie beslissen dat er ook een mobiele applicatie moet komen (waarbij alle vereisten blijven). Als er gebruik wordt gemaakt van een enkele project/layer aanpak, dan zal er veel van dezelfde logica hergebruikt moeten worden van de webapplicatie, omdat deze niet werd gescheiden van de webapplicatie en niet direct gebruikt kan worden. Dit kost een hoop tijd en natuurlijk geld.


Als de (web)applicatie vanaf het begin N-layered was gebouwd, dan zouden alle benodigde componenten of layers gebruikt kunnen worden in het nieuwe mobiele applicatie project. Hierbij is er dan directe toegang tot de eerder genoemde layer en zou er geen overbodige code zijn. ‘Separation of concerns’, scheiding van zorgen.


Niet alleen de voordelen van hergebruik, maar ook het implementeren van nieuwe vereisten maken een N-layered aanpak een geweldige manier van ontwikkelen. Wanneer een nieuwe business rule wordt geïntroduceerd, dan kan Kien deze implementeren in de juiste layer en alleen de nieuwe versie van deze layer uitrollen, in plaats van de hele applicatie opnieuw uit te moeten uitrollen. Dit brengt veel stabiliteit.


Hoewel wij vaak de term ‘N-layered’ gebruiken, wil dit niet zeggen dat Kien altijd deze specifieke architectuur gebruikt.


Wanneer we het hebben over scalability, dan bedoelen we vaak prestaties. Door gebruik te maken van een N-layered aanpak, kunnen wij micro services (die zeer in verband staan met service-oriented architecture (SOA)) makkelijk implementeren of introduceren, om bijvoorbeeld de prestaties van services te verbeteren.


Hopelijk hebben wij bij Kien u een voorproefje kunnen geven van de manier waarop software architectuur design wordt toegepast door Kien. Vanwege de breedte van dit onderwerp willen we graag op software architectuur terugkomen in een volgend artikel. Daarin kunnen wij er dieper op ingaan.

Get in touchEvents |  Find usKieneticCareersImpressumPrivacy Policy

Belgium HQ Van Hemelrijcklei 119, 2930 Brasschaat (Antwerp), +32 (0) 3 292 59 44

Member of the Digital Innovation Group

© 2014-2019 KIEN BVBA

  • Instagram
  • LinkedIn
  • Facebook
DI_Logo_CMYK_m_SChriftzug.png