Architecturale Verandering van Back-end applicatie naar Vue SPA
Architecturale Verandering van Back-end applicatie naar Vue SPA
Samenvatting
Het onderzoek dat in dit verslag beschreven staat, is uitgevoerd bij Mobina IT. Tijdens dit onderzoek is er gekeken naar de haalbaarheid en het rendement van een revisie van de huidige applicatie-architectuur. Tijdens deze revisie wordt de huidige applicatie omgebouwd naar een single-page application (SPA), gebaseerd op het Vue ecosystem. Voor dit onderzoek is een proof of concept gecreëerd, waarbij er gekeken is naar een front-end/back-end gesplitste SPA gemaakt met een Django back-end. Om het proof of concept te ontwikkelen, is er onderzoek gedaan naar: de frameworks en technologieën die hierbij van toepassing zijn, hoe groot de voordelen zijn van een dergelijke applicatie versus de huidige architectuur van Mobina en wat de impact is van het uitvoeren van de revisie.
Dit onderzoek is gedaan in vier fases: Orientatie, onderzoek, uitvoering en samenvatting.
Tijdens de oriëntatie is er gekeken naar de verschillende relevante onderwerpen voor dit onderzoek. Er is gekeken naar Vue, de daarvan afgeleide frameworks, optionele packages, onafhankelijke tooling en de werking van Vue als SPA. Ook is er gekeken naar Django, het Django REST framework en de werking van Django als MPA.
De onderzoeksfase is gespecificeerd op de analyse over de huidige staat van de Mobina applicatie. Ter referentiekader is de ISO 25010 gebruikt. Dit is een standaard die de eigenschappen van kwaliteit van een softwareproduct of -systeem beschrijft. Ook zijn er SMART kritieke prestatie-indicatoren opgesteld, zodat bepaald kan worden of verbeteringen behaald zijn na het uitvoeren van de revisie. Hierna is er gekeken naar Mobina’s huidige applicatie structuur, componenten en dependencies en zijn de wensen van Mobina besproken. Deze zijn meegenomen in het ontwikkelen van het prototype.
Het prototype is gerealiseerd tijdens de uitvoeringsfase. Hierin is een kennisportaal applicatie hervormt, die als proof of concept dient en als voorbeeld genomen kan worden tijdens ontwikkeling van de nieuwe Mobina app. De kennisportaal applicatie is een digitale locatie waar gebruikers toegang hebben tot informatie die ontwikkeld is door de content creators van Mobina. Het prototype gebruikt de huidige modellen en content modeler die door de applicaties van Mobina al geimplementeerd is. Hierdoor kan de huidige applicatie gebruikt worden als fundering voor de nieuwe applicatie. Het prototype heeft een duidelijk gescheiden front-end en back-end. De front-end is een Vue SPA, waarbij de Views en Componenten, de Router en de Store belangrijke aspecten zijn. Voor de back-end is er gekeken naar verschillende onderdelen zoals API, Serializers, Viewsets en Modellen en is er gekeken naar verschillende API Django apps.
De samenvatting fase beschrijft de aanbevelingen voor Mobina over de revisie van de applicatie naar de nieuw gekozen technologieën. Hierbij is een technische discussie die ingaat op alternatieve frameworks, alternatieve API tech, verschillende Vue versies en andere mogelijke databases. Uiteindelijk is er gekozen voor Vue, REST API van Django en een PostgreSQL database. Verder is er gekeken naar de impact van de implementatie. Er is gereflecteerd of een dergelijke revisie echt nodig is. Ook is er gekeken naar de voor- en nadelen van een dergelijke implementatie. Hierbij is specifiek gekeken naar: prestatie-efficientie, uitwisselbaarheid, betrouwbaarheid, beveiligbaarheid, onderhoudbaarheid, risico 's en kosten. Verder zijn er business opties gepresenteerd, waarbij gekeken is naar de mogelijkheden van mate van implementatie. Het advies is om de gehele revisie te implementeren en daarbij ook te focussen op herstructurering van documentstructuur van de sourcecode, herstructurering van applicatie componenten naar SFC structuur en implementatie van bundler tools en andere nuttige bijkomstigheden.