Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

03.06.2004Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine.

Ähnliche Präsentationen


Präsentation zum Thema: "03.06.2004Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine."—  Präsentation transkript:

1 03.06.2004Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine

2 03.06.2004 Marcel Genzmehr 2 Überblick Einführung Was ist enthalten? MVC Umsetzung Aufbau Beispiel Fazit Quellen

3 03.06.2004 Marcel Genzmehr 3 Einführung Seit 1999 in Entwicklung Open Source Projekt – Teil des Apache Jakarta Projekts KEIN „application server“ MVC-Framework Integration anderer Jakarta Projekte – (Jetspeed, Velocity,...) Sammlung von immer wieder gebrauchten Modulen und Werkzeugen

4 03.06.2004 Marcel Genzmehr 4 Was ist enthalten? Grosse Sammlung von Services unter dem Namen Fulcrum: – Automatische Validierung von HTML-Formularen (Intake-svc) – Web-Services (z.B. File-Upload) – Sicherheitssystem mit Benutzer, Rollen, Gruppen und Berechtigungen – JavaMail zum Verschicken von E-Mail – Logging, Java Naming Services –... Verwaltung und Steuerung von User-Sessions Flux: Screens und Aktionen zur Benutzerverwaltung

5 03.06.2004 Marcel Genzmehr 5 Model Torque für Datenbank Zugriffe – OR-Mapper – XML-Beschreibung des DB-Schemas – Anfragen ggf. über sogenannte Criteria-Objekte oder SQL – Erzeugt Objekte als Repräsentation der Daten – Pool zu Verwaltung von JDBC Verbindungen – Siehe ORM/JDO (Vortrag: 17.06.2004)

6 03.06.2004 Marcel Genzmehr 6 View JSP möglich Integration von Template Engines (empfohlen) Velocity – Open Source, Apache Jakarta Projekt – Dokumente aus Templates – Einfache Kontrollstrukturen – Für jede Art von Text verwendbar – Kommunikation zwischen Code und Template über Kontext Objekte Weiter Template Lösungen: WebMacro, FreeMarker...

7 03.06.2004 Marcel Genzmehr 7 Pull-Model Tool Objekte Zum Datenaustausch zwischen Model und View Effektive Trennung der Daten von Präsentationsschicht Einheitliches Interface: – Model-Definition kann sich ändern ohne die Präsentation zu beeinflussen – Nur das Tool objekt muss angepasst werden Verschiedene Lebenszeiten (Global, Session, Request, User)

8 03.06.2004 Marcel Genzmehr 8 Controller Wird zur Verfügung gestellt Meist Action-Klassen – Werden von Servlet aufgerufen – Nehmen notwendige Veränderungen am Model vor – Falls nötig: neues View setzen

9 03.06.2004 Marcel Genzmehr 9 Die Assembler Besteht aus 5 unterschiedlichen Modulen – Action – Page – Layout – Navigation – Screen Für den Ablauf „flow“ zuständig

10 03.06.2004 Marcel Genzmehr 10 Action-Klassen Programmcode der Aufgaben ausführt – z.B. Daten aus einem Login Formular verarbeiten Validiert in der Regel die Eingabe Speicherung der Eingabe in einer DB Entscheidet welcher Screen folgt Wird von Page aufgerufen Vorteil: – Datenverarbeitung getrennt von Servlet – Erweiterbar durch Aufruf EJBs

11 03.06.2004 Marcel Genzmehr 11 Screen-Klassen Wird von Layout ausgeführt Stellt den Körper der Seite dar Verantwortlich für Datenanzeige Generiert den HTML Teil der Seite Normalerweise Template-Context Ausführung von Code möglich – z.B. ein EJB das die HTML Seite bzw. den Template-Context mit Daten aus dem Modell füllt

12 03.06.2004 Marcel Genzmehr 12 Navigation Wird von Layout aufgerufen Stellt das allgemeine Navigationsschema dar – Header, Footer, Menu Ermöglicht verschiedener Navigationsmodule für unterschiedliche Layouts und Screens Aufruf von EJBs möglich

13 03.06.2004 Marcel Genzmehr 13 Layout Wird vom Page-Modul aufgerufen Bestimmt die physikalische Struktur der Seite – Position der Navigationsauswahl – Position des Bodys (Screen) Führt das Screen-Modul aus zum Seitenaufbau Erstellt die Navigation mit dem Navigations-Modul

14 03.06.2004 Marcel Genzmehr 14 Page Modul Erstes Glied in der Ausführungskette Beinhaltet alle anderen Module Überpüft ob Aktion ausgeführt werden muss – Wenn ja: Versuch die Aktion auszuführen Anfordern des Layouts Ausführen des aktuellen Layouts

15 03.06.2004 Marcel Genzmehr 15 Einbettung

16 03.06.2004 Marcel Genzmehr 16 Zusammenspiel

17 03.06.2004 Marcel Genzmehr 17 Klassenloader

18 03.06.2004 Marcel Genzmehr 18 Klassenloader Dynamisches Laden der 5 Module Optionaler Cache für schneller Ladezeiten Pfad zu den Loader in Konfigurationsdatei angegeben – Bei Änderung des Framework Kern nur Pfad umsetzen – Keine Veränderung im Code nötig Bietet die Möglichkeit die Webanwendung als Stand-Alone anzubieten, getrennt von Framework

19 03.06.2004 Marcel Genzmehr 19 Zusammenfassung Page-Konzept = OO-Darstellung eines HTML-Dokumentes Torque, Actions, Seiten Controller und View = MVC- Konzept Caching-Mechanismus: – Intantiierte Objekte für mehrere Seiten verwendbar – Ressourcen sparen Klassenloader: – Einfaches ändern des Kernsystems Angabe eines anderen Klassenloader in der Konfigurationsdatei

20 03.06.2004 Marcel Genzmehr 20 Bsp.: „Suche Längen-/Breitengrad“ Aufgabe: – Einfache Webanwendung – Eingabe/Auflisten von Daten – Suche nach Daten (Ortsnamen) – Validierung der Eingaben und Fehlerausgabe – Speicherung der Daten in Datenbank

21 03.06.2004 Marcel Genzmehr 21 Umfang Geschätzter Aufwand – Mit TDK, ca 2h Arbeit – 2 Action-Klassen – Eine Screen-Klasse – 3 Pull Tools – 5 weitere, automatisch erzeugte Klassen – 4 Screen Templates – 4 Templates für Navigation und Layout – Ca. 150 Zeile Java Code, 100 Zeilen HTML

22 03.06.2004 Marcel Genzmehr 22 Demo – „Daten auflisten“ List.javaList.vm

23 03.06.2004 Marcel Genzmehr 23 Fazit Dient zur schnellen Entwicklung von Webapplikationen Durch Templates und Tools können Oberflächen leicht gestaltet werden Einheitlicher Code für verschiedene DB-Anwendungen Baukastensystem ermöglicht wiederkehrende Aufgaben nicht ständig neu zu erfinden

24 03.06.2004 Marcel Genzmehr 24 Links http://jakarta.apache.org/turbine/ Power aus der Turbine (Artikel) turbine.pdf Beispiel: Webshop

25 03.06.2004 Marcel Genzmehr 25 Vielen Dank für Ihre Aufmerksamkeit Fragen?


Herunterladen ppt "03.06.2004Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine."

Ähnliche Präsentationen


Google-Anzeigen