OO Analyse und Entwurf für Anwender V. Systemarchitektur Dr. Michael Löwe
Prof. Dr. Michael Löwe, FHDW, Hannover Inhalt der Ausbildung Kennzeichen objektorientierter Softwareentwicklung (1) Projektorganisation (2) Architektur (2) Objektorientierte Analyse (4) Objektorientierter Entwurf (5) Realisierung und Test (2) Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Lernziele Kenntnisse über allgemeine Rahmenbedingungen einer Software-Entwicklung Kennenlernen des Unterschieds zwischen technischen Rahmenbedingungen (Systemarchitektur) und fachlichen Rahmenbedingungen (Anwendungsarchitektur) Inhalte und Form einer Anwendungsarchitektur Inhalte und Form einer Systemarchitektur Unterschied zw. OO-im-Großen und OO-im-Kleinen Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Inhalt Anwendungsarchitektur vs. Systemarchitektur Komponentenmodelle vs. Modelle für Komponenten Stilrichtungen von Komponentenmodellen Client-Server-Architektur Softwaretechnisch Hardwaretechnisch „Unsere“ Client/Server-Architektur WWW, (Dynamic) HTML, Browser und Java Architektur der Datenhaltung Zentrale Dienste einer Systemarchitektur Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Anwendungs- vs. Systemarchitektur Anwendungsarchitektur gehört zur Analyse wie Systemarchitektur zum Entwurf Anwendungsarchitektur: Aufbau einer DV-Anwendungslandschaft aus fachlichen Komponenten und Schnittstellen Systemarchitektur: Aufbau einer DV-Anwendungslandschaft aus technischen Komponenten und Schnittstellen Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Darstellung: Systemarchitektur MFT MFT RVF-Oberfläche RVF-Eingang RVF-Ausgang RVF-Funktionen DBServer DBServer Transport Feuer RV-System RVF Daten- haltung Unix-Server BS2-Server Unix-Server Unix-Server Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Die zwei Dimensionen dieser Darstellung DVS/FB DVS/TR Oberfläche Anwendungslogik Arbeitsplatzrechner Eingang Geschäftsobjekte RVF Zerlegung in Komponenten Zerlegung der Komponenten Netz Daten- haltung BS2-Server Feuer Unix-Server Transport RV-System RVF Daten- haltung MFT RVF-Funktionen DBServer RVF-Oberfläche RVF-Eingang RVF-Ausgang Ausgang Daten- haltung RVA Zentralrechner Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Zwei Dimensionen der Systemarchitektur Komponentenmodelle Technische Realisierung der Anwendungsarchitektur Aufbau eines Systems aus uniformen Teilen Zusammenspiel von unterschiedlich realisierten Komponenten Austauschbarkeit von Systemteilen Modelle für Komponenten Technische Realisierung einer jeden Komponente Aufbau einer Komponente aus heterogenen Teilen Zusammenspiel und Realisierung von Oberfläche, Logik und Datenhaltung Austauschbarkeit von Komponententeilen Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Zwei Dimensionen der Systemarchitektur – Austauschbarkeit – DBMS 1 DBMS 2 K 1 K 5 K 3 K 4 K 2‘ K 2 Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Stilrichtungen für Systemarchitekturen Daten-basierte Architekturen Verteilte Dienste Remote Procedure Call (RPC) Verteilte Objekte Common Object Request Broker Architekture (CORBA) „Unsere“ Komponentenarchitektur Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Daten-basierte Anwendungsarchitektur Ablauf der Anwendungen Anwendung I Anwendung II Anwendung III Anwendung IV • • • • • • • Anwendung n Unternehmensweites Datenmodell Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Daten-basierte Architekturen Grundlage: einheitliches Datenmodell Analysefokus: Unternehmensdaten Trennung von Daten und Funktion Alle Anwendungen gleichberechtigt kein fachliches Client/Server Keine Funktionsschnittstellen Ausschließlich Daten- und Dialogschnittstellen Kommunikation über das Datenmodell Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Klassische Ho(r)st-Systemarchitektur Transaktionsmonitor Programm I Programm II Programm III Programm IV Programm n • • • • • • • Datenbankmanagementsystem Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Architektur als Verteilte Dienste Dienst I Dienst II Dienst V Dienst III Dienst IV Dienst VII Dienst VI Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Verteilte Dienste Grundlage: einheitliches Funktionsmodell Analysefokus: Funktionszerlegung Kaum erkennbare Anwendungen Trennung von Funktion und Prozeß Ausschließlich Funktionsschnittstellen Keine Datenschnittstellen Kommunikation über synchronen Funktionsaufruf Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Remote Procedure Call Client Program Server Program Client Stub Dienst I (Client) Client Program Ruft lokal auf Ergebnisrückgabe Client Stub generiert benutzt Funktionspezifikation z.B. IDL in DCE Transport- Infrastruktur generiert benutzt Server Stub Ruft lokal auf Ergebnisrückgabe Dienst II (Server) Server Program Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Remote Procedure Call Realisiert diensteorientierte Anwendungsarchitektur Systemweit einheitliche Funktionsspezifikation Unterstützt heterogene Diensterealisierungen Unterstützt unterschiedliche Plattformen Dynamische Bindung von Servern möglich Erhöhter Realisierungsaufwand Performanzverluste durch Transportdienst Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Verteilte Objekte Dienst I Dienst II Dienst III Daten I Dienst XI Dienst XII Dienst XIII Daten IV Dienst VII Dienst IX Dienst X Daten III Dienst VI Dienst V Daten II Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Verteilte Objekte Grundlage: einheitliches Objektmodell Analysefokus: Zusammenfassung von Daten und zugehörigen Diensten Anwendungen = Objekte-im-Großen Keine Datenschnittstellen Kommunikation über synchronen Nachrichtenaustausch Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Komponenten in einer Architektur Komponentenschnittstelle: Angebot (synchr.) Dienste Verarbeitbare asynchrone Nachrichten Gekapselte Funktionen: Inneres Verhalten Verantwortlichkeiten Gekapselte Daten: Innere Zustände Teil am Gesamtdatenmodell Schnittstelle Gekapselte Funktionen Gekapselt Daten Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Schnittstellen in einer Architektur Syn- chron Asyn- benutzt realisiert Eigenständiger Vermittler zwischen Komponenten Realisiert durch Diensteerbringer Genutzt durch Dienstenachfrager Vertrag zwischen fach-lichem Client und Server Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Object Request Broker (ORB) Language Mapping benutzt Client Stub Syn- chron Asyn- chron IDL ORB (Transportdienst) Server Stub realisiert Language Mapping Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Object Request Broker (ORB) Realisiert objektorientierte Anwendungsarchitektur Systemweit einheitliche Objektspezifikation (OO-im-Großen) Unterstützt heterogene Objektrealisierungen Unterstützt unterschiedliche Plattformen Dynamische Bindung von Servern möglich Erhöhter Realisierungsaufwand Performanzverluste durch Transportdienst Standard und doch kein Standard (Inter-ORB-Protokoll) Derzeit die Systemarchitektur mit größter Flexibilität Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
OO-im-Großen vs. OO-im-Kleinen Realisierung von Einzelobjekte Material u. Werkzeug Datenobjekte Beispiele: Adresse Auftrag Verteilplan OO-im-Großen Zusammenfassung gleichartiger Objekte Management Managerobjekte Beispiele: Adressverwaltung Auftragsverwaltung F+B-Management Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Beispiel: Workflow „unter“ ORB Arbeitsflüsse: Ereignisse, Vorgänge, Prozesse etc. Funktion I Funktion II Funktion III Funktion IV Funktion V Funktion VI Funktion n-1 Funktion n Datenbestände Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Beispiel: Workflow „unter“ ORB Objekt Request Broker Workflow Funktion n Funktion II IV, VI, n-1 Funktion V I und III Server 1 Server 2 Server 3 Server 4 Server 5 Client 1 Client 2 Client 3 Client 4 Client 5 Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
„Unsere“ Komponentenarchitektur Rahmenanwendung (in SmallTalk): Navigieren, Suchen und Beziehungsaufbau registrieren Anwendung I Anwendung II Anwendung III Dienste I Dienste II Dienste III Objektwelt I Objektwelt II Objektwelt III Entfernte Beziehung Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Client/Server-Architektur Softwaretechnisch Hardwaretechnisch benutzt Syn- chron Asyn- chron Netz realisiert Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
C/S – hardwaretechnisch – Abgrenzung zu „Alles passiert auf einem Rechner“ Trennung „Single-User“ von „Multi-User“ Hardware-Struktur soll orthogonal zu Software-Struktur sein Wer Client und Server ist, entscheidet die Software Client/Server in Hardware behindert die Architektur Mainframe ist Datenserver für PC PC ist Textserver für Mainframe Client/Server versus Distributed Computing Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Unsere Client/Server-Struktur PC Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA) DBServer (SQL + TM) DDE TCP/IP-Netz Datenbank- Server Datenbank- Server Datenbank- Server Datenbank- Server Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Unsere Client/Server-Struktur Fat Client Kapselung der DBMS-Klienten Server: Informix, Oracle, Sybase, Upic/UTM Client: VA, VSE, ISA-DM, C, Word Betriebssysteme Server: Unix oder NT oder BS2000 oder .... Client: NT (Desktop oder Winframe-Server) Batchverarbeitung in derselben (Hardware-) Architektur (Z. B. Textformatierung oder Auftragskommunikator) Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Architektur mit Anwendungsserver PC PC Oberfläche, Anwendungs- logik und Persistenzschicht in SmallTalk (VA) PC Oberfläche Oberfläche DDE TCP/IP-Netz DBServer (SQL + TM) Anwendungslogik Geschäftsobjekte TCP/IP-Netz TCP/IP-Netz Datenbank- Server Datenbank- Server Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Architektur mit Anwendungsserver Vorteile Softwareverteilung Datensicherheit Verfügbarkeit Skalierbarkeit Netzwerkfähigkeit Ressourcen-Sharing Administration Operating Schnelle Netzte Nachteile Multi-User Konkurrenz Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Beispiel: Winframe NT-Oberflächenemulation DBServer (SQL + TM) TCP/IP-Netz, WAN Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA) DBServer (SQL + TM) DDE Anwendungs- server TCP/IP-Netz Datenbank- Server Datenbank- Server Datenbank- Server Datenbank- Server Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
WWW, HTML, Browser und Java Verteilte Klassen versus verteilte Objekte Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Architektur der Datenhaltung DBMS-Clustering DB Verteilung DB Fragmentierung horizontal vertikal DB Replikation asymmetrisch symmetrisch Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Fragmentierung Horizontal Vertikal Teilbestand Gesamtbestand Teilinformation Gesamtinformation Teilinformation Teilbestand Teilbestand Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Replikation Asymmetrisch Symmetrisch Kopie vom Original- bestand Original- bestand I Original- bestand II Original- bestand ¿ Konflikte ? Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Architektur der Datenhaltung Empfehlungen: Zentraler Bestand Jedes Datum möglichst nur einmal Keine selbstverwalteten Spiegelbestände Replikation nur asymmetrisch zum Lesen Datenkaufhaus WWW Clustering und Fragmentierung zum Tuning Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Zentrale Dienste einer Systemarchitektur Global Directory aller Principals Nutzer und Rechner Time-Service Security Services Transaktionsdienste Suchdienste Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Zusammenfassung Systemarchitekturen haben zwei Dimensionen Technische Realisierung der Anwendungsarchitektur Verfeinerte technische Strukturierung der einzelnen Komponenten einer Anwendungsarchitektur Systemarchitekturen beschreiben den Aufbau eines Systems aus Softwarekomponenten die Hardware-Architektur die Abbildung der Software- auf die Hardware-Architektur Systemarchitekturen beschreiben insbesondere Mangement der Daten Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover