|
Einführung
Kontext
Die Firma X-cellent entwickelt eine Lastverteilung für Linux Server. Mit ihr werden
verschiedene Serverdienste wie HTTP, HTTPS, FTP usw. auf beliebig vielen Servern
gesteuert. Die Konfiguration übernimmt ein Perlscript. Das Perlscipt wird über
die Kommandozeile bedient, liest eine Konfigurationsdatei aus und schreibt eine
Statusdatei.
Aufgabenstellung
Die Lastverteilung soll komfortabel über eine grafische Benutzeroberflauche
in einem Webbrowser bedient werden. Dazu gehört die Ansicht auf den Status der Lastverteilung, die
Konfiguration der Lastverteilung, sowie eine Ansicht auf die Logfiles und auf Statistik-Grafiken
der Server. Dazu kommt ein Logon und eine Benutzerverwaltung mit Vergabe der Rechte
auf einzelne Module.
Zukünfig sollen Server über die grafische Benutzeroberflauche hinzugefügt und
gelöscht werde können sowie Servern Dienste hinzugefügt und gelöscht
werden. Diese Erweiterungen sollen auf Machbarkeit geprüft werden. Die jetzige
Lösung soll nur noch erweitert zu werden brauchen.
Lösung
Die Seiten für den Webbrowser werden durch Java Server Pages (JSP's) erzeugt. Struts
(Apache Foundation) wurde als Framework benutzt. Struts setzt das MVC (Model View Controller)
Prinzip um. Dabei werden die Daten (hier Dateien), die Steuerung (Java-Klassen) und die Ansicht
(im Webbrowser) getrennt.
Die XML-Dateien für
Ansicht und Konfiguration der Lastverteilung werden mit XSLT-Stylesheets in HTML-Code transformiert
und durchlaufen danach Filter.
Die Anwendung ist internationalisiert. Alle Meldungen, Verweise und sonstigen Beschriftungen
können in verschiedenen Sprachen erfolgen. Umgesetzt sind z.Z. Englisch und Deutsch.
Fast alle Klassen der Anwendung werden in einem Unittesting getestet.
Es werden ausschließlich Open-Source-Produkte eingesetzt: Xalan und Xerces für die
XML-Transformationen, Struts als Framwork, ANT zum Bauen, Testen, Verteilen und Dokumentieren,
JUnit für das Unittesting, Log4j für das Logging, ORO für "regulare expressions",
Tomcat als JSP-Engine, CVS als Versionsverwaltung, Linux als Betriebssystem, und Netbeans als
IDE für die Entwicklung.
Weiter Details finden sich unter den Screenshots weiter unten.
Demo
Die Demo besteht aus reinen HTML-Seiten.
In der "wirklichen" Anwendung werden diese Seiten durch Java Server Pages
(JSP's) erzeugt und damit interaktiv. Zum Anschauen der Demo klicken Sie bitte
[ --> zur Demo ].
|