Web 2.0 Software-Architekturen

Ähnliche Dokumente
Java - Webapplikationen

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

Programmieren II. Remote-Programmierung. Institut für Angewandte Informatik

Java zur Realisierung von Internetanwendungen

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Inhaltsverzeichnis. Zusammenfassung Wydler

Planung für Organisation und Technik

JSP und Servlet Programmierung

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Internet und WWW Übungen

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

3. Stored Procedures und PL/SQL

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Java Server Pages (JSP)

Internet Explorer Version 6

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Ursprung des Internets und WWW

WebService in Java SE und EE

4 Installation und Verwaltung

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Eine Anwendung mit InstantRails 1.7

TimeSafe Installationsanleitung mit InfotechStart

Web- Applikationen. in Java-Web

Projekte Packen, Kopieren und Versenden

Web 2.0 Software-Architekturen

Der lokale und verteilte Fall

Datenbanksysteme SS 2007

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Adminer: Installationsanleitung

Dokumentation Externe Anzeige von Evento Web Dialogen

Universität Leipzig - Softwaretechnik Praktikum 2014/2015 Installationsanleitung zum Projekt: Ein kartenbasiertes Multiplayer -Spiel

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Online-Publishing mit HTML und CSS für Einsteigerinnen

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Anwendungsprotokolle: HTTP, POP, SMTP

COMPUTER MULTIMEDIA SERVICE

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

VORSCHAUBILDER NEU GENERIEREN FÜR SHOPWARE 4.0

A361 Web-Server. IKT-Standard. Ausgabedatum: Version: Ersetzt: Genehmigt durch: Informatiksteuerungsorgan Bund, am

Proseminar: Website-Management-Systeme

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Übungen zu Softwaretechnik

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Wiederholung: Beginn

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

Leitfaden zur Installation von Bitbyters.WinShutdown

BIF/SWE 1 - Übungsbeispiel

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Anleitung für die Formularbearbeitung

PHPNuke Quick & Dirty

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Wie funktioniert das WWW? Sicher im WWW

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Verknüpfung zum Angebotsassistenten erstellen

Internetanbindung von Datenbanken

ESB - Elektronischer Service Bericht

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Herzlich willkommen im Modul Web-Engineering

Übung: Verwendung von Java-Threads

Anleitung über den Umgang mit Schildern

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Existierende Systeme I Bibliotheken & Frameworks

Für die Verwendung des Wikis wird dringend der Microsoft Internet Explorer Version 7.0 empfohlen!

Live Update (Auto Update)

Anleitung zur Webservice Entwicklung unter Eclipse

NTR-Support Die neue Fernwartung

Lokale Installation von DotNetNuke 4 ohne IIS

Installationsanleitung

Transkript:

Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff

HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation, die auf TCP/IP basiert. Die ausgetauschten Nachrichten sind mit der HyperText Markup Language (HTML) formatiert. Ein Browser fordert mittels der HTTP GET Methode ein Dokument vom Webserver an, dieser schickt es dann an den Client zurück. Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 2

Standard HTML 1: get X.html 2: Datei lesen Browser 3: X.html Web-Server X.html + einfache Sprache (HTML) nur statische Informationen & Verknüpfungen GET http://www.fh-muenster.de:80/docs/welcome.html Methode Protokoll Server DSN + Port symbolischer Pfad Dokument Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 3

HTML und CGI-Bin Die HTML Seiten sind statisch hinterlegt und erlauben es nicht ein interaktive Client/Server Anwendungen zu bauen. Um mehr als nur Werbung in das WWW stellen zu können, benötigt man für e-business so etwas wie eine Bestellung aufgeben... Man behalf sich mit dem Common-Gateway- Interface (CGI) um auf dem Server externe Prozesse aufzurufen, die dynamisch HTML generierten Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 4

Von CGI zu den Servlets Externe Prozesse sind eine teure Ressource. Es fehlt die Integration in den Webserver. Sun entwickelte daher die Servlet API als PlugIn für den Webserver. Anstatt als eigenständiger Prozeß laufen Servlets als Thread innerhalb der JVM. HttpServlets kapseln die GET/POST Methoden von HTTP in der Java Umgebung. Da Servlets in Java geschrieben sind stehen nun alle Möglichkeiten wie CORBA, EJB, JDBC, JMS etc. dem Webserver zur Verfügung. Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 5

Java-Servlets 1: get/post servlet/x X.java Browser 7: Xout Web-Server 6: Xout 2: call X.class a: übersetzen + einfache Sprache (Java) + Dynamik HTML im Java-Code über out.println(... ) mit DB-Zugriffen usw. Servlet-Engine 5: Ausgabe DB X.class 4: X ausführen 3: Class Datei laden (einmal) Java-Compiler (javac) b: erzeugen X.class Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 6

Die Servlet Klassenhierarchie <<Interface>> ServletRequest (from serv let) service GenericServlet (from servl et) service() service <<Interface>> ServletResponse (from servl et) Request kapselt die Anfrage Response kapselt die Antwort <<Interface>> HttpServletRequest service HttpServlet doget() dopost() service <<Interface>> HttpServletResponse Session kapselt den Status 0..1 <<Interface>> HttpSession ServletException (from serv let) throws throws I OException (from io) PrintWriter (from io) 1 Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 7

Eigene Servlets einbinden <<Int erface>> HttpServletRequest (from http) service HttpServlet (from http) doget() dopost() service <<Int erface>> HttpServletResponse (from http) 0..1 HTML-Page MyServlet as <<Int erface>> Response HttpSession (from http) doget() dopost() sql (from java) Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 8

Lebenslauf eines Servlets Ein Client ruft ein Servlet per GET/POST auf. Das Servlet wird vom Webserver geladen Das Servlet wird einmalig innerhalb der init()- Methode initialisiert, das Servlet kann nun z.b. eine Datenbankverbindungen initialisieren, einen EJB oder CORBA Server kontaktieren, etc. Verwendet wird die ServletConfig des Web-Containers, parametrisiert innerhalb der web.xml. Request- und Response Objekt werden vom Web- Container initialisiert. Es wird die doget oder dopost-methode aufgerufen. Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 9

Lebenslauf eines Servlets (II) Das Servlet schreibt seine Anwort in den Ausgabestrom des Response-Objekts. Der Web-Container wertet den Response aus und schreibt die Antwort per HTTP an den Client. Beim Herunterfahren der ServletEngine oder falls eine maximale Lebensdauer für das Servlet im Webserver definiert ist, wird die destroy()- Methode des Servlets ausgeführt, um eventuelle Aufräumarbeiten auszuführen. Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 10

Servlet Sequenzdiagramm : Kunde Browser WebServer HttpRequest HttpServlet HttpResponse get servlet GET create create servi ce doget read write Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 11

Infrastruktur Damit ein Servlet in einem Web-Container läuft muss es in seine Umgebung kopiert werden. Dieser Vorgang heisst: Deployment physisches Kopieren aller Ressourcen in ein Verzeichnis oder Packen als WebArchive *.war logisches Bekanntmachen per web.xml als Bestandteil einer Web-Applikation Dies sind recht umständliche Schritte, die sich jedoch automatisieren lassen... Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 12

web.xml <?xml version="1.0"?> <!DOCTYPE web-app PUBLIC "-//Sun... <web-app> <servlet> <servlet-name>helloworld</servlet-name> <servlet-class>de.lab4inf.helloservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloworld</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> Bekannt machen eines Servlets in der»web.xml«unter dem symbolischen Pfad /Hello innerhalb der Web-Anwendung per dreifachem Mapping Pfad => Name => Klasse. Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 13

Architektonische Einordnung Innerhalb einer Web Anwendung sind die Servlets bei einem MVC II Architektur der Controller Schicht zuzuordnen. Sie nehmen Anfragen entgegen, delegieren an Modeloder Handlerklassen und generieren selbst keine HTML Ausgabe in den Ausgabestrom sondern delegieren dies z.b. an eine JSP als View. Servlets sollten deshalb im Allgemeinen als stateless Services (aus Sicht des aufrufenden Web-Clients) implementiert werden. Ein evtueller Client-State gehört in die HttpSession Prof. Dr. Nikolaus Wulff Web 2.0 Software-Architekturen 14