Neue Möglichkeiten in der Entwicklung von ABAP Code schaffen, indem man sich Open Source Tools bedient, klingt nicht nur gut, sondern kann in der Praxis wirklich überzeugen. Ob großes Entwicklungshaus oder auch im mittelständischen Unternehmen mit nur einigen Entwicklern zeigt sich hier das volle Potenzial im Zusammenspiel von SAP mit bekannten Open Source Tools.
Quasi jeder Entwickler kennt die Vorteile der Open Source Tools rund um Git:
- Automatisierte Vorgänge im Entwicklungsprozess mit Continous Integration und Continous Deployment
- Dezentrales Arbeiten von Teams an einer Software
- Vielfältige Möglichkeiten der Qualitätssicherung durch moderne Freigabeprozesse
- 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, indem man den kompletten 75.000 Zeilen langen Quellcode ausführt. Updates funktionieren dann direkt aus dem Report heraus.
Nach der Installation ist es möglich, ABAP-Software-Projekte aus quasi jedem Git in das lokale ABAP-System zu Klonen. Welches Git man hier einsetzt, spielt übrigens keine Rolle. Egal ob öffentlich oder on premise im eigenen oder outgesourcten Rechenzentrum.
Doch wo liegt jetzt der große Vorteil, in ein SAP-System, das schon über ausgefeilte Entwicklungsmechanismen verfügt, eine Verbindung mit einem Git-Server herzustellen?
Vorteil dieser Methodik
Ein Mehrwert kann sein, dass in der Cloud jeder Entwickler außerhalb der normalen Transportstruktur sein eigenes Entwicklungssystem zur Verfügung gestellt bekommt und so jede Entwicklung unabhängig vorangetrieben werden kann. Da diese Systeme nur benötigt werden, wenn auch daran entwickelt wird, können sie in quasi jeder Cloud betrieben werden.
Um Kosten zu sparen, werden die nicht genutzten Systeme in Ruhezeiten einfach abgeschaltet. Die dabei erzielten Einsparungen sind bei einer On-Premise-Installation nicht zu erreichen, da die Hardware immer vorgehalten werden muss.
Gerade jungen und ideenreichen Fachkräftenkann man hier die Möglichkeit verschaffen, ohne direkten Impact auf das Entwicklungssystem zu arbeiten und Ideen ohne Risiko umzusetzen. Umgekehrt kann natürlich auch klassisch zentral entwickelt werden und ein stabiler Stand der Software vollautomatisiert in einem Cloud QA-System zur Verfügung gestellt werden. Dort wird die Software nun automatisch oder durch eine Gruppe von Testbenutzern getestet.
Danach kann das System gelöscht oder pausiert werden. Die Automatisierung sowie die 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, sieht man, wie gut dies funktionieren kann.
Zugriff auf ausgereifte Tools
Ein anderer Vorteil ergibt sich für Entwicklungen von Softwarepartnern der SAP. Für Individualsoftware gilt, dass immer wieder ähnliche Funktionen geschrieben werden und Rad immer wieder neu erfunden wird. Dabei treten immer wieder neue Fehler auf oder nützliche Funktionen fehlen.
Der Aufwand für Evaluierung, Testing und Pflege wird dadurch sehr hoch. Durch die Benutzung eines zentralen Git kann man sich hier einen Bestand an ausgereiften Tools vorhalten, auf die man bei Bedarf zurückgreift. Dies kann intern geschehen oder auch mit der Open Source Community geteilt werden.
Unter https://dotabap.org/ existiert bereits eine Plattform mit einer Sammlung von ABAP Projekten im Open Source Bereich, auf der auch der Co-Autor dieses Artikels, Daniel Wegner, schon Projekte mit der Community geteilt hat.
In der SAP Entwicklercommunity ist der Gedanke quelloffener Software noch nicht stark verbreitet. Mit einem Generationenwechsel der Entwickler kann man jedoch davon ausgehen, dass sich immer mehr Firmen oder Entwickler in ihrer Privatzeit mit kleinen oder großen Programmen beteiligen werden.
Bei Bewerbungen oder Lebensläufen ist es heute schon fast Pflicht, seine Entwicklungen in einem Github oder Gitlab Link mitzuliefern.
Fazit
Wer heute mit einer gewissen Offenheit althergebrachte Mechanismen in der SAP-Welt kritisch, aber auch kreativ hinterfragt, wird noch viele weitere Möglichkeiten finden, Prozesse der Vergangenheit zu verbessern und an die neue Welt der IT anzupassen.
Open Source spielt hier, wie auch überall sonst, eine entscheidende Rolle. Die Integration von Branchenstandards wie Git sorgt für eine neue Dynamik in sonst relativ starren Mechanismen und macht gleichzeitig den SAP-Bereich attraktiv für junge kreative Ideen.
Autor: Manuel Sammeth, Teamleiter für Platform Services bei FIS-