View
115
Download
4
Category
Preview:
Citation preview
OO Analyse und Entwurf für Anwender
V. Systemarchitektur
Dr. Michael Löwe
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
2
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
3
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
4
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
5
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
6
Objektorientierte Analyse und Entwurf
Darstellung: Systemarchitektur
BS2-ServerBS2-Server
FeuerFeuer
Unix-ServerUnix-Server
TransportTransport
Unix-ServerUnix-Server
RV-SystemRV-System
Unix-ServerUnix-Server
RVFRVFDaten-Daten-haltunghaltung
MFTMFT
RVF-FunktionenRVF-Funktionen
DBServerDBServer
RVF-OberflächeRVF-Oberfläche MFTMFT
RVF-EingangRVF-Eingang RVF-AusgangRVF-Ausgang
DBServerDBServer
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
7
Objektorientierte Analyse und Entwurf
Die zwei Dimensionen dieser Darstellung
BS2-ServerBS2-Server
FeuerFeuer
Unix-ServerUnix-Server
TransportTransport
Unix-ServerUnix-Server
RV-SystemRV-System
Unix-ServerUnix-Server
RVFRVFDaten-Daten-haltunghaltung
MFTMFT
RVF-FunktionenRVF-Funktionen
DBServerDBServer
RVF-OberflächeRVF-Oberfläche MFTMFT
RVF-EingangRVF-Eingang RVF-AusgangRVF-Ausgang
DBServerDBServer
DVS/FBDVS/FB DVS/TRDVS/TR
EingangEingang
RVFRVF
AusgangAusgang
RVARVA
Daten-haltung
Daten-haltung
Daten-haltung
Daten-haltung
OberflächeOberfläche
AnwendungslogikAnwendungslogik
GeschäftsobjekteGeschäftsobjekte
Arb
eits
plat
zrec
hner
Zentralrechner
Zerlegung inKomponenten
Zerlegung derKomponenten NetzNetz
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
8
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
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
9
Objektorientierte Analyse und Entwurf
K 1
K 5
K 3K 4
K 2
Zwei Dimensionen der Systemarchitektur
– Austauschbarkeit –
K 2‘ DBMS 1
DBMS 1
DBMS 1
DBMS 1
DBMS 1
DBMS 2
DBMS 2
DBMS 2
DBMS 2
DBMS 2
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
10
Objektorientierte Analyse und Entwurf
Stilrichtungen für Systemarchitekturen
• Daten-basierte Architekturen
• Verteilte DiensteRemote Procedure Call (RPC)
• Verteilte ObjekteCommon Object Request Broker Architekture (CORBA)
• „Unsere“ Komponentenarchitektur
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
11
Objektorientierte Analyse und Entwurf
Daten-basierte Anwendungsarchitektur
Unternehmensweites DatenmodellUnternehmensweites Datenmodell
Anw
endu
ng I
Anw
endu
ng I
Anw
endu
ng I
IA
nwen
dung
II
Anw
endu
ng I
IIA
nwen
dung
III
Anw
endu
ng I
VA
nwen
dung
IV
Anw
endu
ng n
Anw
endu
ng n
• • • • • • •
Ablauf der AnwendungenAblauf der Anwendungen
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
12
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
13
Objektorientierte Analyse und Entwurf
Klassische Ho(r)st-Systemarchitektur
DatenbankmanagementsystemDatenbankmanagementsystem
Pro
gram
m I
Pro
gram
m I
Pro
gram
m I
IP
rogr
amm
II
Pro
gram
m I
IIP
rogr
amm
III
Pro
gram
m I
VP
rogr
amm
IV
Pro
gram
m n
Pro
gram
m n
• • • • • • •
TransaktionsmonitorTransaktionsmonitor
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
14
Objektorientierte Analyse und Entwurf
Architektur als Verteilte Dienste
Dienst VIDienst VI
Dienst IDienst I
Dienst IIIDienst III
Dienst IVDienst IV
Dienst IIDienst II
Dienst VIIDienst VII
Dienst VDienst V
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
15
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
16
Objektorientierte Analyse und Entwurf
Remote Procedure Call
Dienst I(Client)
Dienst I(Client)
Dienst II(Server)
Dienst II(Server)
Funktionspezifikationz.B. IDL in DCE
Server Stub
Client Stub
Transport-Infrastruktur
generiert
generiert
Client Program
Server Program
benutzt
benutzt
Ruft lokal auf
Ruft lokal auf Ergebnisrückgabe
Ergebnisrückgabe
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
17
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
18
Objektorientierte Analyse und Entwurf
Verteilte Objekte
Dienst VIDienst VDienst VI
Daten II
Dienst VIIDienst IXDienst X
Daten III
Dienst IDienst IIDienst III
Daten I
Dienst XIDienst XIIDienst XIII
Daten IV
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
19
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
20
Objektorientierte Analyse und Entwurf
Komponenten in einer Architektur
Komponentenschnittstelle:Angebot (synchr.) DiensteVerarbeitbare asynchrone
Nachrichten
Gekapselte Funktionen:Inneres VerhaltenVerantwortlichkeiten
Gekapselte Daten:Innere ZuständeTeil am Gesamtdatenmodell
GekapseltDaten
GekapselteFunktionen
Schnittstelle
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
21
Objektorientierte Analyse und Entwurf
Schnittstellen in einer Architektur
Eigenständiger Vermittler zwischen Komponenten
Realisiert durch Diensteerbringer
Genutzt durch Dienstenachfrager
Vertrag zwischen fach-lichem Client und Server
Syn-chron
Asyn-chron
benutzt
realisiert
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
22
Objektorientierte Analyse und Entwurf
Object Request Broker (ORB)
Syn-chron
Asyn-chron
benutzt
realisiert
ORB (Transportdienst)IDLClient Stub
Server Stub
Language Mapping
Language Mapping
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
23
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
24
Objektorientierte Analyse und Entwurf
OO-im-Großen vs. OO-im-Kleinen
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
25
Objektorientierte Analyse und Entwurf
Beispiel: Workflow „unter“ ORB
Arbeitsflüsse: Ereignisse, Vorgänge, Prozesse etc.Arbeitsflüsse: Ereignisse, Vorgänge, Prozesse etc.
Fun
ktio
n I
Fun
ktio
n I
Fun
ktio
n II
Fun
ktio
n II
Fun
ktio
n II
IF
unkt
ion
III
Fun
ktio
n IV
Fun
ktio
n IV
Fun
ktio
n V
Fun
ktio
n V
Fun
ktio
n V
IF
unkt
ion
VI
Fun
ktio
n n-
1F
unkt
ion
n-1
Fun
ktio
n n
Fun
ktio
n n
Datenbestände
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
26
Objektorientierte Analyse und Entwurf
Beispiel: Workflow „unter“ ORB
Objekt Request Broker
Workflow
Funktion n Funktion II IV, VI, n-1Funktion 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
27
Objektorientierte Analyse und Entwurf
„Unsere“ Komponentenarchitektur
Rahmenanwendung (in SmallTalk): Navigieren, Suchen und Beziehungsaufbau
Anwendung I Anwendung II
Objektwelt IIObjektwelt IEntfernte Beziehung
Anwendung III
Objektwelt III
registrieren
Dienste I Dienste II Dienste III
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
28
Objektorientierte Analyse und Entwurf
Client/Server-ArchitekturSoftwaretechnisch
Syn-chron
Asyn-chron
benutzt
realisiert
Hardwaretechnisch
Netz
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
29
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 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
30
Objektorientierte Analyse und Entwurf
Unsere Client/Server-Struktur
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA)
Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA)
DBServer (SQL + TM)DBServer (SQL + TM)DDEDDE
TCP/IP-Netz
PC
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
31
Objektorientierte Analyse und Entwurf
Unsere Client/Server-Struktur
• Fat Client• Kapselung der DBMS-Klienten
Server: Informix, Oracle, Sybase, Upic/UTMClient: VA, VSE, ISA-DM, C, Word
• BetriebssystemeServer: 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
32
Objektorientierte Analyse und Entwurf
Architektur mit Anwendungsserver
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Oberfläche, Anwendungs-logik und Persistenzschicht
in SmallTalk (VA)
Oberfläche, Anwendungs-logik und Persistenzschicht
in SmallTalk (VA)
DBServer (SQL + TM)DBServer (SQL + TM)
DDEDDE
TCP/IP-Netz
PC
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
TCP/IP-Netz
PC
Oberfläche
PC
Oberfläche
TCP/IP-Netz
AnwendungslogikAnwendungslogik
GeschäftsobjekteGeschäftsobjekte
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
33
Objektorientierte Analyse und Entwurf
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
34
Objektorientierte Analyse und Entwurf
Beispiel: Winframe
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Datenbank-Server
Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA)
Oberfläche, Anwendungslogik und Persistenzschicht in SmallTalk (VA)
DBServer (SQL + TM)DBServer (SQL + TM)DDEDDE
TCP/IP-Netz
Anw
endu
ngs-
serv
er
TCP/IP-Netz, WAN
NT-OberflächenemulationNT-Oberflächenemulation
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
35
Objektorientierte Analyse und Entwurf
WWW, HTML, Browser und Java
Verteilte Klassen versus verteilte Objekte
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
36
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
37
Objektorientierte Analyse und Entwurf
FragmentierungHorizontal Vertikal
GesamtbestandTeilbestand
Teilbestand
TeilbestandG
esam
tinf
orm
atio
n
Tei
linf
orm
atio
n
Tei
linf
orm
atio
n
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
38
Objektorientierte Analyse und Entwurf
ReplikationAsymmetrisch
Original-bestand
Kopie vomOriginal-bestand
Symmetrisch
Original-bestand I
Original-bestand II
¿ Konflikte ?
Systemarchitektur Prof. Dr. Michael Löwe, FHDW, Hannover
39
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
40
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
41
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
Recommended