Web Applikationen mit Struts und ObjectBridge

Autoren

Veranstaltung

Vorlesung über Web-Applikationen
Datum: 9.7.2001
Zeit: 13:15 - 15:00
Ort: Mathematik Uni Münster

Übersicht

Schwerpunkt des Vortrags ist die Architektur einer Web-Applikation. Diese wird an einem kleinen Demo-Programm verdeutlicht. Zur Realisierung der Applikation wurden zwei Open-Source-Produkte eingesetzt. Es handelt sich dabei um Struts - Ein JSP-basiertes Framework für Web-Applikationen Object Bridge - Ein objekt-orientiertes Persistenz-Framework Diese Systeme sind frei verfügbar und stellen somit eine gute Möglichkeit dar, mit (Web-)Applikationen zu experimentieren.

Abschnitt: Web-Applikationen

[Inhalt des Vortrags]


Web-Applikation

Inhalt des Vortrags

Abschnitt: Web-Applikationen

[Architektur]


Web-Applikation

Schichten einer Web-Applikation

Web-Applikation

Präsentationsschicht
Zu den Aufgaben dieser Schicht gehört Die Wahl der geeigneten Technik wird bestimmt von den Anforderungen an

Web-Applikation

Web-Schicht - Teil 1
Aufgabe dieser Schicht ist Die Auswahl der geeigneten Tools hängt ab von

Web-Applikation

Web-Schicht - Teil 2
Zur Zeit sind zwei Arten von Architekturen für Web-Schichten sehr verbreitet.

Web-Applikation

BL-Schicht
Aufgabe dieser Schicht ist Sonstiges:

Web-Applikation

Persistenz-Schicht
Aufgabe dieser Schicht ist Sonstiges:

Web-Applikation

Datenhaltung
Aufgabe dieser Schicht ist Sonstiges:

Abschnitt: Demo-Applikation Web ToDo

[Eine Beispiel-Applikation]


Demo-Applikation Web ToDo

Fachlicher Umfang

Demo-Applikation Web ToDo

Realisierung der Schichten einer Web-Applikation
Präsentationsschicht HTML und (ein bisschen Javascript), erzeugt durch Taglibs. Web-Schicht Struts BL-Schicht Java (Kommando-Pattern) Persistenz-Schicht OJB - Objectbridge Datenhaltung DB2

Demo-Applikation Web ToDo

Präsentationsschicht mit JSP

Demo-Applikation Web ToDo

Struts Grundbegriffe
Struts ist ein in Java geschriebenes Framework zur Erstellung von Web-Applikationen. Hier einige grundlegende Begriffe von Struts:
Action Ein Java-Programm, dass aufgrund eines Requests (GET oder POST) ausgeführt werden soll. Dies ist eine Java-Klasse, die von Action erbt. ActionMapping Zuordnung von URLs zu Actions. Ausserdem Angabe von Web-Pages, die nach der Ausführung der Action angezeigt werden können. Welche der Pages angezeigt wird, bestimmt die Action (z.B. Erfolg oder Fehler). ActionForm Eine Java-Bean, in der Parameter des Requests gespeichert werden. Diese Bean kann typischerweise auch die Parameter validieren. Wenn eine Action ausgeführt wird, bekommt sie das ActionForm übergeben, damit sie Zugriff auf die Parameter des Requests hat. (Typischerweise Felder eines Forms oder ?-Argumente eines Links)
Beim ActionMapping wird angegeben, welche ActionForm von einer Action verwendet wird. Struts-config Beschreibung von ActionForms und ActionMappings in Form einer XML-Datei. ActionServlet Sozusagen das Hauptprogramm von Struts. Jeder Request, der von Struts verarbeitet werden soll, wird an das ActionServlet geschickt.

Demo-Applikation Web ToDo

Struts - Bearbeitung eines Requests

Eine Abfrage aus dem Web wird von Struts folgendermassen bearbeitet:
  1. Extrahieren der angeforderten URL aus dem Request (Pathinfo)
  2. Finden des ActionMappings für die angeforderte URL in der Liste aller ActionMappings.
  3. Ermitteln des zu verwendenden ActionForms (nötigenfalls Erzeugung des Forms).
  4. Füllen des ActionForms mit den Parametern aus dem HTTPRequest.
  5. Je nach Konfiguation Aufruf der validate()-Methode des Forms, um die übergebenen Daten zu verifizieren. Im Fehlerfall wird an die Seite zurückgesprungen, von der der Request kam (diese wird übrigens auch im ActionMapping festgelegt.)
  6. Aufruf der zu dem Mapping gehörenden Action. Übergeben werden Innerhalb der Action wird die eigentliche BL-Logik aufgerufen. Diese liefert entweder ein Ergebnis zurück oder wirft eine Exception.
    Die Action muss ein ActionForward (eine Java-Verpackung für eine Web-Page) zurückgeben. Welches ActionForward zurückgegeben wird, ist vom Ausgang der Action abhängig.
  7. Struts übergibt dies Kontrolle an die im ActionForward zurückgegebene Page. Dabei handelt es sich i.a. um eine JSP-Page. Die Übergabe der Kontrolle geschieht durch ein forward oder einen Redirect.
    Wenn die anzuzeigende Seite ein passendes Form enthält, wird das Form mit den Werten des ActionForms gefüllt.

Demo-Applikation Web ToDo

Struts - Bearbeitung eines Requests


Demo-Applikation Web ToDo

Struts - Praxis

Demo-Applikation Web ToDo

Businesslogik

Demo-Applikation Web ToDo

Object Bridge

Abschnitt: Web-Applikationen

[Schlußbemerkungen]


Weitere Informationen

Links und Literatur

Fragen?

Hier meine Email-Adresse

Danke


Copyright (c) 2001 F. Budde.
Mit Urteil vom 12. Mai 1998 hat das Landgericht Hamburg entschieden, dass man durch die Ausbringung eines Links die Inhalte der gelinkten Seite ggf. mit zu verantworten hat. Dies kann - so das LG - nur dadurch verhindert werden, dass man sich ausdrücklich von diesen Inhalten distanziert. Auf den Seiten dieses Vortrags befinden sich Links zu anderen Seiten im Internet. Für all diese Links gilt: Der Autor betont ausdrücklich, dass er keinerlei Einfluss auf die Gestaltung und die Inhalte der gelinkten Seiten hat. Deshalb distanziert er sich hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten in diesem Vortrag. Er macht sich diese Inhalte nicht zu eigen. Diese Erklärung gilt für alle in diesem Vortrag vorhandenen Links. Der Verfasser dieses Vortrags trägt keine Verantwortung für die Art, wie die hier zur Verfügung gestellten Informationen genutzt werden.