Client/Server-Modelle Kapitel 1 Client/Server-Modelle Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Einührung Literatur, Materialien Günther Bengel Verteilte Systeme Vieweg Verlag, 2002 Hans Robert Hansen, Gustaf Neumann Wirtschaftsinformatik 2 Lucius&Lucius, 2005 Günter Merbeth Vorlesung Architektur von Web-Anwendungen http://www.pst.informatik.uni-muenchen.de/lehre/WS0102/web-arch/ Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Historie: Mainframe Terminal-Anbindung SNA (IBM), TRANSDATA (Siemens) Mainframe „Dumme“ Terminals Bildschirm-Masken Anwendungslogik Daten Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Mainframe Epoche Hardware, Betriebssysteme Mainframes: IBM, Siemens, ICL, Fujitsu, ... Minicomputer: DEC, … Datenmanagement Dateisysteme Hierarchische DBMS Netzwerk-DBMS RDBMS Middleware TP Monitore Kommunikation Proprietär: SNA, ... Entwicklung Editoren Sprachen (Compiler) COBOL, PL/1, Assembler, (FORTRAN) Generatoren für Masken und Code Dictionaries Projektbibliotheken Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Client/Server(C/S-)-Prinzip Client: Server: Software-Komponente, die „Service“ (Funktion) vom Server anfordert. SW-Komponente, die „Service“ beliebig vielen Clients anbietet. Der Server ist hier nicht unbedingt als Hardware zu verstehen. Ziel: Gemeinsame Nutzung aller im Unternehmen existierenden Anwendungssysteme, Datenbestände und Rechner bzw. Geräteleistungen. Darstellung: Client Server Auftrag Rückmeldung Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Mainframe versus Client/Server Einührung Mainframe versus Client/Server SNA Mainframe DB Server TCP/IP Application Server Mainframe Dezentralisierung Ermöglicht durch verbesserte Prozessorleistung Von einer Maschine, die 100 Millionen Dollar kostete und eine Anweisung pro Sekunde ausführte, sind wir zu Maschinen gelangt, die weniger als 1000 Dollar kosten und mehr als 10 Millionen Anweisungen pro Sekunde ausführen können. Hätten sich die Autos in derselben Zeit entsprechend weiterentwickelt, würde das bedeuten, dass ein Rolls Royce 1 Dollar kosten und eine Milliarde Kilometer mit einem Liter Sprit fahren könnte. GUI Anwendungslogik Altsysteme Anwendungslogik Daten Daten Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Client/Server Epoche Hardware,Betriebssysteme Client PC mit DOS, Windows, (OS/2) Unix Server: Unix, NT, Novell (OS/2) Mainframes: IBM mit MVS Bedeutung anderer Hersteller nimmt ab Datenmanagement Filesysteme Relationale DBMS Middleware RPC DCE TP Monitore (CORBA) Kommunikation TCP/IP Entwicklung CASE (Computer Added Software Engineering) Repositories Projekt- und Konfigurations-management Sprachen (Compiler, Debugger) COBOL C, C++, (Smalltalk) VB 4GL Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Heute: Netzwerk (Internet / Web) Einührung Heute: Netzwerk (Internet / Web) SNA DB Server Mainframe TCP/IP Application Server Mainframe HTTP DB Server Zweite wesentliche Entwicklung sind die heutigen Hochgeschwindigkeitsnetze. Internet/ Intranet/ Extranet TCP/IP Web Server Mainframe Application Server Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Netzwerk Epoche Hardware,Betriebssysteme „The network is the computer“ PC: Windows NC (Thin Client) Server: Unix, NT Datenmanagement Filesysteme Relationale DBMS ODBMS Repositories Middleware Distributed TP Monitore CORBA J2EE, (EJB, Servlets, RMI) COM/DCOM SOAP (Web Services) Entwicklung Repositories mit Projekt- und Konfigurationsmanagement Sprachen IDE: Integrated Development Environments (Visual Studio) C++ Java C#, VB Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Eigenschaft der drei Generationen Sehr gute Tools Komplexe Architektur (Viele logische Komponenten) Netzwerk Thin Clients Re-Zentralisierung Management auf weniger Instanzen beschränkt Browser basiert Gute Kombination der Stärken von C/S und Mainframe - GUI - blockorient. Verbind. Architektur schon komplexer Verarbeitung verteilt Fette Clients, Sicherh. Verteilung der Anw. auf Client und Server Probleme mit großer Anzahl Clients bei Install. und Update Komfortable graphische Oberfläche Bedienung komplexer Anwendungen Direkte C/S-Verbindung Client / Server Schwache Toolunterstützung Einfache Architektur (DB und TP Monitor) Verarbeitung auf dem Host Zentral Einfache Kontrolle und Verwaltung Einfache Installation und Update Einfach, dumme Terminals Primitive Oberfläche Verbindung zwischen Terminal und Rechner blockorientiert Mainframe Entwicklung Management Benutzung Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Alternativen der Aufgabenverteilung Dezentrale Verteilte Dezentrale Verteilte Präsentation Verarbeitung Verarbeitung Datenhaltung Server Client Datenhaltung Datenhaltung Datenhaltung Datenhaltung Netz Verarbeitung Verarbeitung Netz Datenhaltung Netz Netz Verarbeitung Verarbeitung Verarbeitung Präsentation Präsentation Präsentation Präsentation Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle Trennung von Funktionalitäten Client: Anwendungsprogramm, Server: Datenbanksystem, Oberfläche, Anwendungsprogramm Eingabe/Ausgabe, Nettodatenübertragung Statt dem einfachen 2-stufigen (two-tier) Client/Server-Prinzip gibt es auch 3- (three-tier) oder 4-(four-tier) stufige Architekturen (allgemein multi-tier). 3-stufig 4-stufig Darstellung Verarbeitung Datenhaltung Darstellung Verarbeitung 1 Verarbeitung 2 Datenhaltung Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Kapitel 1: Client/Server-Modelle HW HW HW Client Client Client Client Server Server Client Server/ Client Client C/S-Prinzip über mehrere Ebenen Client Server/ Client Z.B. Kommunikationsrechner z.B. DB-Server Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Nutzen von Client/Server-Modellen (1) Nutzen von Client/Server-Modellen im Vergleich zu traditionellen Mainframes: Heterogene Hardware kann genutzt werden, z.B. unterschiedliche Hersteller, unterschiedliche Betriebssysteme, beim Host dagegen gleicher Hersteller Dezentralisierungsmöglichkeiten der IT Host steht zentral im Rechenzentrum Mit C/S können Aufgaben/Hardware in Fachabteilungen ausgelagert werden Fachabteilung hat Kontrolle Aber: IT-Know-how wird dezentral benötigt Effizienz durch problemgerechte Arbeitsteilung Flexibilität / Skalierbarkeit Teilung teurer Ressourcen / Spezialisierung Karczewski / Lenz Kapitel 1: Client/Server-Modelle
Nutzen von Client/Server-Modellen (2) Nutzen von Client/Server-Modellen im Vergleich zu traditionellen Mainframes: ‚no single point of failure‘ Einfache Bedienung / GUI Gutes Preis-/Leistungsverhältnis Hardwarekosten: Host i.d.R. teurer Softwarekosten: keine allgemeingültigen Aussagen möglich Administration / Operating: Host i.a. im Vorteil Notwendige Betrachtungsweise: Total Cost of Ownership Mögliche Nachteile: Komplexität / Entwicklungsaufwand U.U. Leistungsengpässe aufgrund geringer produktiver Serverleistung Sicherheitsproblematik durch erhöhte Kommunikation Administrationsaufwand Karczewski / Lenz Kapitel 1: Client/Server-Modelle