Application Lifecycle Management in het SAP Cloud Platform

Overweeg je over te stappen van SAP On-premise naar het SAP Cloud Platform?

 

Door Geert-Jan Klaps

Overweeg je over te stappen van SAP On-premise naar het SAP Cloud Platform? Dan is het van belang om de verschillen met het Application Lifecycle Management (ALM) te begrijpen. In deze blog overlopen we daarom enkele aandachtspunten:

  • Validatie van broncode
  • Beheer van broncode
  • Ontwikkelingen verplaatsen doorheen de systeemomgeving

 

Broncodevalidatie

Broncodevalidatie verzekert je een stevige codebasis en goed presterende applicaties. Om broncodevalidatie on-premise en in de cloud te kunnen vergelijken, bekijken we hier ABAP en JavaScript.

ABAP kan je ontwikkelen in Eclipse of SAP GIU. JavaScript kan dan weer geschreven worden in eender welke eenvoudige tekstverwerker. Het feit dat ABAP-ontwikkelingen automatisch gecheckt worden op syntaxisfouten op de server, is wel voordelig, maar het garandeert je geen bugvrij resultaat.

Hoe zit het dan met ATC-controles? Zij kunnen slechte constructies en performance-issues voor je detecteren. Maar JavaScript ondergaat geen automatische validatie bij de implementatie, zodat er een risico op syntaxisfouten in productie blijft bestaan. 

ESLint-tools kunnen code valideren en optimaliseren. Veelgebruikte IDE’s hebben ESLint-integratie of -plug-ins maar de configuratie verschilt naargelang de voorkeuren van de developer. 

In feite zou het centraliseren van broncodevalidatie zoals bij ABAP dus ideaal zijn. En dat brengt ons bij ons volgende onderwerp: broncodebeheer.

 

Broncodebeheer

In systemen die op ABAP gebaseerd zijn wordt elke wijziging aan een ontwikkeld object bijgehouden en er wordt automatisch een nieuwe versie gecreëerd. Je kan dus makkelijk terugkeren naar een vorige versie. Cloudgebaseerde ontwikkelingen vereisen echter een apart systeem voor broncodebeheer zoals GIT voor versiebeheer.

Bovendien kan GIT geïntegreerd worden met een Continuous Integration Server of CI-server om pipelines te creëren voor geautomatiseerde broncodevalidatie (vb. ESLint), geautomatiseerde integratie en unittesten. Op deze manier is de codevalidatie gecentraliseerd en ben je zeker dat alle developers dezelfde standaarden en instellingen gebruiken.

SAP biedt met Project Piper trouwens een reeks kant-en-klare best practices en pipelines aan, in de standaardvorm of aanpasbaar aan je eigen pipelines. Ze zijn toepasbaar in de cloud, on-premise of hybride.

Met ons gecentraliseerde systeem voor broncodebeheer, kunnen we nu gaan kijken hoe je applicaties in de systeemomgeving kan verplaatsen.

 

Ontwikkelingen verplaatsen doorheen de systeemomgeving

ABAP-systemen gebruiken het SAP Transport Management System (TMS) om wijzigingen te verplaatsen binnen de systeemomgeving. Wijzigingen worden bijgevolg geregistreerd, bewaard en getransporteerd van het ontwikkelingssysteem naar het bestemmingssysteem.

In cloudgebaseerde systemen zoals SAP Cloud Platform is er echter geen automatische opslag van wijzigingen die van de ene naar de andere omgeving verplaatst kunnen worden. Toch zijn er opties om applicaties in verschillende omgevingen te implementeren.

  • Manuele implementatie
    Mogelijk, maar niet aan te raden is een manuele implementatie van elke applicatie. In dat geval is er immers altijd een risico op menselijke fouten. Bovendien kunnen developers dan het centrale systeem voor broncodebeheer en de tests ook omzeilen.
  • CD-stappen
    Een tweede optie is Continuous Delivery (CD)-stappen toevoegen aan je CI-server-pipeline om een inzetbaar pakket te maken van de applicatie wanneer de tests geslaagd zijn. Dit pakket kan dan manueel of automatisch geïmplementeerd worden. Toch is er ook een nadeel: het configureren van de systeemomgeving voor elke repository neemt veel tijd in beslag.
  • SAP Cloud Platform TMS met CD-stappen
    Een derde optie is het SAP Cloud Platform TMS gebruiken in combinatie met CD-stappen in je pipeline. Zo kan je systeemomgevingen configureren op een manier die vergelijkbaar is met on-premise ABAP-gebaseerde systemen.

Zodra een implementeerbaar pakket gecreëerd is, wordt het toegevoegd aan de importwachtrij van SAP Cloud Platform TMS, waar het vervolgens manueel of automatisch geïmporteerd kan worden. SAP Cloud Platform TMS ondersteunt ook SAP Cloud Platform Integration.

 

Conclusie

Een degelijke aanpak van Application Lifecycle Management is broodnodig als ontwikkelaar op het SAP Cloud Platform. Je bespaart er op lange termijn tijd en geld mee, dus het is belangrijk om van bij het begin slim te werk te gaan.

Heb je hulp nodig bij het vinden van een strategie voor je Application Lifecycle Management voor SAP Cloud Platform? TheValueChain begeleidt je bij elke stap.

Geert-Jan Klaps | TheValueChain

Meer weten?

Neem voor meer informatie en het gebruik van onze ruime ervaring in implementaties, ondersteuning en het bouwen van extra add-ons contact met ons op.