Entwicklungsprozess

(Auszug aus "Java und XSLT" von Eric M. Burke)

Die Entwicklung einer Webanwendung mit Java und XSLT kann in mehrere Teilschritte zerlegt werden. Wie in jedem Softwareprojekt ist es wünschenswert, einen modularen Ansatz zu finden und diesen auf verschiedene Programmierer aufzuteilen. Das beschleunigt den ganzen Prozeß und erlaubt die Teilnahme von Programmierern mit unterschiedlichen Fähigkeiten.

Der Entwicklungsprozess gliedert sich in folgende Schritte:

  • Definition der Anforderungen
  • Entwurf von Prototypen der XHTML-Webseiten
  • Entwurf von Prototypen der XML-Daten
  • Entwurf der XSLT-Stylesheets
  • Entwurf und Implementierung der Java-Domänenklassen
  • Entwurf und Implementierung der Datenbank und des zugehörigen Codes
  • Entwurf der Klassen zur Erzeugung von XML
  • Implementierung der Servlets und des zugehörigen Codes

Obwohl diese Liste die Reihenfolge der Bearbeitung dieser Schritte annähernd widerspiegelt, wird bei größeren Anwendungen oft zunächst eine rudimentäre Implementierung des Gesamtsystems angestrebt. Diese realisiert einige wenige Schlüsselfunktionalitäten und erfordert die Anwendung aller oben genannten Schritte. Dieser Prozeß wird für alle später hinzugefügten Funktionalitäten wiederholt. Es ist typisch für kleinere Softwareprojekte, dass die Entwicklung in iterativen Schritten und nicht in einem einzigen Durchlauf stattfindet.

Im letzten Teil des Kapitels wird die Implementierung des Diskussionsforums vorgestellt. Die Anforderungen, der Entwurf und der Code werden in ungefähr derselben Reihenfolge wie in der obigen Liste behandelt.

Anforderungen

Es soll ein Online-Diskussionsforum mit Java und XSLT entwickelt werden. In unserer Referenzimplementierung sind alle Features über einen Webbrowser und XHTML verfügbar, so daß clientseitig kein Java oder JavaScript benötigt wird. Die Anwendung kann über einen Internet-Provider, der Java 2, Servlet 2.2 und den Zugriff auf eine relationale Datenbank wie MySQL bereitstellt, verfügbar gemacht werden. Wir gehen davon aus, daß zusätzlich benötigte Java-JAR-Dateien, wie die für JAXP und JDOM, zusammen mit der Webanwendung installiert werden können.

Das Diskussionsforum wird in Nachrichten-Boards unterteilt, die verschiedene Themengebiete abdecken, wie »Hunde-Liebhaber« oder »Katzen-Liebhaber«. Jede Nachricht wird einem Board zugeordnet und kann eine Antwort auf eine vorherige Nachricht sein. Das ist als »threaded«-Diskussionsforum bekannt. Jede Nachricht besteht aus einem Thema, einem Datum, der E-Mail-Adresse des Absenders und dem eigentlichen Nachrichtentext.

Beim Besuch der Website können die Nutzer Nachrichten lesen, neue Nachrichten versenden und auf Nachrichten antworten. Neue Nachrichten-Boards können nur von Administratoren angelegt werden. Die Referenzimplementierung arbeitet mit XHTML, es werden aber alle Vorbereitungen getroffen, um Alternativen wie XHTML Basic oder WML zu unterstützen. Abgesehen von praktischen Beschränkungen, wie der Bandbreite und der Kapazität der Datenbank, unterliegt die Anzahl an Nachrichten-Boards oder Nachrichten keinen künstlichen Einschränkungen.

Um das Beispiel überschaubar zu halten, wird hier auf einige Funktionalitäten verzichtet. Dies betrifft ein webbasiertes Administrationswerkzeug, Nutzer-Authentifizierung und Sicherheitsaspekte und die Möglichkeit, das Archiv zu durchsuchen. Vorschläge für deren Implementierung finden sich am Ende dieses Kapitels.

Informationsfluss

Die Nutzerschnittstelle des Diskussionsforums besteht aus vier Bildschirmen, siehe die folgende Abbildung. Jeder Kasten steht für eine Webseite, während Linien die Übergänge von einer Seite zur anderen visualisieren und somit die Links auf jeder Seite repräsentieren.

Webseiten des Diskussionsforums

Abbildung: Webseiten des Diskussionsforums

Das graphische Layout des Zusammenspiels zwischen den Webseiten wird auch als storyboarding bezeichnet. Es handelt sich um eine Technik zum Entwurf von Nutzerschnittstellen, die ihre Wurzeln in der Animations- und Filmindustrie hat. Solche Übersichtsdiagramme werden zunächst oft als Handskizzen auf Papier ausgeführt, mit dem Ziel, den groben Informationsfluß der Anwendung zu erfassen. Sie sind ein guter Ausgangspunkt für weitere Entwicklungen, denn sie zeigen das Zusammenspiel der einzelnen Komponenten, ohne sich in den technischen Details zu verlieren.

Der Startpunkt der Anwendung ist »Diskussionsforum Home«. Es zeigt die Liste der Nachrichten-Boards, wobei für jedes eine Liste von Monaten angezeigt wird. Betätigt ein Nutzer einen Link für einen Monat, werden die Themen der Nachrichten aus diesem Monat aufgelistet. Es gibt auch einen Link, über den man eine neue Nachricht versenden kann. Der Nutzer kann von jeder Seite der Anwendung zurück auf die Homepage wechseln.

Die Seite »Monatsübersicht« zeigt die Nachrichtenthemen eines bestimmten Monats und Nachrichten-Boards. Diese Nachrichten werden in einer Baumstruktur angezeigt, wobei das Thema, der Autor und das Datum dargestellt werden. Die Struktur des Baumes verdeutlicht den Diskussionsverlauf, wobei Anworten jeweils unterhalb der Originalnachricht eingerückt werden. Auf dieser Seite kann der Nutzer eine Nachricht anzeigen lassen oder über einen Link die Seite »Neue Nachricht abschicken« aufrufen.

Die Seite »Nachrichtenansicht« stellt alle Details einer bestimmten Nachricht dar. Von hier kann der Nutzer zur Monatsübersicht zurückkehren oder über einen Link eine Antwort auf die Nachricht verfassen.

Die letzte Seite ermöglicht es dem Nutzer, eine neue Nachricht zu verfassen oder auf eine bestehende Nachricht zu antworten. Da neue Nachrichten und Antworten sehr ähnlich sind, können große Teile des Java-Codes und der XSLT-Stylesheets wiederverwendet werden. Durch die Verwendung desselben Codes für mehrere Webseiten wird unsere Anwendung zwar kleiner, aber auf der anderen Seite auch komplexer, da sie verschiedene Operationsmodi unterstützen muß.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Java & XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2002 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Java und XSLT" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de