Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Lukas Wenzl Geändert vor über 11 Jahren
1
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen
2
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 2 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Gliederung Einführung in Entwurfsmuster Nachteile herkömmlicher Entwicklung Technische Begriffe Konkrete Entwurfsmuster Zwischendurch: Vergleich mit dem Jakarta Struts Framework
3
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 3 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Was sind Entwurfsmuster? Abstraktion eines Problems Universelle Lösung Heutige Webanwendungen sind sehr komplex, z.B. Amazon, Ebay,..., Trotzdem existieren Strukturen, die immer wieder auftauchen. Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice Christopher Alexander, 1977
4
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 4 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Herkömmlicher Entwicklungsprozess Webanwendungen werden häufig relativ chaotisch erstellt Resultierende Nachteile: Schlechte Wartbarkeit Keine Trennung zwischen Layout und Logik Schlechte Testbarkeit (Frontend/Backend) Schlechte Portierbarkeit Schlechte Wiederverwendbarkeit Entwurfsmuster sollen diese Nachteile umgehen. Jedoch: OO Herangehensweise nicht immer nötig!
5
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 5 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Technische Begriffe I Komponente: Wiederverwendbarer Softwareteil mit definierten Schnittstellen Komponenten können unterschiedlich granular sein Java Bean: Java Klasse mit Attributen auf die mittels Getter und Setter Methoden zugegriffen werden kann Model 1 / Model 2 – mehrschichtige Architekturen
6
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 6 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Technische Begriffe II Das MVC Pattern CSS/HTML XML/XSLT ApplicationServer: Tomcat o.ä. Apache Datenbank: MySQL
7
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 7 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Vergleich Struts MVC vs. JSP Technologie JSP Iteration ohne MVC Struts Iteration
8
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 8 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Konkrete Entwurfsmuster Es existieren verschiedene Typen von Entwurfsmustern: Design Navigation Spezielle für eCommerce Hier: OO Entwurfsmuster, für den Entwickler 1. Zentraler Verteiler / Controller Servlet Zentrales Servlet (Skript) verteilt Anfragen an ausführende Skripte Vorteil bei Einsatz verschiedener Endgeräte Dispatchin g Controller... Benutzeraktionen Methode 1 Methode n...
9
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 9 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Zentraler Verteiler Vgl. Struts: <action path="/userLogin"//Mapping Name type="de.myPackage.UserLoginAction" //mit Mapping assoziierte Klasse validate="true" // Eingabedaten validieren name="loginForm" // assoziierte Java Bean scope="session" // Gültigkeitsbereich input="/client/index.jsp"> // assoziierte JSP // Forwarding bei Erfolg // Forwarding bei Mißerfolg
10
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 10 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Kontinuität I HTTP Protokoll zustandslos Es müssen Daten über mehrere Seiten mitgenommen werden 1. Parameter in der URL kodieren: 1. Hidden Fields 1. Unterschiedliche Button Namen About
11
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 11 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Kontinuität II Implementierung mittels Abstract Form Pattern Eingebautes Session Management
12
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 12 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Kontinuität III Üblicherweise entstehen 3 Arten von Informationen: 1.Formulardaten 2.Fehlerdaten 3.Voreingetragene Formulardaten Three Java Bean Pattern schlägt vor, diese 3 Arten in 3 unterschiedlichen Beans zu speichern Alle Daten wohl definiert Leichte Verarbeitung Leichte Testbarkeit Einsatz oft in Kombination mit einem zentralen Controller Pattern Wird vom Struts Framework benutzt
13
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 13 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Kontinuität IV Speicherung von sensiblen Daten in hidden Fields, Buttons oder URLs nicht immer möglich Shop Anwendungen Sitzungsmanagement oft bereits implementiert (PHP, JSPs,...) Beachtung von Sicherheitsmerkmalen Sitzungs Ids dürfen nicht gestohlen werden (erraten) Verschlüsselung, möglichst mit Informationen über den Client
14
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 14 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Leistung Anwendungen groß komplexe Validierung Client sollte möglichst viel Arbeit übernehmen Nicht zuverlässig Active View Pattern zur Lastminimierung Typische Seiten einer Anforderung werden gecached
15
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 15 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Landestypische Formatierungen Webanwendungen international Anfrage an ObjectFormatter Generierung eines landestypischen SubObjectFormatter Struts:
16
Universität Paderborn Fakultät für E-Technik, Informatik und Mathematik 16 PG: Generierung von Webanwendungen aus visuellen Spezifikationen Entwurfsmuster für Webanwendungen Bastian Cramer Vielen Dank für die Aufmerksamkeit!
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.