Quasi jeder Entwickler kennt die Vorteile der Open-Source-Tools rund um Git:
- Automatisierte Vorgänge im Entwicklungsprozess mit Continous Integration und – Deployment
- Dezentrales Arbeiten von Teams an einer Software
- Vielfältige Möglichkeiten der Qualitätssicherung durch moderne Freigabe-Prozesse
- Integriertes Versionsmanagement etc.
Doch wie integriert man Git sinnvoll in die SAP-Entwicklung?
Software-Projekte mit „abapGit“
Hierzu gibt es das Projekt „abapGit“ des Dänen Lars Hvam, auch bekannt unter seinem Synonym „larshp“.
Installiert wird die Software über die Transaktion SE38 oder SE80, über die der komplette Quellcode mit 75.000 Zeilen ausgeführt wird. Updates funktionieren anschließend direkt aus dem Report heraus.
Nach der Installation ist es möglich, ABAP-Software-Projekte aus im Grunde jedem Git in das lokale ABAP-System zu klonen. Welches Git eingesetzt wird, spielt übrigens keine Rolle. Egal ob öffentlich oder On-Premises im eigenen oder outgesourcten Rechenzentrum.
Doch wo liegt der große Vorteil, die Verbindung von einem SAP-System mit ausgefeilten Entwicklungsmechanismen und einem Git-Server herzustellen?
Vorteile dieser Methodik
Ein Mehrwert kann sein, dass jeder Entwickler außerhalb der normalen Transportstruktur sein eigenes Entwicklungssystem in der Cloud zur Verfügung gestellt bekommt und so Entwicklungen unabhängig voneinander vorangetrieben werden kann. Da diese Systeme nur benötigt werden, wenn auch daran entwickelt wird, können sie in allen gängigen Clouds betrieben werden.
Um Kosten zu sparen, werden die nicht genutzten Systeme in Ruhezeiten einfach abgeschaltet. Die dabei erzielten Einsparungen sind bei einer On-Premises-Installation nicht zu erreichen, da die Hardware immer vorgehalten werden muss. Gerade jungen ideenreichen Fachkräften kann so die Möglichkeit verschafft werden, ohne direkten Impact auf das Entwicklungssystem zu arbeiten und Ideen ohne Risiko umzusetzen.
Umgekehrt kann natürlich auch klassisch zentral entwickelt werden und vollautomatisiert ein stabiler Stand der Software in einem Cloud-QA-System zur Verfügung gestellt werden. Dort wird die Software nun automatisch oder durch eine Gruppe von Benutzern getestet.
Danach kann das System pausiert oder gelöscht werden. Die Automatisierung und Dokumentation dieser Prozesse wird im Git vorgenommen. Erstere ist um beliebige Stufen erweiterbar und muss sich nicht nur auf funktionale Tests beschränken. Es können beispielsweise auch weiterführende Sicherheitstests durchgeführt werden.
Mit „abaplint“ sind außerdem automatisierte Code-Prüfungen nach jedem Commit möglich. Am Beispiel der Entwicklung von abapGit selbst, die öffentlich über „GitHub“ mit Hilfe von abapGit abläuft, wird deutlich, wie gut dies funktionieren kann.
Zugriff auf ausgereifte Tools
Ein anderer Vorteil ergibt sich für Entwicklungen von SAP-Software-Partnern. Für Individual-Software gilt, dass in regelmäßigen Abständen ähnliche Funktionen geschrieben werden, für die das Rad häufig wieder neu erfunden wird. Dabei treten aber teilweise neue Fehler auf oder nützliche Funktionen fehlen.
Der Aufwand für Evaluierung, Testing und Pflege wird dadurch sehr hoch. Durch die Nutzung eines zentralen Git kann bei Bedarf auf den Bestand ausgereifter Tools zurückgegriffen werden. Dies kann intern geschehen oder auch mit der Open-Source-Community geteilt werden.
Es existiert bereits eine Plattform mit einer Sammlung von ABAP-Projekten im Open-Source-Bereich, auf der auch der Co-Autor dieses Artikels, Daniel Wegner (FIS Informationssysteme und Consulting GmbH), schon seinen Beitrag geleistet hat.
In der SAP-Entwickler-Community ist der Gedanke quelloffener Software noch nicht stark verbreitet. Mit einem Generationswechsel der Entwickler kann jedoch davon ausgegangen werden, dass sich immer mehr Unternehmen oder Entwickler in ihrer Freizeit beteiligen werden. Bei Bewerbungen oder Lebensläufen ist es als Entwickler heute schon fast Pflicht, seine Projekte gleich mit einem GitHub- oder GitLab-Link einzureichen.
Fazit
Wer heute mit einer gewissen Offenheit teilweise konservative Mechanismen kritisch, aber auch kreativ, hinterfragt, wird viele Möglichkeiten finden, gelebte Prozesse zu verbessern und an die neue IT-Welt anzupassen.
Open Source spielt dabei eine entscheidende Rolle. Die Integration von Branchen-Standards, wie Git, sorgt in sonst relativ starren Prozessen für neue Dynamik und macht den SAP-Bereich gleichzeitig attraktiv für junge kreative Ideen.
Dieser Beitrag erschien zuerst im E-3 Magazin.