Aan de slag met levenscyclusbeheer van applicaties

Wanneer je de overstap maakt van on-premise SAP naar het Business Technology Platform, of dit nu is met een cloud-only of hybride ontwikkeling, kom je veel grote verschillen tegen in het levenscyclusbeheer van applicaties. In dit blog helpen we je op weg, lichten we een aantal complexe zaken toe en zorgen we ervoor dat je weet hoe je deze uitdaging aanpakt. Lees je mee?

Broncodevalidatie


Een van de belangrijkste onderdelen is broncodevalidatie. Zonder een robuuste codebase zullen applicaties nooit optimaal presteren. Om een vergelijking te maken tussen broncodevalidatie op locatie en in de cloud laten we het verschil zien tussen ABAP en cloudgebaseerde ontwikkeling van JavaScript. Hoewel ABAP-ontwikkeling plaatsvindt in Eclipse of SAP GUI, kan JavaScript-ontwikkeling in vrijwel elke platte-teksteditor plaatsvinden. Ja, zelfs in notepad! ABAP-ontwikkelingen worden automatisch op de server gecontroleerd voordat ze worden geactiveerd en uitgevoerd.

Dit betekent niet dat alle ontwikkelingen zonder bugs zullen zijn, maar we weten wel zeker dat de syntax goed is. Deze standaard syntax controles kunnen optioneel worden uitgebreid door ATC-controles, die de code controleren op onder andere de performance. JavaScript wordt daarentegen niet automatisch gevalideerd wanneer het op een server wordt geïmplementeerd. Dit betekent dat zelfs de meest eenvoudige syntaxfouten zonder de juiste tests in productie kunnen komen. Gelukkig zijn er tools zoals ESLint die ons helpen JavaScript-code te valideren en optimaliseren. De meest populaire ontwikkeling IDE's integreren ESLint zelfs standaard of door een plugin te installeren, maar nogmaals, deze code valideren gebeurt op de ontwikkelmachine en kan verschillend worden ingesteld op basis van de voorkeur van de ontwikkelaar. Het zou nog beter zijn wanneer we het valideren van de code kunnen centraliseren zoals we gewend zijn in bijvoorbeeld ABAP.

Beheer van broncodes

In onze op ABAP gebaseerde systemen, wordt iedere wijziging middels een ontwikkelobject bijgehouden. Er wordt automatisch een nieuwe versie aangemaakt. Als er iets misgaat, kun je dus eenvoudig terugkeren naar een eerdere versie. Met andere woorden, het op ABAP gebaseerde systeem maakt gebruik van broncodebeheer. Bij cloudgebaseerde ontwikkeling bestaat er niet zoiets als automatisch versiebeheer. Er zal hier een apart systeem moeten worden geïntroduceerd, zoals bijvoorbeeld GIT. Hiermee kun je alle wijzigingen in de broncode volgen en indien nodig terugkeren naar eerdere versies. Een ander groot voordeel van GIT is dat het kan worden geïntegreerd met een Continuous Integration (CI) -server. Afhankelijk van de GIT-provider kan er standaard een CI-server worden ingebouwd. Met zo'n CI-server is het mogelijk pijplijnen te configureren om geautomatiseerde broncodevalidatie (bijvoorbeeld op basis van ESLint), geautomatiseerde integratie en unit-tests uit te voeren. Met een CI-server wordt codevalidatie eenvoudig gecentraliseerd en het zorgt ervoor dat elke ontwikkelaar dezelfde standaarden gebruikt. SAP biedt een set best practices en pijplijnen in de vorm van Project Piper. Het ondersteunt cloud-only, hybride en on-premise scenario's.

Bewegende ontwikkelingen met SAP Transport Management Systeem


Het doorzetten van veranderingen door het systeemlandschap in ons op ABAP gebaseerde systeem is vrij eenvoudig. Het SAP Transport Management System (TMS) wordt geconfigureerd om te bepalen hoe het systeemlandschap eruitziet. Als dat is ingericht, wordt een transport met alle geregistreerde wijzigingen vrijgegeven in het ontwikkelsysteem en geïmporteerd in de doelsystemen. Helaas bestaat er in cloud gebaseerde systemen zoals het Business Technology Platform niet zoiets als het automatisch vastleggen van wijzigingen die van de ene omgeving naar de andere wordt overgezet, maar! Wij zouden TheValueChain niet zijn als we hier geen oplossing voor hebben bedacht. We hebben een handvol opties om onze applicaties in verschillende omgevingen te implementeren.

De eerste en meest eenvoudige optie is om elke applicatie handmatig in elke omgeving in het landschap te implementeren. We raden dit echter niet aan, want dit is een erg foutgevoelige methode. Het geeft de individuele ontwikkelaar de mogelijkheid om het centrale broncode beheersysteem en alle geconfigureerde tests over te slaan. De tweede optie is om je CI-serverpijplijn uit te breiden met Continuous Delivery (CD) -stappen. Deze aanvullende stappen creëren een inzetbaar pakket van de applicatie nadat alle geconfigureerde tests met succes zijn uitgevoerd. Het resultaat kan handmatig of automatisch vanuit de pijplijn worden geïmplementeerd. Het enige nadeel is dat het systeemlandschap voor elke repository moet worden geconfigureerd - in feite dus voor elke applicatie.


SAP Cloud Transport Management


Specifiek voor het Business Technology Platform is er een derde en laatste optie: het gebruik van Business Technology Platform Transport Management in combinatie met Continuous Delivery-stappen in je pijplijn. Business Technology Platform Transport Management maakt de configuratie van systeemlandschappen mogelijk op een manier die vergelijkbaar is met wat we gewend zijn in onze on-premise ABAP systemen. Nadat het pakket is gemaakt in de Continuous CD-stappen, in plaats van het rechtstreeks op het Business Technology Platform te implementeren, wordt dit pakket toegevoegd aan de import wachtrij van Business Technology Platform Transport Management. Pakketten in de import wachtrij kunnen handmatig worden geïmporteerd of er kan een automatische import worden gepland. Business Technology Platform Transport Management ondersteunt ook Business Technology Platform Integration, wat het nog interessanter maakt om het in uw landschap te integreren.


Bespaar tijd en geld


Als je begint met ontwikkelen op het Business Technology Platform, is een goede strategie voor het beheer van de levenscyclus van applicaties erg belangrijk. Het kan je op de lange termijn namelijk veel tijd en geld besparen. Hoe eerder je een goede en steady strategie opzet, hoe gemakkelijker de implementatie.

Denk je erover om applicaties naar Business Technology Platform te verhuizen? Draai je al applicaties in Business Technology Platform? Of zoek je hulp bij het opzetten van een goede strategie voor het beheer van de levenscyclus van applicaties? Wij helpen je graag! Neem gerust contact met ons op. We begeleiden je door alle stappen.