03.06.2004Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine.

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Web-Content-Management-Systeme
Allgemeines Name: Ursprünglich: „Personal Home Page Tools“
E-Commerce Shop System
Webinterface für eingebettete Systeme in Dual-Server-Architektur
Software Engineering Praktikum WS 2002/03
Basis-Architekturen für Web-Anwendungen
Typo3 Schulung.
Ruby on Rails im Überblick
Erweiterung B2B Usermanagement / LDAP-Anbindung
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
XDoclet ETIS SS05.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Projekt Web Engineering
Sicherheit von mobilem Code Hauptseminar: Sicherheit in vernetzten Systemen Sicherheit von mobilem Code Oliver Grassow.
Einführung MySQL mit PHP
Lehre, Studium, Forschung LSF Software-System HIS-GX ist eine Webanwendung für:L ehre, S tudium und F orschung bietet vielfältige Funktionalitäten für.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Systementwicklungsprojekt:
YouTube5 .0 Projektpräsentation
Chat System – Gruppe B Tim Braun, Andre Ester, Florian Müller und
Coccon das Web-XML-Publishing System Thomas Haller.
Wir bauen uns eine Webapplikation!
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
MDA – Framework AndroMDA
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EJB-Applikationsserver
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Präsentation von Sonja Pathe
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Turbine Konzepte und Dienste
- Velocity Template Engine
Turbine Konzepte und Dienste
Java Server Pages Sergej Keterling
CMS-Kolloquium am 10. Januar 2006
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Torque robert.resch-wolfgang.schneider. uebersicht Was ist Torque Komponenten von Torque Generator Erzeugte Klassen Methoden Torque in Turbine Demobeispiel.
Datenanbindung in Webapplikationen
Abschlusspräsentation E-Valuation - Implementierung ökonomischer Bewertungsmethoden E-Valuation – Implementierung ökomomischer Bewertungmethoden,
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
Client-Server-Modell
Webbasierte Verwaltung von Raumbelegungen
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
->Prinzip ->Systeme ->Peer – to – Peer
TURBINE. Einführung Seit 1999 Java-Framework Integration in Webserver Open Source MVC Muster wird umgesetzt.
Datenbanken im Web 1.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Text Encoding Initiative Universität zu Köln Daten- und Metadatenstandards Seminarleitung: Patrick Sahle Seminarleitung: Patrick Sahle Referentin: Anna.
Portal Content Personalisierung Benutzerverwaltung.
1 Einführung TOMCAT Entwicklung Technischer Informationssysteme SS 2003 Florian Müller.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Stefan Metzlaff1 Cocoon Stefan Metzlaff
Frameworks
EJB Architektur für große Web - Applikationen Gerald Weber
Was ist eine Datenbank „MS Access“
Die elektronische Unfallanzeige: Handlungsanleitung für Anwender Elektronische Unfallanzeige.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
Das Entwurfsmuster Model-View-Controller
 Präsentation transkript:

Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine

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

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

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 – Logging, Java Naming Services –... Verwaltung und Steuerung von User-Sessions Flux: Screens und Aktionen zur Benutzerverwaltung

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: )

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...

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)

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

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

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

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

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

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

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

Marcel Genzmehr 15 Einbettung

Marcel Genzmehr 16 Zusammenspiel

Marcel Genzmehr 17 Klassenloader

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

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

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

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

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

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

Marcel Genzmehr 24 Links Power aus der Turbine (Artikel) turbine.pdf Beispiel: Webshop

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