| |
Ohne ein gut durchdachter
SW-Design würde auch eine Überarbeitung des Layouts einer
Applikation unweigerlich dazu führen, dass man den gesamten
Code überarbeiten müsste und
nicht nur die Stellen, die für die Präsentation der Daten zuständig
sind.
Viele von diesen Problemen kann man durch das Einsetzen
des Struts-Frameworks lösen. Struts
ist eine leistungsfähige und frei verfügbare
Model-2-Implementierung. Man erspart sich die
Mühen einer eigenen Umsetzung und kann sofort mit der eigentlichen Entwicklung
seiner Web-
Applikationen beginnen. Darüber hinaus erleichtert die gute Dokumentation
einem Entwickler
sich relativ schnell in das Framework einzuarbeiten.
4
Bestandteile des Frameworks Wie
es bereits erwähnt wurde stellt das Struts-Framework im wesentlichen eine
MVC Model 2
Implementation. Dementsprechend besteht das Framework aus drei
großen Teilen:
dem Controller,
dem Model und
der View
4.1 Struts-Controller
Der Controller
ist für die logische Abfolge innerhalb einer Web-Applikation verantwortlich.
Er
empfängt die HTTP-Anfragen eines Browsers und leitet diese
Anfragen entweder an die Ge-
schäftslogik (das Model) oder direkt an die View-Komponente weiter. In Struts
ist der Controller
durch ein Java Servlet realisiert. Die Request-Action Mapping des Controllers
findet nicht im
Quell-Code, sondern in einer XML-Konfigurationsdatei (struts-config.xml) statt. Der Controller
kennt nur logischen Namen der beteiligten Komponenten, die richtigen Datei- bzw.
Klassen-
Namen der JavaServer Pages und Java-Klassen müssen ihm nicht bekannt sein.
Neben der einfachen Verwendung, hat diese Art der Vorgehensweise
noch weitere wichtige
Vorteile: Es verhindert, dass die Abbildungen der Request-URIs
auf die Action-Klassen hart in
einer Komponente kodiert werden. Es ist also sehr leicht möglich, den Ablauf
zu verändern,
wobei gerade mal eine Konfigurations-Datei verändert werden muss. Diese Eigenschaft
macht
die Datei struts-config.xml zum eigentlichen Herzstück von Struts. Außerdem
muss der Web-
Designer nicht mehr den ganzen Java-Code durchforsten, um den Ablauf einer Anwendung
zu
verstehen und der Java-Entwickler braucht nicht mehr den Code erneut zu kompilieren,
wenn er
Änderungen an der Ablaufsteuerung macht.
Die Konfigurationsdatei wird nur einmal beim Start der
Webanwendung eingelesen. Daraufhin
wird eine Mapping-Tabelle erstellt, welche die Abbildungen
der Ereigniss enthält. Um die
Geschwindigkeit zu erhöhen, wird die Tabelle im Arbeitsspeicher abgelegt.
4.2 Struts-Model
Das Model hat
im Allgemeinen zwei Aufgaben. Zum einen repräsentiert es den aktuellen Zustand
einer Applikation, zum anderen kapselt es die Geschäftslogik
ab. Dies wird durch JavaBeans
verwirklicht. JavaBeans sind an sich normale Java-Klassen, die jedoch nach bestimmten
Regeln
aufgebaut sind (siehe Kapitel 7.4 JavaBeans). Die Business-Logic-Beans werden von den Action-Klassen aufgerufen und bestehen aus
diversen Methoden, in denen die Geschäftslogik
zur Anwendung kommt. Es wird somit die Logik
von den Daten getrennt. Um die Daten von der Geschäftslogik verarbeiten zu
lassen, müssen
diese übergeben werden. Business-Logic-Beans können nicht nur innerhalb der Web-Applikation
zur Ausführung von Geschäftslogik eingesetzt
werden, sondern auch in anderen Applikationen.
Um diese Wiederverwertbarkeit zu erreichen, ist es wichtig, die JavaBeans so zu
entwickeln,
dass sie keine Kenntnis davon haben, dass sie innerhalb einer Web-Applikation
ausgeführt
werden. Es dürfen keine Klassen importiert werden,
die spezifisch für Web-Anwendungen sind.
|  |
|
| |
|
|