Transcript
Page 1: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie

WWW Applikationen

Vorlesung Anwendungssysteme

Page 2: WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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, *)}}


Recommended