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

  • View
    103

  • Download
    1

Embed Size (px)

Transcript

  • Folie 1
  • WWW Applikationen Vorlesung Anwendungssysteme
  • Folie 2
  • Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmglichkeiten bietet das WWW? Wie konstruiert man damit Web-basierte Informationssysteme, die auf Datenbanken zugreifen?
  • Folie 3
  • WWW 1990 Tim Berners-Lee, CERN: WWW basiert auf neuen Standards HTTP und HTML. Erster Browser: Nexus. 1993 Mosaic-Browser, Marc Andreessen grndet Netscape. 1995 Bill Gates stoppt Microsoft Network, Internet Explorer wird entwickelt.
  • Folie 4
  • HTTP Hypertext 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 fr HTML. Browser Server Request Response
  • Folie 5
  • TCP: bidirektionale Verbindung Ein Programm ist stndig bereit, eine Verbindung einzugehen: Der Serverprozess. Auf einem Rechner werden Serverprozesse durch ihren Port unterschieden. Der Client erffnet die Verbindung aktiv. Whrend der Verbindung sind beide Prozesse bidirektional verbunden durch ASCII-Streams.
  • Folie 6
  • 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
  • Folie 7
  • 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.
  • Folie 8
  • URL Uniform 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
  • Folie 9
  • HTML HyperText Markup Language Blockstrukturierte Sprache fr grafische Darstellung.Blcke heien Tags. Wichtiges Tag: Hyperlink. Enthlt als Parameter eine URL. Benutzereingaben mittels Forms. Diese erzeugen aus den Benutzereingaben einen HTTP-Request. Demo Page Hello World This is HTML.
  • Folie 10
  • 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. Fr viele Anwendungen: Rckgabe konstanter Files reicht nicht aus (z.B. Suchmaschinen).
  • Folie 11
  • Server-Skripting Auf der Serverseite werden anwendungsspezifische Programme ausgefhrt. Diese liefern ein File. Ursprngliche Methode: CGI CGI: Common Gateway Interface. Je Request wird ein Prozess gestartet. Standardausgabe ist Serverantwort. Browser Request Response Server Anwendungs- Programm
  • Folie 12
  • Dreischicht-Architektur Informationssysteme greifen typischerweise auf Datenbanken zu. Zugriff auf Datenbank mit sprachspezifischer Datenbankschnittstelle C: ESQL Java: JDBC (SQLJ) Datenbank Middletier Clients
  • Folie 13
  • Benutzereingaben, Parameter. HTTP bietet Standardmechanismus fr Parameterbergabe 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.
  • Folie 14
  • HTML-Forms Ein Form ist ein Bestandteil einer HTML- Seite (ein Tag), der verschiedene Eingabeelemente enthlt. Ein Form konstruiert aus den Benutzereingaben eine parametrisierte (interaktive) URL. Darstellung Quellcode suche Wohnung ok suche suchbegriff Dies ist der HTML-Form.
  • Folie 15
  • Form-Elemente Textfelder einzeilig Textbereiche Radio Buttons Checkboxes Choice Lists Submit- und reset-Button
  • Folie 16
  • HTML-Interaktionsstil Ein Link startet interaktives Programm. Ergebnis enthlt wieder Links auf interaktive Programme. BrowserServer Url Script1 Text Link Script2 Tabelle
  • Folie 17
  • Sitzungen im WWW HTTP ist zustandsloses Protokoll. Der HTTP-Server speichert keine Zustnde. Sitzungen erfordern, da der Server den Client mit frheren Anfragen identifizieren kann. Mglichkeiten: URL-rewriting, Cookies.
  • Folie 18
  • Design von Web Applikationen Entwurf auf Grundlage des WWW Interaktionsstils. Applikation besteht aus Methoden, die Parameter nehmen und Seiten zurckgeben. Die Rckgabeseiten enthalten Daten und Forms, die wiederum andere Methoden aufrufen.
  • Folie 19
  • 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 adressen WHERE name=gesucht} while(gefundene.hasMore()){ print(gefundene.name); print(gefundene.anschrift); print(gefundene.email); link(loesche, gefundene.key) } } (Tabelle: adressen(key, name,anschrift, email)
  • Folie 20
  • Sitzungen im logischen Entwurf Methoden werden objektorientiert aufgefasst. In einer Sitzung wird immer dasselbe Sitzungsobjekt aufgerufen. Im Sitzungsobjekt knnen Daten abgespeichert werden. Beispieltabelle: mail(to, from, subject, msg)
  • Folie 21
  • 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, *)}}