ABAP für uns Java-Entwickler – Teil I
Die Deutsche Wirtschaft läuft auf ABAP - so heißt es. Müssen sich Java-Entwickler im Umfeld seriöser Geschäftsanwendungen deshalb gleich mit dieser seltsamen Sprache auskennen? Den modernen Java Enterprise Technologien hat der verstaubte ABAP-Stack doch wohl nichts entgegen zu setzen!
Wer so denkt, der irrt natürlich. SAP NetWeaver Entwicklungsprojekte verlangen häufig genug nicht die Entscheidung für ABAP oder Java, sondern die Verbindung beider Technologien. Damit sind auch die Anforderungen an passende Projektteilnehmer definiert.
Für Besucher von Erlebe Software können wir unseren Kurs „SAP ABAP Dynamische Programmierung“ mit kräftigem Rabatt anbieten.
SAP ABAP Dynamische Programmierung
ABAP ist tot. Java auch.
Die Sprache ABAP hat Ihre Ursprünge noch in SAP R/2 und soll die Abkürzung für Allgemeiner Berichtsaufbereitungsprozessor gewesen sein. Seit über 10 Jahren ist sie unter der Bezeichnung ABAP OO auch objektorientiert verwendbar. Die wichtigsten SAP Lösungen sind in ABAP geschrieben, allen voran die Business Suite mit ERP, CRM, SRM usw. Insofern kam an ABAP lange Zeit niemand vorbei.
Java kam im Jahr 2002 ins Spiel, als SAP einen Application Server namens InQMy kaufte und ihn zwei Jahre später als WebApplication Server 6.20 im ersten Release von SAP NetWeaver unterbrachte. Die Euphorie war groß und im Überschwang der Internet-Economy wurde ABAP ein baldiges Ende vorausgesagt: SAP wolle mittelfristig vollständig auf Java umstellen, so hieß es. Tatsächlich hat der Java-Server auch eine respektable Entwicklung genommen. Die aktuelle Engine ist Java EE 5 zertifiziert und wichtige Teile aus dem SAP NetWeaver Portfolio basieren auf Java: Portal, Process Integration (PI), Business Process Management (BPM), Composition Environment (CE). Die Entwicklung geht weiter: Die Sybase Unwired Platform läuft auf Java, PI und CE sollen zusammen auf einen reinen Java-Stack umziehen. Im Web sind schicke Anwendungen mit AJAX schon Standard, langsam bewegt sich auch die UI-Strategie der SAP in diese Richtung und es wird schon mal die Verwendung von HTML 5 für die Zukunft angekündigt.
Vom Untergang von ABAP war in den letzten Jahren allerdings weit und breit nichts zu sehen und inzwischen hat sich der Wind sogar gedreht. Die Übernahme von SUN durch SAP’s Lieblingsfeind Oracle brachte die Diskussion ins Rollen. Die Schlüsseltechnologie Java war jetzt vermeintlich in der Hand des ärgsten Konkurrenten. Es folgte die Ankündigung, SAP werde Web Dynpro Java nicht mehr weiterentwickeln. Es dauerte nicht lange, bis ABAP’s Sieg über Java in der öffentlichen Diskussion propagiert wurde.
Grau ist alle Theorie
In der Praxis ist dann alles Für-und-Wider akademisch. Es ist nun einmal Realität, dass beide Technologien nebeneinander existieren, jede ihr Einsatzgebiet hat und sich diese Tatsache auch nicht so schnell ändern wird. Die Entscheidung für die eine oder andere Technologie als Entwicklungsplattform darf nicht aufgrund persönlicher Vorlieben getroffen werden, sondern muss sich an objektiven Kriterien entscheiden und das Szenario und das Lösungsumfeld berücksichtigen.
Ein erfahrener ABAP-Entwickler mag mit seiner Sprache auskommen, solange er sich in seinem angestammten ERP-Modul bewegt
Für seinen Kollegen vom Java-Team gibt es aber keine Alternative: Früher oder später kommt er in seinen Entwicklungsprojekten mit der ABAP-Welt in Berührung, denn in praktisch jedem Projekt gibt es ein Backendsystem aus der Business Suite. Dann sollte er RFC-Schnittstellen verstehen können, Datenbanktabellen lesen, sich im Customizing zurecht finden und vor allem die ABAP-Allzweckwaffe bedienen können: Den Debugger. Darüber hinaus wäre es auch von Vorteil, den einen oder anderen generierten ABAP Proxy mit Leben füllen zu können.
In den folgenden Teilen dieser Artikelserie werden die Kernelemente von ABAP-Programmiersprache und Laufzeitumgebung aus der Sicht eines Java-Entwicklers betrachtet und Parallelen zu der ihm bekannten Welt gezogen. Ein Einstieg in die ABAP-Welt sollte auf diese Weise ausreichend verlockend werden.
Alle Java-Entwickler können sich ausnahmsweise Lothar Matthäus zum Vorbild nehmen: Der kann auch rechts wie links.