OO Analyse und Entwurf für Anwender

Werbung
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
Herunterladen