Architekturen ƒ Datenbankanwendungen Aufgaben und Komponenten Aufteilung ƒ Architektur Web-basierter Anwendungen HTTP-basierte Architekturen Applet-basierte Architekturen Vorlesung Internet-Datenbanken 3-1 DB-Anwendungen: Aufgaben ƒ Benutzerschnittstelle: Präsentation, Benutzerinteraktion ƒ Anwendungslogik: Implementierung der anwendungsspezifischen Funktionen Bereitstellung von Geschäftsobjekten ƒ Datenmanagement: Datenspeicherung und verwaltung Verarbeitung von Anfragen Vorlesung Internet-Datenbanken 3-2 Aufteilung der Funktionen ƒ 2 Schichten Client-Server-Architektur Variante 1: y Client: Benutzerschnittstelle + Anwendungslogik y Server: DBMS Variante 2: y Client: Benutzerschnittstelle y Server DBMS + Anwendungslogik Vorlesung Internet-Datenbanken 3-3 1
Aufteilung der Funktionen ƒ 3 Schichten Erweiterte Client-Server-Architektur Client: Benutzerschnittstelle Server: DBMS Separate Schicht mit Anwendungslogik Vorlesung Internet-Datenbanken 3-4 2-Schichten-Architektur ƒ Server: RDBMS ƒ Client: RDBMS-Anwendung ƒ : über DBMS-Protokoll bzw. Schnittstelle (ODBC, JDBC) ƒ Objekte: Relationen, Tupel ƒ Operationen: SQL-DML Vorlesung Internet-Datenbanken 3-5 2-Schichten-Architektur Benutzerschnittstelle Anwendungslogik &OLHQW DB-Schnittstelle DBMS-Protokoll 'DWHQEDQN6HUYHU Vorlesung Internet-Datenbanken 3-6 2
3-Schichten-Architektur ƒ Separater Applikationsserver mit Anwendungslogik ƒ Bereitstellung von Geschäftsobjekten: z.b. Kunde, Produkt ƒ Semantisch reiche Operationen z.b. Bestellung aufnehmen, Produkt ausliefern ƒ Applikationsserver DBMS: DBMS-Protokoll Client Applikationsserver: Middleware (CORBA, DCOM, RMI) Vorlesung Internet-Datenbanken 3-7 3-Schichten-Architektur Benutzerschnittstelle &OLHQW HTTP, CORBA, RMI, Anwendungslogik DB-Schnittstelle $SSOLNDWLRQV VHUYHU DBM S-Protokoll 'DWHQEDQN6HUYHU Vorlesung Internet-Datenbanken 3-8 Vergleich 2-Schichten 3-Schichten Vorteile ƒeinfache Entwicklung ƒoptimierungspotential (Protokoll) ƒwiederverwendbarkeit ƒlastverteilung ƒwartung Nachteile ƒwartung, Pflege ƒbelastung Client, Server ƒentwicklungsaufwand Vorlesung Internet-Datenbanken 3-9 3
Web-basierte Datenbank-Anwendungen ƒ Zugriff auf Daten und Dienste über Web Integration von Diensten unter gemeinsamer, leicht erlernbarer Benutzeroberfläche Daten als Web-Dokumente :HE%URZVHU,QWHUQHW Vorlesung Internet-Datenbanken 3-10 Restriktionen ƒ Nutzung von Standard-Komponenten y Web-Browser, Web-Server (HTML, JavaScript, Applets) Standard-Protokollen y HTTP (Zustandslosigkeit, keine Transaktionen) ƒ Keine proprietären Erweiterungen: Protokolle, Client-Programme Vorlesung Internet-Datenbanken 3-11 Architekturen für Web-DB-Anwendungen ƒ Anwendungslogik Client (Browser-Erweiterungen, aktive Dokumente) Server (Server-Erweiterungen, Einbindung externer Dienste) ƒ mit DB-Server Über Web-Server (HTTP) Über Applikations-/sserver (Middleware, spezialisierte Protokolle) Direkt (DBMS-Protokolle) Vorlesung Internet-Datenbanken 3-12 4
HTTP-basierte Ansätze ƒ zwischen Client und Server auf Basis von HTTP Dienstanforderung: URL + Parameter Ergebnis: HTML-Dokument ƒ Randbedingungen: Beschränkung auf HTML zur Präsentation Dynamische Erzeugung von HTML-Seiten ƒ Anwendungslogik im Server Vorlesung Internet-Datenbanken 3-13 HTTP-basierte Ansätze - Komponenten ƒ Browser, Web-Server ƒ : Verarbeitung von Makros bzw. erweiterten HTML- Seiten ƒ DB-skomponente: Verbindung mit Datenbank Abarbeitung der Datenbank-Befehle Bsp.: ODBC, CLI Vorlesung Internet-Datenbanken 3-14 HTTP-basierte Ansätze Komponenten ƒ Web-Server-skomponente: zwischen Web-Server und Parameterübergabe, Ergebnisrückgabe (HTML- Dokument) Bsp.: CGI, Server-Erweiterungen ƒ Interkomponenten-smodule: zwischen Prozessen Bsp.: Sockets, CORBA, RMI Vorlesung Internet-Datenbanken 3-15 5
Einstufige Architektur ƒ Direkte Verbindung zur Datenbank ƒ CGI-Programm/Server-Erweiterung enthält Aufbau einer DB-Verbindung Verarbeitung der Anforderung Zurückliefern des Ergebnisses als HTML- Dokument Vorlesung Internet-Datenbanken 3-16 Einstufige Architektur Web-Server- DB- Vorlesung Internet-Datenbanken 3-17 Zweistufige Architektur ƒ Trennung und Kopplungskomponente Ständig verfügbare Verarbeitungsprozesse (mit ) evtl. als Prozeßpool y Offenhalten von DB-Verbindungen y Lastverteilung CGI-Programm/Server-Erweiterung kommunizieren mit Verarbeitungsprozeß y Parameterübergabe y Zurückliefern des HTML-Dokumentes Vorlesung Internet-Datenbanken 3-18 6
Zweistufige Architektur Web-Server- Interkomponenten- Interkomponenten- DB- Vorlesung Internet-Datenbanken 3-19 Serverseitige Abarbeitung ƒ Ausführung von Anwendungsfunktionen und -prozeduren im DB-Server ƒ Verlagerung des s in DB-Server ƒ DB-Server als Web-Server Verarbeitung von HTTP-Requests Auslieferung von HTML-Dokumenten ƒ Realisierung: User defined Functions, Stored Procedures Vorlesung Internet-Datenbanken 3-20 Serverseitige Abarbeitung Interkomponenten- DB- Vorlesung Internet-Datenbanken 3-21 7
Vergleich einstufig zweistufig serverseitig Vorteile Nachteile ƒ Einfache Realisierung ƒgeringer Ressourcenbdarf ƒfür kleine Lösungen ƒteurer Startup ƒaufwendiger Verbindungsaufbau ƒrealisierung langer Transaktionen ƒschnellere Antwortzeiten ƒlastausgleich ƒcaching ƒhöherer Ressourcenbedarf ƒaufwendige Installation und Konfiguration ƒkomplexe Entwicklung ƒverringerte ƒoptimierbarkeit ƒbelastung des DB-Servers ƒkomplexe Entwicklung? Vorlesung Internet-Datenbanken 3-22 Applet-basierte Ansätze ƒ Ausführung von Anwendungsfunktionen im Web-Browser ƒ Anwendungsfunktionen Java-Code (Applets) Visual-Basic-Code (ActiveX) ƒ Laden der Applets vom Web-Server ƒ Anwendungslogik im Client Vorlesung Internet-Datenbanken 3-23 Applet-basierte Ansätze Applets Vorlesung Internet-Datenbanken 3-24 8
Applet-basierte Ansätze ƒ mit DBS oder Applikationsserver HTTP: Dokumente laden DBMS-Protokolle: JDBC Middleware: CORBA, RMI ƒ Vorteile: Reichhaltiger Funktionsumfang y Grafikfähigkeit, Verschlüsselung Lange Transaktionen, Zustandsspeicher Keine Installation notwendig Vorlesung Internet-Datenbanken 3-25 Applet-basierte Ansätze ƒ Probleme: Sicherheitsrestriktionen y Kein Zugriff auf lokales Dateisystem y Verbindung nur zum Web-Host (Tunneling erforderlich) Längere Ladezeiten Anforderungen an Browser Vorlesung Internet-Datenbanken 3-26 9