MVC – ein Architekturmuster

Slides:



Advertisements
Ähnliche Präsentationen
Architektur eines Human-Task-Service
Advertisements

interaktiver Web Service Workflows
E-Commerce Shop System
Prüfungspläne Bachelor-Thesis
Dokumentation von Software Architekturen unter Berücksichtigung von IEEE 1471 Vortrag an der FH Regensburg © Dr. Ulrich Margull, 2004 Dr. Ulrich.
mit Entwicklungsumgebungen (Eclipse) Software verbessern
Basis-Architekturen für Web-Anwendungen
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Projektgruppe Abteilung Wirtschaftsinformatik
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Ruby on Rails im Überblick
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Daniel Höfler Markus Thurner XMLApplicationPlatform Siemens OpenStage 60/80.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
DOM (Document Object Model)
SciAgents - Eine agentenbasierte Umgebung für verteilte wissenschaftliche Berechnungen Alexander StarkeSeminar Software Agenten
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
XDoclet ETIS SS05.
1 Dipl.-Inform. Christian Fuß Lehrstuhl für Informatik 3 an der RWTH Aachen 2. Übungsblatt Änderungen am ersten Entwurf und Entwurfsparadigmen 4. Mai 2006.
Remote Methode Invocation (RMI)
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR.
Software Design Patterns Creational Patterns Structural Patterns Behavioral Patterns –Behavioral Class Patterns Interpreter Template Method Pattern –Behavioral.
Dependents, Publish-Subscribe, Listener
Entwurfsmuster EDV Entwurfsmuster.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
CRM Editor auf der Basis von Qt (Beispiel von Ubi erat Lupa)
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
HTW Programmiersprachen 3: Abschlusspräsentation GIS PI Projektarbeit 4. Semester an der HTW des Saarlandes Projekt: Generischer Database Browser Betreut.
Coccon das Web-XML-Publishing System Thomas Haller.
Seminar Web-Anwendungen mit JSP u. ASP.NET entwickeln JavaServer Faces Vortragender: Thomas Dermin Custom-Components.
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EJB-Applikationsserver
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
Java Server Pages Sergej Keterling
SPODAT - Blick nach vorn
Oliver Spritzendorfer Thomas Fekete
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
Arbeitsbereich „Rechnernetze und verteilte Systeme“
Software Engineering Grundlagen
Webbasierte Verwaltung von Raumbelegungen
Software Design Patterns
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov.
Benutzerdefinierte Tags
Entwurfsmuster (Design Pattern)
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Laborpraktikum Umsetzung von Pattern SS 05 Prof. Paul, Dipl.-Inf. Fröhlich, Dipl.-Inf. Linke {paul | iti.cs.uni-magdeburg.de
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
MDA – Model Driven Architecture
Software - Testung ETIS SS05.
Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine.
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Dieser Vortrag wird gesponsort von:
Strategy Pattern Teachlet Autor: Sven Wende Replay durch Stephan Schwake Konzepte objektorientierter Programmiersprachen, SS 2006.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
© 2004 Model-View-Control Pattern (MVC) Das Model-View-Control Pattern.
Das Entwurfsmuster Model-View-Controller
 Präsentation transkript:

MVC – ein Architekturmuster ETIS SS04

Gliederung Motivation Pattern Pattern am Beispiel MVC Zusammenfassung ETIS SS04

Motivation (I) Ist es schwierig für euch in eurem JSPs Übersicht behalten (jetzt /später)? Wie schwer wäre es für einen anderen (ohne Java-Kenntnisse)? Was passiert bei wachsender Komplexität? Wie würdet ihr neue JSP Seiten erstellen, die auf den selben Daten arbeiten? Was wäre zu tun, um nicht-grafische oder Swing-Oberflächen zu erstellen? Wie wirken sich DB-Änderungen aus? MVC ETIS SS04

Motivation (II) Wie sind Probleme (schlechte Lesbarkeit, Wartbarkeit, Wiederverwendbarkeit) lösbar? Geeigneter Entwurf Sollte beim Entwurf komplett neu angefangen werden? Nein, Zurückgreifen auf erfolgreiche Lösungen sinnvoll Erfolgreiche Lösungen können in Form von Pattern festgehalten werden Einfache, leichter verständliche Entwürfe Schnelle, kostengünstige Software-Entwicklung MVC ETIS SS04

Pattern Ursprünge Ch. Alexander in Architektur bzw. Gamma u.a. in Softwaregemeinde Beschreibung bestimmten im Entwurfskontext häufig auftretenden Problems Erläuterung des Kerns der Lösung dieses Problems Somit: Lösung beliebig oft ausführbar, aber i.d.R. nicht gleich Vermitteln bewährte Entwürfe Vermeiden „das Rad neu zu erfinden“ MVC ETIS SS04

Pattern Unterliegen ständigen Verbesserungen Können auf unterschiedlichen Abstraktionsebenen liegen Architekturmuster: Softwaresysteme durch Subsysteme strukturiert Entwurfsmuster: Verfeinerung Subsysteme oder Beziehungen zwischen ihnen Idiome: Aspekte des Entwurfs in bestimmter Programmiersprache Sind kombinierbar in strukturiertem Format beschrieben und in sog. Katalogen abgelegt MVC ETIS SS04

Pattern am Beispiel MVC [Buschmann] Name: MVC Auch bekannt als: - Beispiel: Rot 50 % Schwarz 25 % Grün 25 % Rot 50% Schwarz 25% Grün MVC ETIS SS04

Pattern am Beispiel MVC [Buschmann] Kontext: Interaktive Anwendungen Problem: Häufige Änderungsanforderungen für Bedienschnittstellen Erweiterung der Anwendung Portierung des Systems unterschiedliche Anforderungen der Anwender Verwobene Bedienoberfläche und funktionaler Kern erschweren Entwicklung flexibler Systeme Jede Änderung trifft mehrere Module MVC ETIS SS04

Pattern am Beispiel MVC [Buschmann] Kräfte: Unterschiedliche Darstellung selber Information Darstellung und Verhalten muss Datenänderung widerspiegeln Änderungen an der Bedienoberfläche sollten leicht sein Unterstützung verschiedener Standards oder Portierung sollten Code der Anwendung nicht beeinflussen MVC ETIS SS04

Pattern am Beispiel MVC [Buschmann] Lösung: Unterteilung der Anwendung in drei Bereiche Modell: enthält Daten und Kernfunktionalität View: zeigt Information, erhält Daten vom Modell, sendet Nutzerverhalten zum Controller push: Registrierung beim Modell  Benachrichtigung von Modell pull: View fragt Modell, für aktuelle Daten Controller: empfängt Eingaben, bildet sie auf Modelländerungen ab, wählt View für Darstellung Trennung ermöglicht mehrere Ansichten auf einem Modell Ändert ein Anwender Modell, so ändern sich auch andere Sichten MVC ETIS SS04

Pattern am Beispiel MVC [Buschmann] Struktur: View Controller Model Benutzeraktionen View-Auswahl Änderungen Status erfragen Status ändern MVC ETIS SS04

Pattern am Beispiel MVC [Buschmann] Implementierung / Musterlösung Übung Varianten Model-View-Presenter (MVP) Document-View Anwendungen: Smalltalk JFC (Swing) MVC – Frameworks (Struts, Tapestry, Cocoon) MVC ETIS SS04

Pattern am Beispiel MVC [Buschmann] Auswirkungen Mehrere Ansichten auf selben Modell möglich Synchronisierte Ansichten Modell durch Portierung der Anwendung nicht beeinflusst Bessere Lesbarkeit, Wartbarkeit, Wiederverwendbarkeit Große Komplexität → längere Planung / mehr Implementierungsaufwand Controller und Ansicht sind eng gekoppelt Verweise PAC: trennt Abstraktionskomponente (Model) von Präsentationskomponenete (View und Controller) MVC ETIS SS04

Zusammenfassung Bisher in Übung alles in eine JSP geschrieben (Modell1) Probleme bzgl. Wiederverwendbarkeit, Wartbarkeit Verbesserung durch Auslagerung von Geschäfts- und Datenzugriffslogik in Bean Weitere Verbesserung durch Einführung Controller (Modell 2) Schicht für Authentifizierung und Autorisierung Vermittlung von Anfragen an entsprechende JSP Bereitstellung von Ressourcen z.B. DB-Verbindung MVC ETIS SS04

Zusammenfassung Varianten Modell2: Je besser Strukturierung: Vermittler-Servlet an JSP Vermittler-Servlet an JSP mit Templates Vermittler-Servlet an Worker-Bean Je besser Strukturierung: um so höher Wiederverwendbarkeit, Wartbarkeit aber größere Planungsphase und höherer Implementierungsaufwand Für große Anwendungen lohnenswert MVC ETIS SS04

Literatur Gamma, E., Helm, R., Jonson, R., Vlissides, J., Entwurfsmuster, Addison Wesley, Bonn, 1996 Buschmann, F., Meunier, R., Pattern orientierte Software Architektur, Addison Wesley, Bonn, 1998 http://java.sun.com/blueprints/patterns/MVC-detailed.html Turau, V., Saleck, K., Lenz, C., Web basierte Anwendungen entwickeln mit JSP2, dpunkt.verlag, Heidelberg, 2004 Alur, D., Core J2EE Patterns, Markt + Technik Verlag, München, 2002 MVC ETIS SS04