Een generieke opzet van smart resourcesystemen
Een generieke opzet van smart resourcesystemen
Samenvatting
Recognize heeft op dit moment drie soortgelijke smart resourceprojecten gerealiseerd en verwacht dat zij vaker smart resourceprojecten zal gaan realiseren. Smart resourcesystemen brengen vraag en aanbod zo efficiënt mogelijk bij elkaar. Deze systemen zullen op grote en kleine schaal moeten presteren, en tegelijkertijd wil Recognize een systeem dat een degelijke basis biedt voor het opzetten van een smart resourcesysteem. Het afstudeerproject heeft een agile insteek door verschillende elementen uit agile toe te passen, echter heeft het ook veel weg van een waterval project doordat verschillende fases in het project van elkaar afhankelijk zijn. Naast werkmethodiek zijn er verschillende methodes toegepast om de kwaliteit te waarborgen, waaronder (automatische) testen, pull requests en continuous integration. Om de bruikbaarheid aan te tonen van het eindproduct is er ook een proof of concept die het eindproduct gebruikt om een smart resourcesysteem te representeren. Om de requirements van het project duidelijk te krijgen en passende technieken te vinden, zijn er drie onderzoeken uitgevoerd: het overlappingsonderzoek, het onderzoek naar architectuur en technieken en het onderzoek naar dataopslag. Aan de hand van deze onderzoeken zijn de requirements opgesteld van het eindproduct, is er een ontwerp gemaakt en zijn de technieken gekozen die gebruikt zijn. Uit de onderzoeken zijn twee belangrijke non-functionele eisen gekomen: het eindproduct moet schaalbaar en uitwisselbaar zijn. Om deze eisen te behartigen is de microservice architectuur gekozen, zodat de microservices an sich uitwisselbaar zijn en het geheel horizontaal schaalt. De microservices zijn gemaakt in Kotlin, in het framework Spring en gebruiken Postgres in combinatie met PostGIS als dataopslag. De microservices worden gehost in een kubernetes cluster in combinatie met Docker, waardoor er gemakkelijk meerdere replica’s van een microservice naast elkaar kunnen worden gedraaid. De microservices samen vormen de engine, die als het ware de motor is van toekomstige smart resourcesystemen. De engine bestaat uit twee microservices, genaamd: Match en Auth. De communicatie tussen de microservices en die met de buitenwereld gebeurt door middel van REST API’s, die JSON als datarepresentatie gebruiken. De microservices volgen meerdere design patterns om de uitwisselbaarheid te verhogen, zoals multilayer architecture en dependency injection. De engine kent meerdere manieren van configuratie, waaronder het configureren van het aantal replica’s van een microservice, de logging en project specifieke constanten. Alle verschillende manieren van configuratie, een handleiding en verdere documentatie is te vinden in het systeemdossier. Op basis van bevindingen tijdens het uitvoeren van het afstudeerproject en gesprekken met de bedrijfsbegeleider, worden er aanbevelingen gedaan voor toekomstige projecten die gebruikmaken van de engine, of die de engine uitbreiden
Organisatie | Saxion |
Opleiding | Informatica |
Datum | 2019-07-01 |
Type | Bachelor |
Taal | Nederlands |