
Komponenten 
Verwendung
Komplexe BSP-Applikationen, die auf dem
MVC Design Pattern basieren, zeichnen sich durch viele und umfangreiche Bestandteile aus. Jedes einzelne Teil, aus dem sich eine komplexe BSP-Applikation zusammensetzt, beinhaltet ausgefeilte Anwendungslogik und durchdachte Präsentationslogik. Es ist sinnvoll, die einzelnen BSP-Bestandteile in Form von wiederverwendbaren Modulen zu erstellen. Diese wiederverwendbaren Module sind:
- Controller
- ein oder mehrere Views
- ein Model
Zusammen bilden sie eine Komponente.

Komponenten stehen nur für stateful BSP-Applikationen zur Verfügung.
Integration
Die Verwendung von Komponenten ist in das MVC Design Pattern integriert.
Voraussetzungen
Sie befinden sich in einem SAP Web AS 6.20 Umfeld.
Funktionsumfang
Eine Komponente besteht aus einem Controller, dessen Klasse von
CL_BSP_CONTROLLER2 abgeleitet ist, sowie einem oder mehreren Views, wobei es zu regelrechten Verschachtelungen kommen kann. Dies ist in der folgenden Abbildung skizziert:

Zentrale Features von Komponenten sind:
- Bei Komponenten kommt es zu komplexen Aufruf-Folgen während eines HTTP-Requests.
- Die einzelnen Teile, aus denen sich eine Seite im Browser zusammensetzt, werden während der Laufzeit dynamisch zusammengebaut.
- Eine Komponente kann von einer anderen Komponente aus aufgerufen werden. Daher sollte sie in einen View platziert werden. Dies geschieht über das
<bsp:call>-Element.
- Die Initialisierung kann vom Controller mit der Methode
create_controller aufgerufen werden. Diese Methode stehl für alle Controller-Klassen zur Verfügung. Sie erzeugt einen Controller oder findet ihn, sofern er bereits existiert.
- Der Parent-Controller enthält eine Liste der einzelnen Unter-Controller und leitet alle Eingaben an den jeweils passenden Controller weiter. Dies geschieht über die Präfigierung aller IDs mit dem Pfad der Controller-IDs.
- Für sich allein betrachtet formen Controller einen hierarchischen Baum. Jeder Controller kontrolliert seinen View/seine Views, sein Model sowie die Liste der Unter-Controller.
- Die Kontrolle der Unter-Controller wird von der Basisklasse
CL_BSP_CONTROLLER2 ausgeführt. Dagegen wird die Kontrolle des Views und des Models vom jeweiligen Controller-Entwickler übernommen.

Wenn Sie Datenbindung-Funktionalität verwenden möchten, dann können Sie Ihrer Komponente eine Model-Klasse hinzufügen. Weitere Informationen finden Sie unter
Datenbindung.
Aktivitäten
Sie erstellen den obersten Controller
Sie legen eine Komponente an
Sie rufen die Komponente auf
Sie legen die Eingabeverarbeitung fest