4.5 Anwendungspotentiale der Web Service Technologie innerhalb des
FiXplan-Projekts
Ziel dieses Kapitels ist es, die in Abschnitt 4.1 herausgearbeiteten Nutzenpotentiale
der Web Service Technologien im FiXplan-Projekt zu adressieren. Dazu wird
zunächst der Ist-Zustand des aktuellen Prototyps analysiert. Danach werden
beispielhaft einige Anwendungsszenarien erláutert, die den Einsatz der Technologien
motivieren und zu einem Mehrwert bei der Konzeption, Erweiterung,
Aktualisierbarkeit und Qualität des Decision Support Systems zur Persäônlichen
Finanzplanung beitragen können. Mit der Implementierung dieser
Anwendungsszenarien sowie den dazu benötigten bzw. einsetzbaren Werkzeugen und
den damit verbundenen Problemen beschäftigt sich danach der weitere Teil der
Arbeit.
4.5.1 Wiederverwendbarkeit einzelner Komponenten und Flexibilität beim
Design neuer Software und neuer Komponenten
Der FiXplan-Prototyp war bzw. ist darauf ausgerichtet, mit dem Benutzer über
dynamische Webseiten zu kommunizieren. Bei der Implementierung der einzelnen
Module wurde deswegen zunächst kein Wert darauf gelegt, die eigentliche
Funktionalität zu kapseln um eine stärkere Trennung von Layout und
Anwendungslogik zu erreichen. Alle Teilmodule sind mehr oder weniger so
programmiert, dass die Layout-Anweisungen (d.h. HTML-Formatierungen für den
Browser) und die funktionalen Aspekte (d.h. die in PHP programmierten Funktionen,
die Datenbankanweisungen, Fehlerbehandlungen usw.) in den einzelnen Skriptdateien
miteinander kombiniert sind. Damit lässt sich nur unter großem Aufwand bzw. mit
Cut&Paste ein Teil der Logik wiederverwenden. Neben der Redundanz dieser Code-
Stücke sind damit auch Änderungen in einzelnen Modulen problematisch. Die
Änderung muss in jedem Modul erfolgen, welches diesen Code benutzt. Damit ist das
System aber gleichzeitig anfällig für ungewünschte Nebeneffekte wie (Berechnungs-)
Fehler und unflexibel bei Veränderungen an den Berechnungsvorschriften und
Datenbankanweisungen. Dies hindert auch die Programmierer neuer Module daran,
bereits existierende Funktionalitäten wiederzuverwenden und ist damit nicht
förderlich für eine effiziente (Weiter-) Entwicklung des Softwareprodukts. Hierzu
zählt auch die aufgrund der Größe des Projekts bereits unübersichtliche Menge an
Funktionalität, die neben der fehlenden Kapselung dem Entwicklerkreis zudem nicht
bekannt und auch nicht ausreichend dokumentiert bzw. spezifiziert ist.
Somit ist eine klare Auslagerung der einzelnen Funktionsbausteine in eigene
Scripte sinnvoll. Funktionen und Funktionalitäten, deren Wiederverwendung
angedacht bzw. als sinnvoll erachtet wird, sollten als Kernfunktionen in separate
PHP-Skripte ausgelagert werden. In einem ersten Schritt können diese
Kernfunktionen dann über ,include"-Anweisungen in den einzelnen Modulen
verwendet werden. Hierbei ist auf eine ausreichende Dokumentation der Spezifikation
dieser Funktionen zu achten, damit ein Konsens zwischen dem Programmierer dieser
71