OO Analyse und Entwurf für Anwender IV. Anwendungsarchitektur 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) Anwendungsarchitektur 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 Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Inhalt Anwendungsarchitektur vs. Systemarchitektur Stilrichtungen für Anwendungsarchitekturen Komponenten und Schnittstellen OO-im-Großen versus OO-im-Kleinen Wie macht man eine Anwendungsarchitektur? Vom Arbeitsprozeß zur Anwendungsarchitektur Zentrale Dienste einer Anwendungsarchitektur Anwendungsarchitektur 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 Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Anwendungs- vs. Systemarchitektur Anwendungsarchitektur Anwendungen Verteilung der Funktionen Zusammenspiel der Anwendungen Nutzer/Nutzergruppen Arbeitsfluß Systemarchitektur Systemkomponenten Verteilung der Verarbeitung (C/S) Technische Schnittstellen Safety and Security Workflow Management Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Darstellung: Anwendungsarchitektur Bestand Vertrieb Schaden Datenträger austausch Statistiken Buchungen Kunden Anwendungsarchitektur 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 Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Stilrichtungen für Architekturen Daten-basierte Architekturen Workflow-basierte Architekturen Message-basierte Architekturen Verteilte Dienste Verteilte Objekte Das beste von allem Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Daten-basierte Architekturen Anwendung I Anwendung II Anwendung III Anwendung IV • • • • • • • Anwendung n Unternehmensweites Datenmodell Anwendungsarchitektur 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 Datenschnittstellen Kommunikation über das Datenmodell Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Workflow-basierte Architekturen 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 Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Workflow-basierte Architekturen Grundlage: einheitliches Vorgangsmodell Analysefokus: Arbeitsabläufe Trennung von Funktionen und Prozessen Kaum sichtbare Anwendungen Keine Funktionsschnittstellen Wenig Datenschnittstellen Kommunikation über explizite Workflows Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Message-basierte Architekturen Anwendung I Anwendung II Anwendung IV Anwendung III Anwendung VI Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Message-basierte Architekturen Grundlage: einheitliches Nachrichtenmodell Analysefokus: Nachrichtenaustausch Trennung von Anwendung und Kommunikation Keine Funktions- und Datenschnittstellen Kommunikation über asynchronen Nachrichtenaustausch Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Verteilte Dienste Dienst I Dienst II Dienst V Dienst III Dienst IV Dienst VII Dienst VI Anwendungsarchitektur 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 Anwendungsarchitektur 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 Anwendungsarchitektur 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 Anwendungsarchitektur 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 Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Schnittstellen in einer Architektur Eigenständiger Vermittler zwischen Komponenten Realisiert durch Diensteerbringer Genutzt durch Dienstenachfrager Vertrag zwischen fach-lichem Client und Server benutzt Syn- chron Asyn- chron realisiert Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
OO-im-Großen vs. OO-im-Kleinen Gekapselt Daten Gekapselte Funktionen Schnittstelle Black Box White Box Anwendungsarchitektur 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 Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Wie macht man eine Architektur? Analyse der Arbeitsabläufe Prozeßbeschreibungen Zerlegung in elementare Vorgänge Arbeitsgänge, die ein Sachbearbeiter erledigt Definition der unterstützenden Dienste Clusterung der Systemdienste entlang Vorgängen Analyse der Materialien für jeden Dienst Objektmodelle für jeden Dienst Zusammenfassung entlang gemeinsamer Materialien Anwendungen; Objekte im Großen Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Beispiel: Abrechnungsprozeß Bestandsanwendung F+B - System Maklersystem Buchungssystem KVK-Anschluß Unabhängige Abrechnung für Vertrag für Beteiligungen für Maklerprovisionen Vollstorno als Dienst Unabhängigkeit von KVK Vertragsabrechnung nutzt F+B - Abrechnung Maklerabrechnung F+B nutzt Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Zentrale Dienste einer Architektur Aufbauorganisation Stellen und Gruppen Rechte und Kompetenzen Delegationswege Vertretungsregelungen „Konstanten“-Service Schlüsseltabellen Servicetabellen Externe Anbieter Interne Dienste Parametertabellen Funktionstabellen Steuertabellen Kommunikationspartner Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Weitere zentrale Dienste Terminverwaltung Auftragsdienst Archive Textverarbeitung Textrecherche Elektronische Korrespondenz etc. Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
Prof. Dr. Michael Löwe, FHDW, Hannover Zusammenfassung Anwendungsarchitekturen zerlegen DV-Landschaften so in Komponenten, wie Klassen- und Objektmodelle Anwendungen zerlegen. In einer Anwendungsarchitektur drückt sich die (globale) Balance zwischen Arbeitsprozessen und bearbeiteten Materialien aus. Anwendungsarchitekturen stellen neben einem Gerüst für fachliche Komponenten ein globales „Denkschema“ und darin fachunabhängige, zentrale Dienste zur Verfügung Anwendungsarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover