Web Dynpro in SAP ERP einfach erklärt

Mit der Technologie Web Dynpro handelt es sich um eine SAP-Technolgie, um webbasierte Anwendungen im SAP-System zu entwickeln und im Browser zu nutzen. Generell wird dabei zwischen zwei Versionen unterschieden:

  • Web Dynpro ABAP
  • Web Dynpro Java

Webbasierte Anwendungen gehöhren heutzutage zu unserem Alltag. Über den Browser kann man eine Software nutzen, ohne ein spezielles Programm dafür auf den Computer installieren zu müssen. Zahlreiche Anwendungen werden heutzutage ausschließlich über den Browser genutzt.

Webbasierte Anwendungen spielen längst eine wichtige Rolle für Anbieter von von ERP-Systemen wie der SAP AG. Ich möchte Dir gerne in diesem Artikel einen fundierten Überblick über Web Dynpro bieten. Dabei erkläre ich Dir, was man im Allgemeinen unter Web Dynpro im SAP-System versteht. Zudem hinaus erkläre ich Dir im Detail die einzelnen Web Dynpro Elemente. Mit diesem Hintergrundwissen schaffst Du eine wichtige Verständnisgrundlage für die Entwicklung von Web Dynpro Anwendungen.

Web Dynpro

Definition

Web Dynpro ist eine SAP-Technologie, die im SAP-Server genutzt werden kann, um webbasierte Anwendungen zu entwickeln. Die Technolgie bzw. die entwickelten Anwendungen werden vom SAP-Benutzer über einen Browser genutzt. Eine Web Dynpro-Applikation wird über eine URL aufgerufen.

Die Grundlage dieser Technologie ist die saubere Trennung der einzelnen Komponenten. Dabei wird das Model-View-Controller-Modell (kurz MVC) genutzt. Hierbei handelt es sich um ein Muster zur Trennung der Anwendungs- (Model), Präsentations- (View) und Ablauflogik (Controller).

Web Dynpro - Model-View-Controller-Muster

In der View-Komponente werden die Anwendungsdaten visualisiert. Die Model-Komponente generiert die Anwendungsdaten unabhängig von der späteren Darstellung. Die Controller-Komponente verbindet die View und das Model. Vor allem werden die Eingaben des Benutzers verarbeitet und letztlich an die View zur Ausgabe zurückgegeben. Zusammengefasst werden somit die Visualisierung, Datengenerierung und die Verbindung bzw. Kommunikation der Komponenten getrennt.

Dies ermöglicht es dem Entwickler, einen möglichst großen Teil seiner Anwendung deklarativ zu implementieren. Das bedeutet, dass nicht einzelne HTML-Elemente oder JavaScript programmiert und mit der Anwendungslogik vermischt werden. Stattdessen wird die Benutzeroberfläche aus UI-Elementen zusammengesetzt und es werden Navigationspfade zwischen den Teilen der Anwendung beschrieben. Der Quellcode der Benutzeroberfläche wird vom Framework automatisch generiert.

Vordefinierte Stellen können genutzt werden, um den notwendigen Code für den Benutzer zu implementieren. Die Entwicklung einer Web-Dynpro-ABAP-Anwendung wird im Object Navigator (Transaktion SE80) durchgeführt. In dieser Transaktion wird die Anwendung in Form eines Metamodells erstellt. Die eigentliche Anwendung wird entsprechend der Web-Dynpro-Architektur generiert.

Generell unterscheidet man bei Web Dynpro zwischen zwei Varianten

  • Web Dynpro ABAP
  • Web Dynpro Java

Web Dynpro ABAP

Web Dynpro ABAP oder Web Dynpro für ABAP (WDA, WD4A) ist die SAP-Standard-UI-Technologie zur Entwicklung von Web-Anwendungen im ABAP-Umfeld. Sie besteht aus einer Laufzeitumgebung und einer grafischen Entwicklungsumgebung mit speziellen Web-Dynpro-Werkzeugen, die in die ABAP Workbench (SE80) integriert sind.

Die Verwendung von deklarativen und grafischen Werkzeugen reduziert den Implementierungsaufwand erheblich aufgrund von folgenden Gründen:

  • Strikte Trennung zwischen Layout und Geschäftsdaten
  • Web Dynpro unterstützt einen strukturierten Entwurfsprozess
  • Wiederverwendung und bessere Wartbarkeit durch Verwendung von Komponenten
  • Barrierefreiheit der Benutzeroberfläche wird unterstützt
  • Automatische Bedienung der Web-Dynpro-Anwendung über die Tastatur
  • Volle Integration in die zuverlässige ABAP-Entwicklungsumgebung

Web Dynpro Java

Web Dynpro ist ein mandantenunabhängiges Programmiermodell der Technologieplattform SAP NetWeaver zur Entwicklung von Benutzeroberflächen für professionelle Geschäftsanwendungen. Es basiert auf dem Model-View-Controller-Muster, das die Trennung der Geschäftslogik von der Präsentationslogik gewährleistet. Diese Architektur ist in der Web Dynpro-Perspektive des SAP NetWeaver Developer Studio (NWDS) sichtbar. Die Technologie Web Dynpro Java verwendet die Programmiersprache Java.

Web Dynpro unterstützt Dich bei der Entwicklung von Webanwendungen durch:

  • Sicherstellung der Plattformunabhängigkeit durch den Meta-Modell-Ansatz
  • Minimierung des Implementierungsaufwands durch deklarative Programmierung
  • Unterstützung eines strukturierten Entwurfsprozesses durch die Anwendung des Model-View-Controller-Musters
  • Wiederverwendung und bessere Wartbarkeit durch den Einsatz von Komponenten
  • Grafische Unterstützung durch Werkzeuge in der Web-Dynpro-Perspektive
  • Bereitstellung der SAP NetWeaver Java Development Infrastructure (NWDI), die die Teamarbeit mit verschiedenen Diensten wie der Quellcodeversionierung und dem Central Build Service unterstützt.

Web Dynpro-Elemente

In einer Web Dynpro Anwendung werden folgende Elemente verwendet:

  • Component
  • Window
  • View
  • Context

Component

Ein Web Dynpro-Component ist ein wiederverwendbarer Container für andere Web Dynpro-Elemente, die sich auf die Benutzeroberfläche oder das Programm beziehen. Sie fasst alle Komponenten zusammen, die als Teil dieser Programmiereinheit für eine lauffähige Web-Dynpro-Anwendung benötigt werden.

Web Dynpro-Component

Window

Ein Window dient dazu, mehrere Views und View-Sets zu kombinieren. Das Konzept der View-Sets wird nur in Web Dynpro Java unterstützt. Eine View kann nur dann vom Browser angezeigt werden, wenn sie in ein Window eingebettet ist. Ein Window enthält immer eine oder mehrere Views, die durch Navigationslinks verbunden sind. Eine dieser Views, oder ein View-Set, wird als Start-View angegeben und beim ersten Aufruf des Windows angezeigt.

View

Eine View beschreibt das Layout und Verhalten eines rechteckigen Bereichs in der Benutzeroberfläche. Jede Web Dynpro-Applikation hat mindestens eine View. Das Layout einer View setzt sich aus verschiedenen Oberflächenelementen zusammen, die ineinander verschachtelt sein können. Die typischen UI-Elemente sind Tabellen, Schaltflächen und Eingabefelder. Die Positionierung von Oberflächenelementen in einer View wird durch die mitgelieferten Layout-Varianten unterstützt.

Neben dem sichtbaren Teil, dem Layout, enthält eine View auch einen View-Controller und einen Context. Im Context werden die Daten, an die die Elemente der View gebunden werden können, gespeichert und verwaltet, so dass sie auf dem Bildschirm dargestellt bzw. verwendet werden können. Der View-Controller kann Methoden zum Abrufen von Daten oder zur Verarbeitung von Benutzereingaben enthalten.

Alle Views einer Web Dynpro Component müssen in einem Window eingebunden sein. In vielen Fällen besteht die Benutzeroberfläche aus mehreren Views. Um diese nutzen zu können, muss eine spezielle Container-View verwendet werden. Diese ist in das Window eingebettet und enthält Bereiche, in die die möglichen Views eingebettet sind. Diese Bereiche sind durch ViewContainerUIelements definiert und werden als View-Area bezeichnet. In jedem View-Area kann ein View angezeigt werden.

View-Komposition ist die sichtbare View-Untermenge eines Windows.

Context

Im Context werden in einer hierarchisch strukturierten Ablage globale Variablen dargestellt. Über ein sogenanntes Context-Mapping können Daten von einem Controller in einen anderen übergeben werden. Dadurch kann man auf die Daten referenzieren und muss diese nicht kopieren. Das Context-Mapping innerhalb einer Component zwischen verschiedenen Contexts wird als internes Mapping bezeichnet. Das Context-Mapping zwischen unterschiedlichen Components wird als externes Mapping bezeichnet.

Zusätzlich hinaus wird eine Datenbindung verwenden. Dabei werden die UI-Elemente mit dem entsprechendem Controller verbunden, damit die eingegebenen Daten im Controller zur Verfügung stehen und genutzt werden können. Dadurch werden die Daten automatisch von der Schnittstelle im Browser in den Context des View-Controllers transportiert und umgekehrt. Dies muss zwingend der View-Controller der gleichen View sein.

Navigation zwischen Views

Die Navigation zwischen Views erfolgt über sogenannte Inbound- und Outbound-Plugs. Wenn eine View verlassen wird, wird ein Outbound-Plug ausgelöst. Dieses wiederrum löst ein asynchrones Ereignis aus, welches in einer Navigations-Queue gesammelt und abgearbeitet wird. Eine View kann dabei mehrere Outbound-Plugs auslösen.

Inbound-Plugs sind Methoden, die auf bestimmte Ereignisse registriert sind. Sie verarbeiten die Ereignisse der Outbound-Plugs.

Die Verbindung zwischen dem Outbound- und Inbound-Plug wird als Navigationslink bezeichnet. Im Zuge dieser Navigation können Daten zwischen den Views ausgetauscht werden. Da es sich technisch gesehen um eine Ereignisbehandlung handelt, können hier die üblichen Ereignisparameter verwendet werden, die dann von der Behandlermethode entgegengenommen werden.

Navigation zwischen Views

Component-Schnittstelle

Für einen externen Zugriff benötigt man zudem hinaus noch eine Component-Schnittstelle. Diese besteht aus folgenden Komponenten:

  • Interface-View
  • Interface-Controller

Eine Interface-View ist eine visuelle Schnittstellen zu einer Web Dynpro-Component. Ein Interface-Controller dient dem Zugriff auf Daten, Methoden und Ereignisbehandler durch anderen Komponenten. Jede Komponente hat nur einen Interface-Controller. Ein Window ist einerm Interface-View zugeordnet und andersherum. Über die Interface-View kann von außen auf das Window über bestimmte Inbound- und Outbound-Plugs zugegriffen werden. Zu diesem Zweck werden bestimmte Inbound- und Outbound-Plugs des Windows, die die Eigenschaft Interface besitzen.

Web Dynpro ABAP Applikation implementieren

In dem Artikel „Web Dynpro Anwendung in ABAP implementieren“ erkläre ich Dir Schritt-für-Schritt, wie Du eine Web Dynpro Applikation in der Programmiersprache ABAP implementieren kannst. Dabei werden wir ein sogenanntes „Hello-World“ Programm mit Web Dynpro ABAP umsetzen. Anhand dessen schaffst Du somit einen guten Einstiegspunkt für spätere und umfangreichere Web Dynpro-Anwendungen.

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar