www applikationen vorlesung anwendungssysteme. lernziele: wie funktioniert das www technisch? welche...
TRANSCRIPT
![Page 1: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/1.jpg)
WWW Applikationen
Vorlesung Anwendungssysteme
![Page 2: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/2.jpg)
Lernziele:
• Wie funktioniert das WWW technisch?
• Welche Basis-Interaktionsmöglichkeiten bietet das WWW?
• Wie konstruiert man damit Web-basierte Informationssysteme, die auf Datenbanken zugreifen?
![Page 3: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/3.jpg)
WWW
• 1990 Tim Berners-Lee, CERN:WWW basiert auf neuen Standards HTTP und HTML. Erster Browser: Nexus.
• 1993 Mosaic-Browser, Marc Andreessen gründet Netscape.
• 1995 Bill Gates stoppt Microsoft Network, Internet Explorer wird entwickelt.
![Page 4: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/4.jpg)
HTTPHypertext Transfer Protocol
• Zustandsloses Internet-Anwendungs-Protokoll, basiert auf TCP.
• Basis-Datenmodell: Verteilte Server mit eigenen Filesystemen.
• Request-Response Paradigma. Auf einen Request wird ein File geliefert.
• Nicht nur für HTML.
Browser
Server
Request
Response
![Page 5: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/5.jpg)
TCP: bidirektionale Verbindung
• Ein Programm ist ständig bereit, eine Verbindung einzugehen: Der Serverprozess.
• Auf einem Rechner werden Serverprozesse durch ihren Port unterschieden.
• Der Client eröffnet die Verbindung aktiv.
• Während der Verbindung sind beide Prozesse bidirektional verbunden durch ASCII-Streams.
![Page 6: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/6.jpg)
HTTP-Request
• Wird an Server gerichtet, üblicherweise Port 80.
• Request ist ein ASCII-Stream.
• Erste Zeile bei einfachen Requests– Befehl (GET, POST, HEAD, ...)– Absoluter Filename.
GET ag-db/index.html \n
![Page 7: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/7.jpg)
HTTP-Response
• Besteht aus einem Statuswert und einer Datei.
• Statuswert: 200 = OK.404 = not found.
• Sonderfall Redirection: Die Response ist eine neue URL, die automatisch geladen wird.
![Page 8: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/8.jpg)
URLUniform Ressource Locator
• Kompakte Darstellung eines Zugriffs mittels eines Netzwerkprotokolls:
• http://www.inf.fu-berlin.de:80/ag-db/index.html
protocol://server.domain:port/path/file.extension
![Page 9: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/9.jpg)
HTML HyperText Markup Language
• Blockstrukturierte Sprache für grafische Darstellung.Blöcke heißen Tags.
• Wichtiges Tag: Hyperlink. Enthält als Parameter eine URL.
• Benutzereingaben mittels Forms. Diese erzeugen aus den Benutzereingaben einen HTTP-Request.
<HTML> <TITLE> Demo Page </TITLE> <BODY> <H1> Hello World </H1> This is <A HREF=http://www.w3c.org> HTML. </A> </BODY> </HTML>
![Page 10: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/10.jpg)
HTTP-Server
• Einfaches Programm, das auf einem Socket lauscht. Typischerweise Benutzer nobody.
• Pfade in den Anfragen werden vom Serverprogramm oft übersetzt. Pfade in den Anfragen sind daher nur virtuelle Pfade.
• Für viele Anwendungen: Rückgabe konstanter Files reicht nicht aus (z.B. Suchmaschinen).
![Page 11: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/11.jpg)
Server-Skripting
• Auf der Serverseite werden anwendungsspezifische Programme ausgeführt. Diese liefern ein File.
• Ursprüngliche Methode: CGI
– CGI: Common Gateway Interface.
– Je Request wird ein Prozess gestartet.
– Standardausgabe ist Serverantwort.
Browser
Request
Response
Server
Anwendungs-Programm
![Page 12: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/12.jpg)
Dreischicht-Architektur
• Informationssysteme greifen typischerweise auf Datenbanken zu.
• Zugriff auf Datenbank mit sprachspezifischer DatenbankschnittstelleC: ESQLJava: JDBC (SQLJ)
Datenbank
Middletier
Clients
![Page 13: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/13.jpg)
Benutzereingaben, Parameter.
• HTTP bietet Standardmechanismus für Parameterübergabe in der URL:http://www.beisp.de/cgi-bin/myscript/myoption?vl=aws&termin=1
• myoption ist virtueller Pfad
• vl und termin sind Parameter mit Werten.
• HTTP erlaubt Fernaufrufe von Methoden, die Parameter nehmen und Texte liefern.
![Page 14: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/14.jpg)
HTML-Forms
• Ein Form ist ein Bestandteil einer HTML-Seite (ein Tag), der verschiedene Eingabeelemente enthält.
• Ein Form konstruiert aus den Benutzereingaben eine parametrisierte (interaktive) URL.
Darstellung
Quellcode
suche
Wohnung
ok
suche
<FORM action=http://...>
suchbegriff
</FORM>
Dies ist der HTML-Form.
![Page 15: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/15.jpg)
Form-Elemente
• Textfelder einzeilig
• Textbereiche
• Radio Buttons
• Checkboxes
• Choice Lists
• Submit- und reset-Button
![Page 16: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/16.jpg)
HTML-Interaktionsstil
• Ein Link startet interaktives Programm.
• Ergebnis enthält wieder Links auf interaktive Programme.
Browser Server
Url
Script1
TextLink
Script2
Tabelle
![Page 17: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/17.jpg)
Sitzungen im WWW
• HTTP ist zustandsloses Protokoll. Der HTTP-Server speichert keine Zustände.
• Sitzungen erfordern, daß der Server den Client mit früheren Anfragen identifizieren kann.
• Möglichkeiten: URL-rewriting, Cookies.
![Page 18: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/18.jpg)
Design von Web Applikationen
• Entwurf auf Grundlage des WWW Interaktionsstils.
• Applikation besteht aus Methoden, die Parameter nehmen und Seiten zurückgeben.
• Die Rückgabeseiten enthalten Daten und Forms, die wiederum andere Methoden aufrufen.
![Page 19: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/19.jpg)
Logischer Entwurf
• Angabe der Parameter einer Methode.
• Angabe der daraus konstruierten SQL-Anweisungen. Resultate erhalten Namen.
• Erzeugung der neuen Seite aus den Resultaten. Die neue Seite besteht aus Informationen, Links und Forms.
sucheName(gesucht){• gefundene=
${SELECT * FROM adressenWHERE name=gesucht}
• while(gefundene.hasMore()){ print(gefundene.name); print(gefundene.anschrift); print(gefundene.email); link(loesche, gefundene.key)}
}
(Tabelle:
adressen(key, name,anschrift, email)
![Page 20: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/20.jpg)
Sitzungen im logischen Entwurf
• Methoden werden objektorientiert aufgefasst.
• In einer Sitzung wird immer dasselbe Sitzungsobjekt aufgerufen.
• Im Sitzungsobjekt können Daten abgespeichert werden.
• Beispieltabelle:mail(to, from, subject, msg)
![Page 21: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie](https://reader035.vdocuments.mx/reader035/viewer/2022062318/55204d6349795902118b8f20/html5/thumbnails/21.jpg)
loggedOn = false;
setName(pretendedName){ this.name = pretendedName; this.loggedOn = true;}newMail(to, subject, msg){ if(! this.loggedOn) abort; ${INSERT INTO mail VALUES(this.name, to, subject, msg)} print(„done“);}getMails(){ if(! this.loggedOn) abort; allMails= ${SELECT from, subject, msg FROM mail WHERE to = this.name} while(allMails.hasMore()){ print(allMails.from); ... form(newMail, allMails.from, allMails.subject, *)}}