Teil II: Architektur und Entwicklung (verteilter) Informationssysteme, Information Retrieval Architektur - 1 IS-K2003 Übersicht und Zielsetzung von Teil II z Verstehen der Zusammenhänge, wenn man von der traditionellen zentralen Datenbank als Plattform für die Anwendungsentwicklung in eine verteilte Umgebung übergeht und Client/Server (Two-Tier) oder Client/Middleware/Server-Architektur (Three-Tier) betrachtet. z Grundlagen für verteilte und mehrstufige Transaktionsverwaltung sowie Einordnung von Transaktionsmodellen und Verfahren für verteilte und föderierte Transaktionsverwaltung z Einblick in „Enterprise Resource Planning“ Systeme (ERPs) am Beispiel von SAP /R3 z Von Datenbanken zu Information Retrieval, Auffinden relevanter Information IS-K2003 Architektur - 2 Kap. 8 IS Architektur Client/Server/Middleware* 8.1 Einstufige Architektur z Mehrere Anwendungsprozesse APi mit Datenbankzugriff, Kommunikation über gemeinsamen Adressraum, daher sehr effizienter Datenaustausch über Shared Memory, aber keine Sicherheit gegenüber Fehlern im Anwenderprogramm z DA i … Speicherbereich für Datenaustausch zwischen DBMS und AP i DBMS … gehört zum Adressraum der AP i, wird nur einmal geladen („reentrant code“) SP … Systempuffer des DBMS, gemeinsamer Speicherbereich und GST …globale System Tabellen für den Zugriff auf SP z z AP 1 AP n DA 1 DBMS SP DA n GST DBMS Betriebssystem Beispiele: IBM System/R – Forschungsprototypsystem 1975 Microdatenbanken 2003 * Achter Vorlesungstermin Architektur - 3 IS-K2003 8.2 Zwei-Stufen Architektur: “Client/Server” z z z Client und Server sind durch verschiedene Adressräume oder Rechnergrenzen getrennt Kommunikation zwischen Client und Server über ein Netzwerk oder IPC. Dabei wird ein spezielles Protokoll verwendet, z.B. JDBC, Net8 (bei Oracle) Klare Aufgabenteilung zwischen Client und Server Client DB Server DB Client Library DB Server Library Netzwerk, IPC Betriebsystem Client IS-K2003 Betriebsystem Server Architektur - 4 Vor- und Nachteile der Zweistufen-Arch. Vorteile Nachteile hohe Sicherheit durch Trennung der Adressräume zwischen Client und Server, problemgerechte Arbeitsteilung zwischen Clients und Servern, physische Verteilung leicht möglich, da praktisch eingebaut, hohe Flexibilität und gute Skalierbarkeit durch leichtes Hinzufügen von Ressourcen, wirtschaftliche Nutzung gemeinsamer Ressourcen (z.B. periphere Geräte), Vermeiden eines kritischen Fehlerortes durch Server-Replikation und Shadowing, Verwendung bekannter Werkzeuge, z.B. zur Entwicklung von Client-GUIs geringere Server-Leistung Uebertragen grosser Datenmengen zwischen Client und Server aufwändig oft unbefriedigende Verfügbarkeit von Entwurfs- und Administrationswerkzeugen erhöhter Aufwand für Administration und Wartung Architektur - 5 IS-K2003 Klassifikationsübersicht bei Client/Server DB-Server IS-K2003 Monolithisch Multiple Server ein DBS-Prozess mehrere DBS-Prozesse Symmetrisch Asymmetrisch pro AP ein DBS-Prozess dynamische Zuordnung der APs zu den DBSProzessen Architektur - 6 Client/Server Architekturvarianten z z (1) mehrere DB Serverprozesse Kommunikation zwischen den Servern über “shared memory” zwischen Clients und Servern bzw. Dispatcher über BS-Mechanismen (IPC) oder Netzsoftware Symmetrische Zuordnung - jedem Client ist genau ein Server Prozess zugeordnet: statische Zuordnung, feste Anzahl n Server vorgeneriert ==> maximaler Parallelitätsgrad ist n Asymmetrisch - ein Client wird mit Hilfe eines Dispatcher mit einem Server Prozess verbunden. Feste Anzahl Server vorgeneriert, aber Parallelitätsgrad kann höher sein (2) ein DB Serverprozess Synchronisierter Zugriff auf Systempuffer und zentrale Systemtabellen Server verwendet Multi-Threading (Reentrant Code) genau ein Server-Prozess für viele Clients DB-Serverprozess ist vom BS bevorzugt! Architektur - 7 IS-K2003 Monolitischer Server z z z eigene Ressourcenverwaltung, dupliziert BS-Funktionen einfache Kommunikation im Server durch Shared Memory z.B. Sybase, MS SQL Server AP AP … Client Client 1 i CL CL Betriebssystem 1 AP Client k DBMS Server 1 CL Betriebssystem n Netzwerk IS-K2003 Architektur - 8 Multiple Server DBMS ist ein Verbund von verschiedenen Prozessen Kommunikation über Betriebssystem (z.B. IPC) oder Netzwerk Scheduling der Prozesse geschieht über das Betriebssystem, grosser Vorteil bei Mehrprozessor-Rechnern, da Prozessorzuteilung durch das BS erfolgt z.B. Oracle, Informix, DB2 z z z z CL CL AP Client m Dispatcher AP AP … Client Client 1 i CL Betriebssystem 1 DBMS … DBMS Server Server 1 k Betriebssystem n Netzwerk Architektur - 9 IS-K2003 Demo: Sybase und Oracle z SQL Server (Sybase): Monolithischer Server ein Serverprozess eigenes “Process”-Scheduling weniger Shared Memory z Oracle: Multipler Server sowohl symmetrisch als auch asymmetrisch konfigurierbar – dedicated Server – shared Server mit Dispatcher DB-Prozesse mit verschiedenen Aufgaben: – Recoverer, Process Monitor,System Monitor, Database Writer, Log Writer, Archiver, Checkpoint, Dispatcher, Lock IS-K2003 Architektur - 10 Oracle Prozessübersicht (1) LCKn RECO PMON SMON System Global Area Database Buffer Cache User Shared Dedicated Server Server Redo Log Buffer CKPT DBWR Offline Storage ARCH LGWR D000 Control User Data Redo Log Architektur - 11 IS-K2003 Oracle Prozessübersicht (2) z z z z z z z z z z User - Embedded C Programme oder Oracle Tools LCKn - Lock Process (Parallel Server Option) RECO - Recoverer (verarbeitet hängende verteilte Transaktionen) PMON - Process Monitor (räumt nach Prozessfehler auf) SMON - System Monitor (Startup Recovery, Garbadge Collection) D000 - Dispatcher (verantwortlich für die Kommunikation mit dem User) DBWR - Database Writer (schreibt Blöcke aus dem Database Buffer auf Platte, Cache Manager) CKPT - Checkpoint LGWR - Logwriter (schreibt Redo Information auf Platte) ARCH - Archivierer (Kopiert Redo-Log-Files aufs Backup Medium) IS-K2003 Architektur - 12 Oracle Verbindungsaufbau Service Name Client AP nameserver Host, Port, SID SID listener dispatcher Names Dedicated Server Shared Server Shared Server Architektur - 13 IS-K2003 8.3 Drei-/Mehr-Stufen Architektur z Bindeglied zwischen vielen verschiedenen Clients und vielen unterschiedlichen Servern. Query Client Web Application Application Browser Client1 Clientn Mobile Client Middleware DBMS Server IS-K2003 Object Server Multimedia Document Server Server Web Server Architektur - 14 “Three-Tier Architecture”: Client/Server/Middleware Middleware: Software-Schicht in der Mitte zwischen – Betriebssystem /Kommunikation und Anwendungsprogramm – zwischen Clients und Server Middleware Frameworks Client Program Server Program Middleware Services Communication Middleware Operating System and Network Software Operating System and Network Software Operating System and Network Software Computer and Network Hardware Computer and Network Hardware Computer and Network Hardware Architektur - 15 IS-K2003 Middleware Services nach [Bernstein96] Presentation mask and forms processing, printer management, hypermedia connections, multimedia preparation Computation sorting, math. computations, internationalization, data format conversion, time management Information Management directories, log manager, file and record manager, relational / objectoriented database management, repository manager Communication remote procedure call, peer-to-peer messaging, message queuing, electronic mail, electronic data exchange Process Management thread manager, transaction processing, resource broker, request broker, job scheduler System Management event notification, configuration management, software installation, failure management, error detection, recovery coordination, authentication, encryption, access control IS-K2003 Architektur - 16 Beispiele z WWW mit Datenbankanbindung DEMO: CD-Datenbank http://www.allmusicguide.com CD Player Client Server O M DE WWW Server Client Server CD Datenbank(en) Allgemein: z SAP z TP Monitore Architektur - 17 IS-K2003 Beispiel Middleware Architektur z CD Datenbank Architektur CD Player HTTP Client Library Betriebsystem Client Server Middleware Betriebsystem HTTP Server Library DB Server WEB Server DB Client Library DB Server Library Betriebsystem Betriebsystem Client IS-K2003 Server Architektur - 18 Literaturverzeichnis z R. Orfali, D. Harkey, J. Edwards: Client / Server Survival Guide. John Wiley, 1999, 3. Auflage. z W.-R. Hansen: Client/Server Architektur, Addison-Wesley, 1993 z J. Gray, A. Reuter: Transaction Processing: Concepts and Techniques, Academic Press, 1992 z J.L. Hennessy, D.A. Patterson: Computer Architecture. A Quantitative Approach, Morgan Kaufmann Pub., 1995 z P.A. Bernstein: Middleware: A Model for Distributed System z z Services. Communications of the ACM, Vol. 39, No. 2, February 1996 OMG. CORBA: The Common Object Request Broker Architecture. Revision 2.0, July 1995 Oracle, Sybase, MS SQL Server, Informix, DB2 Manuals IS-K2003 Architektur - 19