Historie des WWW
Grundlage Internet
– Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net)
– Technische Basis: TCP/IP-Protokoll
WWW
– 1990 Projekt World Wide Web am CERN Genf entwickelt (Berners-Lee) zur Verbesserung der internen Informationsdarstellung
– Idee: Verknüpfung von HTML-Dokumenten und Integration bisheriger Internet-Dienste über einheitliche Adressen (URL, Uniform Recource Locator) unter einer gemeinsamen Oberfläche, dem Web Browser
HTML
– Hypertext Markup Language
– Text ist mit Sprachkommandos versehen, eingeschlossen in Start Tag und End Tag
HTML Beispiel
<HTML><BODY>
Fiction:
<UL><LI>Author: Milan Kundera</LI?
<LI>Title: Identity</LI>
<LI>Published: 1998</LI>
</UL>
Science:
<UL><LI>Author: Richard Feynman</LI>
<LI>Title: The Character of Physical Law</LI>
<LI>Hardcover</LI>
</UL></BODY></HTML>
Bereitstellung von Daten durch das Web
Nicht nur statische Informationen darstellen!
Nutzung des Common Gateway Interface (CGI)
– Aufruf von Programmen auf einem Web-Server mittels HTTP, die dynamisch HTML-Seiten generieren und an den Web-Browser zurückliefern
Einführung von Java (1995; SUN Microsystems)
– Implementierung von Java Applets: können von einem Web-Server geladen und im Browser ausgeführt werden (plattformunabhängiger Bytecode)
– Einbindung von Java Applets in HTML-Seiten
– Grundlage vieler web-basierter Anwendungen
Web-basierte
Datenbankanwendungen
Web-basierte Datenbankanwendungen
– Vielfalt von Diensten über einfache
Benutzeroberfläche (Browser) / Web Services
– Verknüpfung mehrerer Dokumente über Hyperlinks
– Grundlage: Verwendung von Datenbanken
Web-DB-Anwendungen
Adreßdatenbank
Benutzer übermittelt Adresse an den Server, um z.B.
Informationsmaterial zu bestellen
– Vorwiegend schreibender Zugriff mit kurzer Verweildauer
Elektronisches Gästebuch
Name, Adresse, Bemerkung des Benutzers werden
gespeichert. Suche und “Blättern“ in den eingegebenen Kommentaren
– Blättern: häufige, kurze, meist lesende Zugriffe typisch
– Gleichzeitiger Zugriff häufig möglich
Web-DB-Anwendungen (Forts.)
Online-Tracking
Benutzer kann sich über den Zustand seiner Bestellung erkundigen
– Zugriff auf großen dynamischen Datenbestand durch viele Benutzer
– Erfordert Authentisierung des Benutzers und Schutz des Backend-Systems
Online-News
Zugriff auf Artikel zu Schlagzeilen, Recherche in älteren Artikeln, Unterscheidung in öffentlichen und
kostenpflichtigen Bereich
Web-DB-Anwendungen (Forts.)
Nachschlagewerk (Katalog)
Suchen in großen Datenmengen und alphabetische oder sortierte Ausgabe (z.B. Telefonbücher,
Branchenverzeichnis, Lexika)
– Geringe Datenaktualität, aber hohe Datenüberlappung möglich
– Verschiedene Datentypen (auch multimedial, z.B. bei Lexika)
Bestellkatalog
Markieren von Produkten aus einem Warenkatalog und Ablegen in einem “Warenkorb“, anschließend Bestellung
Web-DB-Anwendungen (Forts.)
– Zusätzlich schreibender Zugriff (Warenkorb, Kundendaten)
– Informationen auf Server halten (Führen eines Warenkorbes), längere Sitzung
– Zugriff aufs operative Bestellsystem (Sicherheitsanforderungen!)
Online-Banking
Ausführung von Bankgeschäften übers Internet (Kontostand, Überweisungen, Börsengeschäfte)
– Besondere Sicherheitsvorkehrungen:
Authentisierung des Kunden
Abschirmung des Backend-Systems
– Variable Sitzungslänge
Web-DB-Anwendungen (Forts.)
Web-fähige Geschäftsanwendung
Zugriff auf Geschäftsanwendungen über den Browser (z.B. Auftragsbearbeitung)
– Typischerweise Mehrschrittvorgänge mit Benutzerinteraktion
– Sehr unterschiedliche Anwendungsarten möglich
– Hohe Sitzungslängen, lange Verweildauer, hohe Sicherheitsanforderungen (Abschirmung des
Backend-Systems)
Klassifikation von Web-DB- Anwendungen
Art des Zugriffs
– Zugriffe zum Lesen oder Schreiben oder gemischt
Änderungshäufigkeit / Aktualität der Daten
– Pufferung sinnvoll bei geringer Änderungshäufigkeit (z.B. bei Nachschlagewerken, aber nicht bei Börsenkursen)
Zahl der gleichzeitigen Zugriffe
– Möglicher Engpaß an Ressourcen
– Hohen Durchsatz und kurze Antwortzeiten auch bei hoher Last
Datenüberlappung der Zugriffe
– Optimierungsmöglichkeiten bei ähnlichen Benutzeranfragen (z.B.
Pufferung)
Klassifikation von Web-DB- Anwendungen (Forts.)
Arten der Datentypen
– Alphanumerische Daten in HTML unterstützt
– Andere Techniken für geometrische Daten
Datensensitivität
– Schutzmaßnahmen bei der Datenübertragung (Verschlüsselung)
– Beispiele: Kreditkarten-Nr., PIN beim Online-Banking
Sicherheitsbedarf
– Abschirmung des Backend-Systems von der Außenwelt (z.B.
bei Bank-Anwendungen)
Klassifikation von Web-DB- Anwendungen (Forts.)
Benutzerauthentisierung
– Anwendungen oft nur für ausgewählte Benutzer zugänglich (z.B.
Nachrichtenarchiv, Geschäftsanwendungen)
Benutzeridentifikation
– Für die Personalisierung von Angeboten, aber weniger strenge Sicherheitsanforderungen
Anzahl der Arbeitsschritte / Länge einer “Sitzung“
– Mehrschrittige Vorgänge benötigen Anwendungskontext (z.B. Füllen eines Warenkorbs) -> Realisierung eines Zustands im zustands-losen Web durch das Backend-System
“Verweildauer“
– Aufenthaltsdauer eines Benutzers auf einer Web-Seite bestimmt Technologie