OO Analyse und Entwurf für Anwender V. Systemarchitektur Dr. Michael Löwe Objektorientierte Analyse und Entwurf 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 2 Objektorientierte Analyse und Entwurf 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 3 Objektorientierte Analyse und Entwurf 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 4 Objektorientierte Analyse und Entwurf 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 5 Objektorientierte Analyse und Entwurf Darstellung: Systemarchitektur MFT RVF-Oberfläche RVF-Funktionen DBServer MFT RVF-Eingang RVF-Ausgang DBServer Transport Feuer RVF Datenhaltung RV-System Unix-Server BS2-Server Systemarchitektur Unix-Server Prof. Dr. Michael Löwe, FHDW, Hannover Unix-Server 6 Objektorientierte Analyse und Entwurf Arbeitsplatzrechner Die zwei Dimensionen dieser Darstellung DVS/FB DVS/TR Eingang RVF Zerlegung in Komponenten MFT Ausgang RVF-Eingang DBServer RVF-Ausgang DBServer Feuer Systemarchitektur Geschäftsobjekte Netz MFT RVF-Oberfläche RVF-Funktionen RV-System RVF Datenhaltung Unix-Server BS2-Server Anwendungslogik Zerlegung der Komponenten Transport RVA Oberfläche Unix-Server Unix-Server Prof. Dr. Michael Löwe, FHDW, Hannover DatenDatenhaltung haltung Zentralrechner 7 Objektorientierte Analyse und Entwurf Zwei Dimensionen der Systemarchitektur Komponentenmodelle • Technische Realisierung der Anwendungsarchitektur • Aufbau eines Systems aus uniformen Teilen • Zusammenspiel von unterschiedlich realisierten Komponenten • Austauschbarkeit von Systemteilen Systemarchitektur 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 Prof. Dr. Michael Löwe, FHDW, Hannover 8 Objektorientierte Analyse und Entwurf Zwei Dimensionen der Systemarchitektur – Austauschbarkeit – K 2‘ K1 DBMS 2 DBMS 1 DBMS 2 K2 DBMS 1 DBMS 2 K4 K3 DBMS 1 DBMS 2 DBMS 1 DBMS 2 K5 Systemarchitektur DBMS 1 Prof. Dr. Michael Löwe, FHDW, Hannover 9 Objektorientierte Analyse und Entwurf 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 10 Objektorientierte Analyse und Entwurf Daten-basierte Anwendungsarchitektur ••••••• Anwendung n Anwendung IV Anwendung III Anwendung II Anwendung I Ablauf der Anwendungen Unternehmensweites Datenmodell Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 11 Objektorientierte Analyse und Entwurf 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 12 Objektorientierte Analyse und Entwurf Klassische Ho(r)st-Systemarchitektur ••••••• Programm n Programm IV Programm III Programm II Programm I Transaktionsmonitor Datenbankmanagementsystem Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 13 Objektorientierte Analyse und Entwurf Architektur als Verteilte Dienste Dienst I Dienst II Dienst III Dienst V Dienst IV Dienst VI Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover Dienst VII 14 Objektorientierte Analyse und Entwurf 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 15 Objektorientierte Analyse und Entwurf Remote Procedure Call Dienst I (Client) Client Program Ruft lokal auf Ergebnisrückgabe Client Stub generiert Funktionspezifikation z.B. IDL in DCE benutzt TransportInfrastruktur benutzt generiert Server Stub Ruft lokal auf Dienst II (Server) Systemarchitektur Ergebnisrückgabe Server Program Prof. Dr. Michael Löwe, FHDW, Hannover 16 Objektorientierte Analyse und Entwurf 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 17 Objektorientierte Analyse und Entwurf Verteilte Objekte Dienst I Dienst II Dienst III Dienst XI Dienst XII Dienst XIII Daten I Daten IV Dienst VI Dienst V Dienst VI Dienst VII Dienst IX Dienst X Daten II Daten III Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 18 Objektorientierte Analyse und Entwurf 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 19 Objektorientierte Analyse und Entwurf Komponenten in einer Architektur Komponentenschnittstelle: Schnittstelle Gekapselte Funktionen Gekapselt Daten Systemarchitektur Angebot (synchr.) Dienste Verarbeitbare asynchrone Nachrichten Gekapselte Funktionen: Inneres Verhalten Verantwortlichkeiten Gekapselte Daten: Innere Zustände Teil am Gesamtdatenmodell Prof. Dr. Michael Löwe, FHDW, Hannover 20 Objektorientierte Analyse und Entwurf Schnittstellen in einer Architektur benutzt Syn- Asynchron chron realisiert Systemarchitektur Eigenständiger Vermittler zwischen Komponenten Realisiert durch Diensteerbringer Genutzt durch Dienstenachfrager Vertrag zwischen fachlichem Client und Server Prof. Dr. Michael Löwe, FHDW, Hannover 21 Objektorientierte Analyse und Entwurf Object Request Broker (ORB) Language Mapping benutzt Syn- Asynchron chron Client Stub IDL ORB (Transportdienst) Server Stub realisiert Systemarchitektur Language Mapping Prof. Dr. Michael Löwe, FHDW, Hannover 22 Objektorientierte Analyse und Entwurf 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 23 Objektorientierte Analyse und Entwurf OO-im-Großen vs. OO-im-Kleinen OO-im-Kleinen OO-im-Großen • Realisierung von Einzelobjekte • Material u. Werkzeug • Datenobjekte • Beispiele: • Zusammenfassung gleichartiger Objekte • Management • Managerobjekte • Beispiele: – Adresse – Auftrag – Verteilplan Systemarchitektur – Adressverwaltung – Auftragsverwaltung – F+B-Management Prof. Dr. Michael Löwe, FHDW, Hannover 24 Objektorientierte Analyse und Entwurf Beispiel: Workflow „unter“ ORB Funktion n Funktion n-1 Funktion VI Funktion V Funktion IV Funktion III Funktion II Funktion I Arbeitsflüsse: Ereignisse, Vorgänge, Prozesse etc. Datenbestände Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 25 Objektorientierte Analyse und Entwurf Beispiel: Workflow „unter“ ORB Workflow Client 1 Client 2 Client 3 Client 4 Client 5 Objekt Request Broker Server 1 Server 2 Server 3 Server 4 Server 5 Funktion n Funktion V IV, VI, n-1 Funktion II I und III Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 26 Objektorientierte Analyse und Entwurf „Unsere“ Komponentenarchitektur Rahmenanwendung (in SmallTalk): Navigieren, Suchen und Beziehungsaufbau registrieren Dienste I Anwendung I Dienste II Anwendung II Dienste III Anwendung III Objektwelt I Objektwelt II Objektwelt III Entfernte Beziehung Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 27 Objektorientierte Analyse und Entwurf Client/Server-Architektur Softwaretechnisch Hardwaretechnisch benutzt Syn- Asynchron chron Netz realisiert Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 28 Objektorientierte Analyse und Entwurf C/S – hardwaretechnisch – • Abgrenzung zu „Alles passiert auf einem Rechner“ • Trennung „Single-User“ von „Multi-User“ • Hardware-Struktur soll orthogonal zu SoftwareStruktur 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 29 Objektorientierte Analyse und Entwurf Unsere Client/Server-Struktur PC Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA) DDE DBServer (SQL + TM) TCP/IP-Netz DatenbankServer Systemarchitektur DatenbankServer DatenbankServer Prof. Dr. Michael Löwe, FHDW, Hannover DatenbankServer 30 Objektorientierte Analyse und Entwurf 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 31 Objektorientierte Analyse und Entwurf Architektur mit Anwendungsserver PC PC Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA) PC Oberfläche DDE Oberfläche TCP/IP-Netz Anwendungslogik DBServer (SQL + TM) Geschäftsobjekte TCP/IP-Netz TCP/IP-Netz Datenbank- Datenbank- Datenbank- DatenbankServer Server Server Server Systemarchitektur Datenbank- Datenbank- Datenbank- DatenbankServer Server Server Server Prof. Dr. Michael Löwe, FHDW, Hannover 32 Objektorientierte Analyse und Entwurf Architektur mit Anwendungsserver Vorteile + + + + + + + + + Nachteile Softwareverteilung Datensicherheit Verfügbarkeit Skalierbarkeit Netzwerkfähigkeit Ressourcen-Sharing Administration Operating Schnelle Netzte Systemarchitektur – Multi-User – Konkurrenz Prof. Dr. Michael Löwe, FHDW, Hannover 33 Objektorientierte Analyse und Entwurf Beispiel: Winframe NT-Oberflächenemulation Anwendungsserver TCP/IP-Netz, WAN Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA) DDE DBServer (SQL + TM) TCP/IP-Netz DatenbankServer Systemarchitektur DatenbankServer DatenbankServer Prof. Dr. Michael Löwe, FHDW, Hannover DatenbankServer 34 Objektorientierte Analyse und Entwurf WWW, HTML, Browser und Java Verteilte Klassen versus verteilte Objekte Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 35 Objektorientierte Analyse und Entwurf Architektur der Datenhaltung • DBMS-Clustering • DB Verteilung – DB Fragmentierung • horizontal • vertikal – DB Replikation • asymmetrisch • symmetrisch Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 36 Objektorientierte Analyse und Entwurf Fragmentierung Horizontal Vertikal Teilinformation Teilbestand Teilinformation Gesamtbestand Gesamtinformation Teilbestand Teilbestand Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 37 Objektorientierte Analyse und Entwurf Replikation Asymmetrisch Originalbestand Kopie vom Originalbestand Symmetrisch Originalbestand I Originalbestand II ¿ Konflikte ? Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover 38 Objektorientierte Analyse und Entwurf 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 39 Objektorientierte Analyse und Entwurf 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 40 Objektorientierte Analyse und Entwurf 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 41