Om te solliciteren op deze stage, moet je met je HvA-emailadres een account aanmaken.

account aanmaken

Bedrijfsinformatie

GLOMIDCO
Titaniumweg 141
Alphen aan de Rijn
T
ICT

Afstuderen: Ontwerpen/bouwen 3-lagen API diagrammentool


Over GLO Integration

GLO Integration is een onafhankelijke integratiespecialist met meer dan 18 jaar ervaring op het gebied van middleware, API management en big data. Vanuit ons kantoor in Utrecht werken wij met de meest vooruitstrevende technologieëen zoals MuleSoft, TIBCO en Splunk. Onze collega’s treden op als architecten, developers, beheerders en projectleiders binnen verschillende projecten voor grote en middelgrote bedrijven. We zijn een jong team en delen allemaal een passie voor IT-integratie!

Bij GLO Integration staat persoonlijke ontwikkeling centraal. Er heerst een vriendschappelijke werksfeer en naast werken hebben wij met elkaar ook gezellige get-togethers zoals bier & pizza sessies en borrels. Kom jij ons verslaan met een potje tafelvoetbal?


Wat is de opdracht?

Afbeelding: https://bit.ly/3HC5kn5

UPDATE: Dit is een onderdeel van een lang lopend onderzoek. De waarom vraag is reeds onderzocht door een HBO student die in november 2021 is afgestudeerd. Sinds Oktober 2021 doet een 2e student onderzoek naar een mogelijke taal en syntax checker (blauwe blok uit de tekening). Er is behoefte aan het doorontwikkelen (software engineering) van een mogelijke implementatie (gele en groene deel tekening). Hiertoe dienen veel ontwerpbeslissingen genomen te worden. Ook aan de input kant , van een API / Middleware platform middels een buildstraat, dienen er oplossingen bedacht te worden om vanuit een implementatie naar de Diagram as Code taal te komen (het grijze deel in de plaat). Dus minimaal nog 2 afstudeerders gezocht voor dit project!

Aanleiding: Er wordt bij veel klanten van GLO (o.a. Rijkswaterstaat) gewerkt met een 3 lagen API architectuur. Er is een behoefte om overzicht te hebben welke API's in welke laag met elkaar gekoppeld zijn. Het maken van tekeningen is een tijdrovende activiteit en bij iedere re-deployment zijn de tekeningen mogelijk niet meer up to date. Conceptueel idee is om een taal te definieren waarmee tekeningen geautomatiseerd getekend kunnen worden. Als voorbeeld dient https://www.websequencediagrams.com of https://plantuml.com waarmee vanuit diverse definitie talen een scala aan diagrammen gerendered kan worden. 

De opdracht bestaat uit 2 delen:
Part 1. Definieer een formele specificatie taal waarmee een meerlaags API model (meestal 3 lagen, te weten: experience laag, process laag en system of record laag) gedefinieerd kan worden en aansluitend een parser die valideert of de syntax correct is 
Part 2. Definieer de architectuur dan wel creëer een component waarmee de voorgenoemde specificatie taal middels een Java component omgezet kan worden in een gerenderde/gegenereerde (getekende) diagram. PlauntUML als open source platform heeft de voorkeur om dit te ontwikkelen. 

Alternatief zou deze opdracht ook door 2 studenten gedaan kunnen worden (mits daarvoor toestemming wordt verleend vanuit de onderwijsinstelling). 

Eind-doel wat GLO voor ogen heeft: dat Mulesoft APIs tijdens deployment vanuit CI/CD de specificatie taal kunnen genereren en dat op deze wijze geautomatiseerd documentatie wordt opgeleverd. 


Competenties

Part1:

·       Goede kennis van Syntax en formele talen 

·       Kennis van parsers en parser technologieën (bijvoorbeeld parsing expression grammmars of Lex & YACC of soortgelijke frameworks)

Part2:  

·       Goede programmeerkennis 

·       Goede kennis van Java 

·       Kennis van webtechnologie

Om het probleem van GLO te begrijpen, biedt GLO een cursus over API's aan. Hierbij wordt kennis over Tibco en Mulesoft aangeboden. Begeleiding is er op HBO/WO niveau vanuit CTO Office en collega's van GLO. 

Als alternatief zou er in aanvulling op of in plaats van een meerlaags API visualisatie ook een ESB visualisatie gerealiseerd kunnen worden.

Kennismaken?

Wil je meer weten voordat je reageert? Neem gerust contact met ons op.


Geschikt voor studenten
  • Software Engineering
  • Technische Informatica