Neue Wege in der SAP ABAP Entwicklung mit Git und der Cloud

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-ASP