Web Dynpro
Web Dynpro (WD) ist eine Technologie die von SAP im Rahmen der NetWeaver Strategie eingeführt wurde. Sie dient dem Erstellen von webgestützten Anwendungen, die mit einem SAP R/3 und anderen System zusammen arbeiten.
Programmierung
Die Web Dynpro Programmierung basiert auf dem MVC-Entwurfsmuster. Sie basiert auf Java oder ABAP. Während die Java-Version bereits seit der NetWeaver-Einführung verfügbar ist, ist die ABAP-Variante erst seit Anfang 2006 verfügbar.
- Views beinhalten das Layout und die Darstellung der Daten. Views werden aus vorgefertigten Elementen zusammengefügt. HTML Kenntnisse sind nicht erforderlich. Jede View hat ihren eigenen View-Controller.
- Component Controller verbinden das Model mit der View und steuern den Ablauf der Applikation
- Model dienen der Datenbeschaffung aus dem R/3 System (adaptive RFC-Model) oder zum Beispiel per Web Services. Model beinhalten einen Model-Kontext, der die Daten des jeweiligen Model-Aufrufs enthält.
- Kontexte sind jedem Controller zugeordnete Datenspeicher. Der Kontext eines View-Controllers speichert die Daten solang die View aktiv ist (vergleichbar dem Request einer J2EE-Anwendung), der Component-Controller speichert die Daten View-übergreifend solange die Applikation läuft (vergleichbar der Session)
- Mapping verbindet die Daten in den Kontexten und es findet gleichzeitig zur Laufzeit ein Datentransport statt.
Im Zusammenspiel werden nun verschiedene Views auf einem Window angeordnet, die Startview wird markiert. Diese wird zur Laufzeit zuerst angezeigt. Durch Interaktion des Benutzers über Bedienelemente werden Events ausgelöst, die Methoden in den Controllern ansprechen. In diesen Methoden programmiert der Entwickler nun z. B. Model-Aufrufe, um Daten aus den Backend-Systemen zu beschaffen. Über das Mapping der Kontexte werden diese transportiert in der Web-Dynpro-Applikation, so das sie in einer View wieder angezeigt werden können.
Die Web Dynpro ABAP-Version fügt sich nahtloser in das bestehende SAP-System ein, als die Java-Version, die außerhalb des SAP-Systems in der Eclipse-Workbench erstellt wird. Unterschiede bestehen auch hinsichtlich der vorhandenen UI-Elemente: Der aus der klassischen ABAP-Entwicklung bekannte ALV-Grid ist in der Java Version (noch) nicht verfügbar. Auch fehlen die in WD-ABAP implementierten Wizards, mit denen oft benutzte Codingstrecken erzeugt werden können. Dafür gestaltet sich die Java-Version flexibler was die Gestaltung von Oberflächen-Themes betrifft. Außerdem ist hier eine echte Codecompletion integriert.
Die WD-Versionen ABAP/Java sind zueinander nicht kompatibel, d. h. es lässt sich nicht ohne größeren Aufwand aus einer WD-Java eine WD-ABAP Applikation erzeugen und umgekehrt.