De focusgroep Custom Development is bedoeld voor iedereen die binnen het SAP-ecosysteem betrokken is bij het ontwikkelen van maatwerksoftware. Daarbij gaat het in eerste instantie om iedereen die programmeert in SAP. De VNSG-redactie sprak met de voorzitter van de focusgroep Marcel Hesen en de secretaris Jan-Willem Kaagman
|
“De focusgroep Custom Development is in Nederland ongeveer zeven jaar geleden opgericht”, vertelt Marcel. “De community bestaat nu uit meer dan veertig bedrijven en bijna driehonderd leden. Alleen in het Verenigd Koninkrijk, Ierland en Duitsland is er ook een focusgroep CDV. Onze focusgroep is niet aan één functioneel gebied opgehangen. We hebben ook wat overlap met de focusgroep User Experience, waar we dan ook veelvuldig mee samenwerken”. Onderwerpen die de leden van de groep bespreken zijn alle development onderwerpen die in de SAP-wereld voor kunnen komen. Dat zijn onder meer ABAP gerelateerde onderwerpen, zoals quality tools binnen ABAP of frameworks op ABAP stack. Ook Fiori & UI5, CAP en NodeJS zijn de programmeertalen die langs komen. Maar ook zaken zoals Custom Code Management, nieuwe tools en producten van SAP voor developers, development-methodieken, best practices, DevOps en Continuous Integration, en low-code / no-code.
|
Programmeertaal
“We richten ons ook op developers die een programmeertaal gebruiken zoals JavaScript, NodeJS of SQL. Het gaat dus verder dan ABAP,” legt Jan-Willem uit. “We houden ons ook bezig met tools van derde partijen. Onze kennis delen we veel via workshops, tegenwoordig vaak online meetings, zelfs de hands-on-sessies. Developers vinden deze sessies altijd erg interessant. De deelnemers krijgen gratis begeleiding alsof het een cursus is. Alle hands-on-sessies zijn altijd snel volgeboekt. SAP Walldorf werkt ook goed mee aan deze sessies!”
Ontwikkeling
Hoe heeft Customer Development zich ontwikkeld in de loop der jaren? Jan-Willem: “In het begin was ABAP nog een huwelijk tussen Structured Query Language (SQL) en COBOL. Hoe haal ik data uit een database en hoe presenteer ik die? Met de introductie van SAP R/3 verschoof Customer Development naar de frontend: de SAP Graphical User Interface (GUI). Rond 2000 met de opkomst van internet ontstonden er andere oplossingen, waaronder objectgeoriënteerde. Omdat dit een heel andere denkwijze is, werd dit aanvankelijk moeizaam opgepakt door de SAP-community. In deze tijd draaide het niet alleen meer om ERP: CRM, CSM, BW, BI en dergelijke kwamen erbij. Vanuit één monoliet gingen we naar meerdere toepassingen. Bovendien kwam het internet erbij. Rond 2005 gaf Nestlé aan dat werken met de SAP GUI niet meer vol te houden was. Toen kwam er een HTML5-oplossing die in 2008 tot de eerste release van Fiori leidde. Met Fiori werd de user interface een stuk gestroomlijnder, en werd OData (open protocol voor consumptie van API’s, ontwikkeld door oa. Microsoft) geïntroduceerd. Vervolgens is er het SAP Cloud Platform bijgekomen, nu hernoemd naar SAP BTP, SAP Business Technology Platform.
Keep the core clean
“Voorheen kon je SAP op verschillende (relationele) databases draaien,” vervolgt Marcel. “Tegenwoordig, met de introductie van SAP HANA, is de database veel sneller, onder andere omdat alleen die gegevens worden opgehaald die je nodig hebt. Het is niet langer een database van records, maar van columns. Ook de komst van multi-core processors heeft voor veel snelheidswinst gezorgd. Met de toepassing van SAP HANA heeft SAP de concurrentie achter zich gelaten. Het ECC-datamodel is geoptimaliseerd voor SAP S/4HANA: de vernieuwde applicatielaag die speciaal voor de in-memory database SAP HANA is geschreven. Traditioneel werden aanpassingen of extensies op SAP rechtstreeks aangebracht in de SAP-applicaties. Als developer zou je je nu meer moeten richten op side-by-side extensions. Deze voeg je niet toe aan het SAP-systeem zelf. Maatwerk hou je buiten het systeem, onder het motto Keep the core clean!”
Low code/no code
Wat vindt de community van low code/no code? “Low code wordt op verschillende manieren bekeken. De interesse voor low code/no code lijkt nog steeds toe te nemen,” antwoordt Jan-Willem. “De licentiekosten zijn meestal behoorlijk hoog. Je krijgt vaak een userinterface die afwijkt van standaard SAP-oplossingen. Op dit moment zie ik het allebei: sommige bedrijven gebruiken low code/no code vanwege de snelheid, andere nemen de regie meer in eigen handen en gebruiken coding voor hun maatwerk om zo optimale vrijheid te behouden.” Marcel: “Standaardaanpassingen kun je met low code/no code prima oplossen. Alle ingewikkelde dingen moeten uiteindelijk in code opgelost worden. Low code/no code breidt de oplossing een stukje uit, meer niet. Met het inrichten van het proces ben je uiteindelijk het meeste bezig. Wanneer je daarmee klaar bent, heb je 60 tot 75% van het maatwerk al af. Als je met SAP Fiori Elements werkt, gaat het bijna in dezelfde snelheid als met low code/no code. Een ander belangrijk verschil tussen low code/no code en SAP-tools is, dat als je SAP-tools gebruikt, je gemakkelijker data kunt ophalen vanuit SAP. Neem als voorbeeld een zoekfunctie voor materialen. Als je deze wilt selecteren op basis van de fabriek die het materiaal heeft gemaakt, dan kun je dat makkelijk opvragen met SAP OData via Fiori. Lowcode-developers daarentegen hebben veelal geen basiskennis over hoe je aan fabrieksgegevens of voorraadgegevens komt.”
SAP tooling
Gaat SAP de goede kant uit met zijn SAP-tooling? “SAP heeft een dilemma. Het bedrijf heeft duizenden developers in huis en kan dus allerlei specialismes opbouwen, maar de gemiddelde organisatie kan dat niet aan,” licht Marcel toe. Je hebt nieuwe tools en nieuwe talen nodig. Dat maakt de wereld ingewikkeld. In een Scrum-team zitten echter over het algemeen niet zoveel developers. Jan-Willem: “Je project bepaalt welke technologie je gebruikt en welk proces je toepast. Agile heeft zich inmiddels bewezen met een snelle feedback-loop. Je krijgt snel inzicht in welke kennis en welke nieuwe mensen je nodig hebt, en voor hoeveel maanden. Ook de discussie met enterprise-architecten is belangrijk. Verder spelen de omgevingen een belangrijke rol: Baan, Oracle, CRM, etc. Hoe ga je deze integraties maken? Voor middleware zijn er tig-oplossingen. Stel je backoffice is in SAP. Is je business-technisch platform in staat om de buitenwereld te bedienen? De cloud is een goede oplossing voor een open structuur. Vroeger was SAP dicht voor anderen, dat is nu behoorlijk aan het veranderen. Met OData kun je API’s aanroepen in SAP. Wat je als core gebruikt, bepaalt je onderscheidend vermogen. Ons advies is: denk goed na over wat je primaire business is, en haal vandaaruit je winst.”