2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
auftreten können, weil der Programmierer die Intentionen des Modellierers nicht vollständig<br />
erfasst, bleiben möglicherweise unentdeckt, wenn der System-'Designer' selbst die<br />
Realisierung seiner Modelle durchführt.<br />
Zweitens muss klar sein, dass im Rahmen dieser Arbeit nur die Umsetzbarkeit bzgl. eines<br />
bestimmten <strong>Web</strong>-Frameworks (Ruby on Rails in unserem Fall) bewertet werden konnte.<br />
Darüber, wie gut <strong>UWE</strong> mit anderen Implementierungstechnologien zusammenspielt, müssen<br />
andere Fallstudien Aufschluss geben.<br />
Drittens wird keine Evaluierung der Umsetzbarkeit der RIA-Modellierung erfolgen, aus dem<br />
einfachen Grund, weil sie schon in Kapitel 5.1 vorweggenommen wurde. Diese Kritik betraf<br />
die Umsetzbarkeit der RIA-Modelle, die mit den 'alten' Modellierungstechniken für RIAs<br />
erstellt wurden. Die Verbesserungsvorschläge, die wir daraufhin unterbreitet haben, können<br />
als direktes Resultat der Evaluation des ursprünglichen Ansatzes betrachtet werden. Wir sind<br />
natürlich der Meinung, dass mit dem erweiterten Ansatz, den wir vorgeschlagen haben, die<br />
Probleme, die wir bei der ursprünglichen Version ausgemacht haben, beseitigt sind. Doch für<br />
eine Validierung dieser These sind neue Praxistests notwendig, die PVS-Fallstudie konnte nur<br />
zur Bewertung des alten Ansatzes dienen.<br />
Nach dieser zugegebenermaßen langen Vorrede nun zur Bewertung:<br />
Das <strong>UWE</strong>-Inhalts- und Präsentationsmodell wurden in ihren plattformspezifischen<br />
Entsprechungen der Rails-Architektur, dem Modell- und der View-Komponente, umgesetzt.<br />
Bei der Implementierung des Inhaltsmodells gab es zwar, wie schon ausführlich dargelegt,<br />
Komplikationen bei der Abbildung der Publikations-Vererbungshierarchie auf<br />
Datenbankebene, die uns zu nicht unwesentlichen Modifikationen des Modells zwangen. Aber<br />
diese Schwierigkeiten können kaum <strong>UWE</strong> als dem verwendeten Modellierungsansatz<br />
angelastet werden. Verantwortlich war vielmehr die in Rails integrierte Persistenzschicht: Für<br />
unseren Geschmack bewirkt das ActiveRecord-Modul von Rails einfach eine zu starke<br />
Koppelung von Objekt- und Persistenzebene.<br />
Die Realisierung des Präsentationsmodells können wir als reibungslos beschreiben. Die<br />
<strong>Web</strong>oberfläche des PVS konnte ohne Probleme so realisiert werden, dass alle Modellvorgaben<br />
bzgl. der Struktur der <strong>Web</strong>seiten und ihrer dynamischen Inhalte eingehalten wurden.<br />
Allerdings war hier auch am meisten 'eigenständige' Arbeit zu leisten, die über die Umsetzung<br />
der im Modell spezifizierten Informationen hinausging, da in der <strong>UWE</strong>-Methodologie eine<br />
detaillierte Spezifikation des Erscheinungsbilds von <strong>Web</strong>seiten nicht vorgesehen ist.<br />
Am wenigsten geradlinig verlief die Realisierung von Navigations- und Prozessmodell. Dies<br />
liegt daran, dass bei der <strong>UWE</strong>-Modellierung der Navigationsstruktur eines <strong>Web</strong>systems keine<br />
expliziten Angaben darüber gemacht werden, an welchen Stellen ein HTTP-Request zu<br />
lancieren ist, der auf Serverseite der Anwendung zu verarbeiten ist. Gerade diese<br />
Informationen werden aber für die Implementierung der Rails-Controller-Klassen benötigt.<br />
Zwar finden sich diese Informationen durchaus im Navigationsmodell, allerdings müssen sie<br />
etwas mühsam extrahiert werden: Hierzu haben wir im entsprechenden Abschnitt über die<br />
Umsetzung (Kapitel 7.3.2) einige Regeln formuliert, mit denen Navigationslinks identifiziert<br />
werden können, deren Durchlaufen keinen HTTP-Request impliziert, der von einer<br />
Controller-Action verarbeitet werden muss. Diese Regeln mögen trivial erscheinen, und bei<br />
der Implementierung des PVS haben wir sie sicher nicht bewusst angewendet: Dies war<br />
schlichtweg nicht nötig, da wir das gesamte System ja selbst entworfen hatten und daher<br />
wussten, für welche Übergänge eine eigene Action benötigt wird. Einem Software-Entwickler,<br />
dem die <strong>UWE</strong>-Modelle zur Implementierung vorgelegt werden, bleibt aber nichts anderes<br />
übrig, als durch Anwendung dieser Regeln die Request-Response-Struktur der Anwendung zu<br />
erfassen. In diesem Zusammenhang ist es besonders wichtig, dass bei der Modellierung nicht<br />
92