Spezifikation und Entwurf von Software 23. Architektur verteilter Systeme Martin Glinz Seite 23-1
© 2002, 2004 by Martin Glinz. Alle Rechte vorbehalten. Reproduktion zum nicht kommerziellen Gebrauch mit Quellenangabe gestattet. Reproduktion - auch auszugsweise - zum kommerziellen Gebrauch nur mit schriftlicher Bewilligung des Verfassers gestattet.
23 Architektur verteilter Systeme 23.1 Grundlagen
✩ Warum verteilte Systeme?
❍ Realisierung autonomer, kooperierender Systeme
❍ Anpassung an geographisch verteilte Datenhaltungs- und verarbeitungsbedürfnisse
❍ Leistungssteigerung durch parallele Bearbeitung von Aufgaben
❍ Erhöhung der Zuverlässigkeit eines Systems
✩ Entwurfsprobleme bei verteilten Architekturen
❍ Systemtopologie
❍ Aufgabenverteilung
❍ Grad der Kopplung
❍ Datenredundanz
23.2 Verteilte Objekte – Client/Server-Architektur
❍ Geographisch verteilte Komponenten kommunizieren über Makler miteinander
❍ Komponenten werden über Schnittstelle angesprochen
❍ Schnittstelle ist programmiersprachen- und implementierungsunabhängig definiert
❍ Komponenten sind stark entkoppelt: kennen weder die Implementierung noch die geographische Lokalisierung der Partnerkomponenten.
❍ Beispiel: CORBA
❍ Realisiert häufig eine Client/Server-Architektur oder Middleware-Architektur
Spezifikation und Entwurf von Software 23. Architektur verteilter Systeme Martin Glinz Seite 23-3
Client/Server-Architektur unter Verwendung von CORBA
Klient (Client)
[CORBA API*]
Makler (Broker)
[CORBA ORB (Object Request Broker)]
[CORBA Object Adapter]
Schnittstelle Netzzugang
Lieferant (Server)
Klient (Client)
[CORBA API*]
Netzzugang
[CORBA Object Adapter]
Schnittstelle
Lieferant (Server) Klient (Client)
[CORBA API*]
[CORBA Object Adapter]
Schnittstelle
Lieferant (Server) Auftrag (Request)
Antwort (Answer)
...
...
**Typisch Datendienste wie Datenbanksystem(e), Dateisystem(e), Bildarchiv(e),...
** ** **
*Application Programmer Interface
23.3 Middleware-Architekturen
Drei-Schicht-Architekturen:
✩ Klienten (Clients)
✩ Dienste (Middleware)
✩ Lieferanten (Servers)
Middleware-Dienste:
❍ Kommunikation
❍ Schutz und Sicherheit
❍ Informationsdienste: Verwaltung, Aufbereitung, Koordination
❍ Ablaufsteuerung
❍ Präsentation
Spezifikation und Entwurf von Software 23. Architektur verteilter Systeme Martin Glinz Seite 23-5
Prinzip einer Middleware-Architektur
Klient (Client)
Lieferant (Server)
Klient (Client)
Lieferant (Server) Klient (Client)
Lieferant (Server)
...
...
Middleware
23.4 Bus-Architektur
...
Sender Mit- hörer Komponente
Bus Sender Mit-
hörer Komponente
Sender Mit- hörer Komponente
Busverwalter
❍ Steckbare Komponenten auf Bus
❍ Globaler Nachrichtenversand über Bus
❍ Sehr flexibel, im laufenden Betrieb änderbar
❍ Einsatz u.a. in der industriellen Prozessleittechnik