Dynamisch met Dynamo

/ Blog / Dynamisch met Dynamo
Dynamisch met Dynamo

Simon van Kemenade

 

Inleiding

Ik heb gemerkt dat ontwikkelaars veel tijd en energie besteden aan het ontwikkelen van een goed werkende interface. Dit is namelijk het onderdeel wat voor gebruikers het meest zichtbaar is en daardoor als belangrijkst ervaren wordt. Daarom besteden ontwikkelaars erg veel tijd en moeite om dit gedeelte van het ontwikkelproces zo goed mogelijk uit te voeren, omdat dit ‘de business’ (alles wat niet-IT is binnen een bedrijf) tevreden maakt.

Balans

Ga je echter voor elk onderdeel van je applicatie van begin af aan deze interface ontwerpen en programmeren om vervolgens te onderhouden dan kost dit veel tijd en dus ook geld. Om deze impact op tijd en geld te beperken is het tijdens het ontwikkelen van de applicatie belangrijk om de interface snel op te kunnen zetten.

Model-driven web development library

Daarom is er in 2016 begonnen met het oplossen van deze uitdaging en zijn Java consultants van Open Circle Solutions gestart met een open source project wat tot Dynamo heeft geleid. Dynamo is een Java framework wat verschillende open source frameworks combineert om uiteindelijk dankzij hergebruik van code op basis van een metamodel een compleet scherm te realiseren. Dit brengt veel voordelen met zich mee:

  • De ontwikkeltijd van applicaties wordt significant korter. Zo heb ik bijvoorbeeld bij een project gezien waar het bouwen van schermen van een week naar een dag tijd is gegaan
  • Onderhouds- en ontwikkelkosten worden een stuk lager doordat je makkelijk je frontend kunt aanpassen
  • (Bestaande) applicaties worden stabieler

Vooral wanneer er veel gelijksoortige schermen opgebouwd moeten worden, zoals bijvoorbeeld bij oplossingen voor administratieve toepassingen, worden de voordelen goed zichtbaar. Een goed voorbeeld, waarbij Dynamo is toegepast is een Stock Allocation System (SAS) wat voor verschillende soorten goederen de voorraad bijhoudt en bijgevuld houdt. Bij dit soort voorraadsystemen bestaat de frontend namelijk uit veel schermen die veel op elkaar lijken wat hergebruik van code extra interessant maakt.

Techniek

Zoals eerder gesteld worden bestaande open source technieken gebruikt. Het gaat hierbij om o.a. Vaadin als user interface framework, Spring als applicatie framework, JPA2 voor ORM (Object Relational Mapping) en Apache Camel voor de integratie. Eén van de grote voordelen om open source technologie te gebruiken is dat iedereen hier aan kan bijdragen omdat de code voor iedereen inzichtelijk is. Dit leidt tot continue verbetering waarbij de initiatiefnemers van Dynamo steeds verse input krijgen en waarbij door veel mensen vaak getest wordt.

×