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>
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)
–
Verknüpfung mehrerer Dokumente über Hyperlinks
–
Grundlage: Verwendung von Datenbanken
Typen von Web-DB-Anwendungen
Gästebucher / Foren
Nachschlagewerke
Online-Tracking
Suchmaschinen
Online-News
Online-Banking
Bestellkataloge/B2C
E-Commerce Anwendungen
Gästebücher / Foren
Kleine Datenbestände
Schreibender Zugriff nur bei Eintragen eines Kommentars
Kurze, lesende Zugriffe wobei sich Häufigkeit nach Einsatz unterscheidet
– Bei Gästebücher/Foren nur wenige Zugriffe parallel
– Stark erhöhte Zugriffsrate bei Live-Diskussionen
Geringe Aktualität der Daten mit relativ geringer Änderungshäufigkeit
Keine Authentifizierung notwendig
Benutzeridentifikation mittels Aliasnamen (Zuordnen Artikel zu
Autor)
Nachschlagewerke
Beispiele: Wörterbücher (z.B. dict.leo.org),
Branchenverzeichnisse, Telefonbücher, Lexika
Anforderungen
– Große Datenbestände, auf die Suchfunktionen mit verschiedenen benutzerdefinierten Suchkriterien angewandt werden
– Sortierte Ausgabe der Daten (z.B. alphabetisch oder nach Benutzerkriterien)
– Nur lesende Zugriffe mit geringem Datenübertragungsvolumen (Ausnahme: Lexika mit multimedialen Inhalten)
– Geringe Änderungshäufigkeit der Daten
– Keine Authentifizierung bei frei verfügbaren Angeboten, anderenfalls explizite Anmeldung durch Benutzer erforderlich
– Gewährleistung der Sicherheit vor fremdem Zugriff auf Bestandsdaten (insbesondere bei Verzeichnissen mit persönlichen Daten wie
Telefonbüchern)
– Integration verschiedener Medientypen wie Videos oder Sound vor allem bei Lexika
Online-Tracking
Verfolgung von Paketen oder anderen Versandstücken (z.B. UPS)
Anforderungen
–
Mittelgroße Datenbestände, über die benutzerspezifische Anfragen gestellt werden
–
Anfragen vieler Benutzer, die durch Angabe einer Nummer alle Datensätze einer verfolgten Sendung liefern
–
Nur lesende Zugriffe mit geringem Übertragungsvolumen
–
Dynamischer Datenbestand mit hoher Änderungshäufigkeit
–
Authentifizierung, um dem Empfänger einer Sendung den
Abruf der Daten zu ermöglichen
Suchmaschinen
Große Datenbestände, da Seiteninhalte für Suche gespeichert werden müssen (Index)
Spezifische Anfragen der Benutzer
Häufige und viele parallele Anfragen an die Datenbank
Nur lesende Zugriffe mit Übertragungs-volumen, das von der Größe des Ergebnisses abhängt
Zuordnung der Anfragen an anfragenden Client nötig, um das Blättern durch Suchergebnisse zu ermöglichen über mehrere Seiten hinweg
Dynamischer Datenbestand mit hoher Änderungshäufigkeit, da
ständig neue Links zur Datenbasis hinzukommen
Online-News
Beispiele: Nachrichtenseiten, Börseninformationen
Anforderungen
– Große, ständig wachsende Datenbestände durch Archivierung alter Meldungen und Informationen
– Dynamischer Datenbestand mit häufigen Änderungen, da hohe Aktualität gewährleistet werden muss (vor allem bei
Börseninformationen)
– Integration verschiedener Medientypen wie Bilder, Text, Video
– Nur lesende Zugriffe, aber häufig und parallel
– Spezifische Anfragen möglich, um z.B. die Suche und Recherche in älteren Artikeln zu ermöglichen
– Bei Zusatzangeboten (wie Archivzugriff oder Suche nach Artikeln) mit Bezahlfunktion Authentifizierung des Benutzers nötig
Online-Banking
Ausführung von Bankgeschäften übers Internet:
Überweisungen, Abruf Kontostand, Börsengeschäfte
Anforderungen
–
Große Datenbestände für Kundendaten
–
Speicherung aller Transaktionen über mehrere Jahre
–
Dynamischer Datenbestand mit unerschiedlicher Aktualisierungshäufigkeit
–
Sowohl lesende als auch schreibende Zugriffe durch
den Benutzer
Online-Banking (Forts.)
–
Besonders hohe Sicherheitsanforderungen
Authentifizierung des Benutzers nötig
Sichere Datenübertragung schon ab der Anmeldung über gesicherte Verbindung wie SSL
Zusätzliche Sicherung einzelner Transaktionen (Verbindung von PIN- und TAN-Nummern)
Schutz des Backend-Systems mit sensiblen Kundendaten vor unberechtigtem Zugriff
Schutz vor Datenverlust durch höhere Gewalt: regelmäßige
Backups an verschiedenen Orten
Bestellkataloge / B2C
Beispiel: Amazon
Anforderungen
– Große Datenbestände, in denen nach benutzerdefinierten Kriterien gesucht werden kann
– Dynamischer Datenbestand mit mittlerer Änderungshäufigkeit (z.B.
Anzahl der Produkte)
– Häufige und parallele Lesezugriffe (Suche in Katalogen), aber auch schreibende Zugriffe (Kundendaten eintragen, Bestellung abschicken)
– Benutzeridentifikation für Sitzung nötig, da alle gewählten Artikel dem selben Warenkorb zugeordnet werden müssen
– Authentifizierung für den Abschluß der Bestellung nötig, um persönliche Daten wie Kreditkarten-Nr. abzufragen
– Verschlüsselte Verbindung für die Übertragung der Kundendaten notwendig
– Schutz des Backend-Systems vor unberechtigten Zugriff
E-Commerce Anwendungen
Geschäftsprozesse zwischen Firmen mit Hilfe von Webanwendungen
Beispiele
–
Elektronische Angebotsverwaltung für Produkte mit standardisierten Formularen
–
Marktplätze zur Abwicklung des Ein- und Verkaufs
–
Elektronische Buchführung über alle Standorte einer Firma
–
Lagerverwaltung einer Firma mit angeschlossenem
Bestellsystem zur Nachbestellung
E Commerce Anwendungen (Forts.)
Große Vielzahl an unterschiedlichen
Anwendungen, daher nur wenige allgemeine Anforderungen
–
Benutzerinteraktion mit Vorgängen in mehreren Schritten
–
Hohe Sitzungslänge mit langer Verweildauer der Benutzer
–
Hohe Sicherheitsanforderungen, um das Backend-
System vor unberechtigtem Zugriff zu schützen
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)
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
Generelle Anforderungen
Konsistenz und Integrität der Daten
Performance
– Beeinflußt durch Zugriffshäufigkeit und Anzahl paralleler Zugriffe
– Abhängig von Datenbank und Art der DB-Anbindung
Skalierbarkeit
– Höheres Datenaufkommen
– Wachsende Last
Offenheit
– Integration verschiedener Datenbanken, Sprachen und neuer Browser
– Optimierung zwischen Performance und möglichst allgemeiner Umsetzung (Beispiel Java vs. Microsoft)