Show TOC

Anzahl, Größe und Generik von ComponentsLocate this document in the navigation structure

Verwendung

Der ideale Zuschnitt von Components

Grundsätzlich gilt, dass die Kommunikation zwischen Components aufwändig ist und zu Lasten der Performance der Anwendung geht. Auf der anderen Seite sollte eine einzelne Component auch nicht zu groß werden. Es gilt also, ein sinnvolles Mittelmaß zu finden und zunächst einmal darauf zu achten, dass jede Component für sich eine logische Einheit bildet. Auch sollte auf jeden Fall vermieden werden, dass eine Component von verschiedenen Entwicklungsgruppen bearbeitet wird. Im Hinblick auf die optimale Anzahl einzelner Views einer Component läßt sich folgender Richtwert formulieren:

Hinweis

Erstellen Sie Ihre Components wann immer dies möglich ist mit maximal 15 Views.

Sorgen Sie dafür, dass pro Controller die Anzahl der darin verwendeten Controller maximal 8 beträgt. Bedenken Sie, dass aus den von Ihnen erstellen Components zur Laufzeit ein Generat erzeugt wird, dessen Größe kritisch von der Anzahl der Views und UI-Elemente, Controller und Controller-Verwendungen sowie von der Größe der Context-Knoten abhängt. Wenn dieses Generat (auch "Load" genannt) sehr groß wird, gibt das System eine Warnung aus, da zur Laufzeit Situationen auftreten können, in denen durch andere Aktivitäten die für die WDA-Anwendung verfügbaren Ressourcen begrenzt sind und die Performance deutlich sinkt.

View vs. Component

Die Component ist die wiederverwendbare Einheit des Web-Dynpro-Frameworks. Eine View lässt sich innerhalb einer Component nur ein einziges Mal zur Anzeige bringen - im Vergleich dazu ist es jedoch möglich, eine Component mehrfach zu instanziieren. Daraus folgt, dass eine einzelne View genau dann zu einer eigenen Component ausgebaut und in einer anderen Component mehrfach verwendet werden muss, wenn diese View mehrfach in einem Window angezeigt werden soll.

Hinweis

Da eine Component an sich eine visuelle Einheit bilden soll, ist es ratsam, pro deklarierter Component-Verwendung nur eine Interface-View ins Window der verwendenden Component einzubetten.

Model-Components

Die Erstellung spezieller Model-Compnents wird nicht mehr empfohlen, da solche Components keinerlei Vorteil gegenüber Model-Klassen haben. Alternativ können Sie zur Bereitstellung eines Models auch eine gemeinsam genutzte Assistance-Klasse verwenden (siehe auch Abschnitt Context).

Die Generik von Web-Dynpro-Components

Da generische Components prinzipiell wesentlich schwerer zu warten sind als explizit ausprogrammierte Components, sollten alle Components immer nur soweit generisch sein, wie die Rahmenbedingungen erfordern. Dem entgegen steht unter Umständen eine verteilte Anwendungsentwicklung, die generische Components bereitstellen muss damit zu einem späteren Zeitpunkt oder von einer anderen Entwicklungsgruppe z.B. ein einheitliches Layout über alle entstandenen Anwendungen konfiguriert werden kann. Generell sollten Sie bei der Erstellung von Anwendungen soweit generisch vorgehen, dass mit Hilfe einer Konfiguration der entstandenen Component etwa 80% aller möglichen Anwendungsfälle bedient werden können. Versuchen Sie nicht, über eine noch weniger konkrete Component auch noch die letzten 20% der möglichen Anwendungsfälle einzubeziehen.