Title: Anwendungen
1Anwendungen
2Historie 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
3HTML Beispiel
ltHTMLgtltBODYgt Fiction ltULgtltLIgtAuthor Milan
Kunderalt/LI? ltLIgtTitle Identitylt/LIgt
ltLIgtPublished 1998lt/LIgt lt/ULgt Science
ltULgtltLIgtAuthor Richard Feynmanlt/LIgt
ltLIgtTitle The Character of Physical Lawlt/LIgt
ltLIgtHardcoverlt/LIgt lt/ULgtlt/BODYgtlt/HTMLgt
4Bereitstellung 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
5Web-basierte Datenbankanwendungen
- Web-basierte Datenbankanwendungen
- Vielfalt von Diensten über einfache
Benutzeroberfläche (Browser) - Verknüpfung mehrerer Dokumente über Hyperlinks
- Grundlage Verwendung von Datenbanken
6Typen von Web-DB-Anwendungen
- Gästebucher / Foren
- Nachschlagewerke
- Online-Tracking
- Suchmaschinen
- Online-News
- Online-Banking
- Bestellkataloge/B2C
- E-Commerce Anwendungen
7Gä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)
8Nachschlagewerke
- 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
9Online-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
10Suchmaschinen
- 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
11Online-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
12Online-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
13Online-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 - Variable Sitzungslänge des Benutzers (Timeout bei
Inaktivität nach bestimmter Zeit)
14Bestellkataloge / 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
15E-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
16E 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
17Klassifikation 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)
18Klassifikation 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)
19Klassifikation 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)
-gt Realisierung eines Zustands im zustands-losen
Web durch das Backend-System - Verweildauer
- Aufenthaltsdauer eines Benutzers auf einer
Web-Seite bestimmt Technologie
20Generelle 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)