CORBA Kommunikation und Management

Springer Berlin Heidelberg New York Barcelona Budapest Hongkong London Mailand Paris Singapur Tokio

Claudia Linnhoff-Popien

CORBA

KOInmunikation und ManageInent

Mit 167 Abbildungen und 7 Tabellen

Springer

Dr. Claudia Linnhoff-Popien Lehrstuhl fur Informatik IV RWTHAachen AhornstraBe 55, D-52056 Aachen

ISBN-13:978-3-642-72116-8 Die Deutsche Bibliothek - Einheitsaufnahme Linnhoff-Popien, Claudia: CORBA - Kommunikation und Management/Claudia LinnhoffPopien. - Berlin; Heidelberg; New York; Barcelona; Budapest; Hongkong; London; Mailand; Paris; Singapur; Tokio: Springer, 1998 ISBN-13:978-3-642-72116-8 e-ISBN-13:978-3-642-72IIS-1 DOl: lO.lOO7/978-3-642-7211S-1

Dieses Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbesondere die der Obersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfiiltigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine VervielfaItigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland yom 9. September 1965 in der jeweils geltenden Fassung zulassig. Sie ist grundsiitzlich vergiitungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. © Springer-Vedag Berlin Heidelberg 1998 Softcowr reprint of the hardcover 1st edition 1998

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daB solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von jedermann benutzt werden diirften. Umschlaggestaltung: Kiinkel + Lopka, Werbeagentur, Heidelberg Satz: Reproduktionsfertige Vorlagen der Autorin SPIN 10663054 33/3142- 5 4 3 210 - Gedruckt auf siiurefreiem Papier

Vorwort

Haben Sie auf unterschiedlichen Plattformen wichtige Programme, die Sie hliufig benutzen? Sind Sie gerade am Uberlegen, we1che Verteilungsinfrastruktur Sie Ihrem Untemehmen fiir ein IT -Konzept vorschlagen konnen, das auch im nachsten Jahrtausend noch Bestand hat? Haben Sie bereits erste Erfahrungen zum Beispiel mit CORBA gemacht und sind nun enttauscht, daB alles viel zu langsam lauft? Oder aber fiirchten Sie, daB Ihr System den standig wachsenden Nutzeranforderungen nicht mehr gerecht werdenkann? Dann lohnt es sich vielleicht, einen Blick in die vor Ihnen liegenden Seiten zu werfen. Sicherlich werden Sie aus der Ftille der betrachteten Architekturen und der Vielzahl der Erfahrungen, die mittels prototypischer Implementierungen gemacht wurden, einige hilfreiche Anregungen entnehmen konnen. Das vorliegende Buch entstand innerhalb der letzten zwei Jahre und basiert auf Ergebnissen meiner Habilitationsschrift, die hier urn praktische Aspekte erweitert wurde. Am Lehrstuhl des von mir sehr geschlitzten Professor Dr. Otto Spaniol (RWTH Aachen) fand ich stets den Freiraum, neue Dinge auszuprobieren und personliche Interessen mit dienstlichen pflichten zu verbinden _. eine solide Basis, urn auch geme tiber die normale Arbeitszeit hinaus Stunden an Schreibtisch und Rechner zu verbringen. Die Herren Professoren Alexander Schill (TU Dresden) und Martti Tienari (Uni Helsinki) haben sich ebenfalls intensiv mit dem Inhalt dieser Seiten beschliftigt und gaben noch manchen wertvollen Hinweis. Ftir dieses Arbeitsumfeld bedanke ich mich herzlich. Sehr fruchtbare Anregungen ergeben sich stets aus Diskussionen am Rande von Konferenzen und Projekten. Besonders wertvolle Impulse fiir meine Arbeit erhielt ich in zahlreichen kritisch-konstruktiven Gesprachen insbesondere mit Eike Gegenmantel (Philips Aachen), Matthias Leclerc (Dresdner Bank Frankfurt), Luigi Logrippo (University of Ottawa), Zoran Milosevic (DSTC Brisbane), Elie Najm (ENST Paris), Dorina Petriu und Jerome Rolia (Carleton University of Ottawa), Doug Schmidt (Washington University of St. Louis) und Gerd Schtirmann (GMD Fokus Berlin).

VI

Vorwort

Von unschatzbarem fachlichen Wert waren stets die lebendigen Diskussionen und Arbeiten in unserer Forschungsgruppe ,Verteilte Systeme' an der RWTH Aachen. Allen Kollegen und Diplomanden gilt mein besonderer Dank. Stefan Gruner hat enormen Anteil am Korrekturlesen und an originellen Kommentaren. Tobias Haustein hat mich sehr durch seinen elanvollgewissenhaften Arbeitsstil beeindruckt. Axel KUpper ist mit seiner fursorglichen Offenheit wohl einer meiner herausfordernsten Kritiker. An Steffen Lipperts mag ich die herzlich-direkte Art, Dinge einfach auf den Punkt zu bringen. Stefan Meier habe ich sehr hinsichtlich seiner beharrlichen Arbeitsweise geschatzt. Bernd Meyer hat entscheidenen Anteil an den fundamentalen Grundsteinen. Peter Reichl erinnerte mich stets daran, neben der Arbeit auch die anderen Dinge des Lebens nicht zu verges sen. Michael Semrau hatte eine angenehm-ruhige Art. Und an Dirk ThiBen mag ich das unkompliziert-kreative Engagement, das dem einer groBen Ameise ahneln konnte. Und dann sind da noch die vielen Kleinigkeiten, die am Ende alles so machen, wie es sein solI und die doch niemand mehr sieht. Frank Imhoff hat neben der Gestaltung von Graphiken und Layout an so manchem Abend den Bus durch eine personliche Nach-Hause-Fahrt ersetzt. Thomas Lewandowski hat ebenfalls Anteil an der vorliegenden Gestaltung. Mein Bruder rettete mich mit kulinarischen Kostlichkeiten oft vor dem Verhungern. Doch am wichtigsten war stets das behagliche Gefiihl, daB mein Ehemann mir auch in StreBzeiten verlieh: da ist jemand, der immer fur mich da ist, der gerne auf mich wartet und mein Leben mit meiner Arbeit akzeptiert.

Aachen, im Juli 1998

Claudia Linnhoff-Popien

Inhaltsverzeichnis

1

Einleitung ........................................................................................... 1

2

Verteilte Objekte in CORBA ............................................................. 7 2.1 Verteilte Systeme und Verteilungsplattformen................................. 7 2.1.1 Prinzip Verteilter Systeme ..................................................... 7 2.1.2 DCOM, CORBA und Java-RMI ......................................... 19 2.2 Der CORBA-Ansatz .................................................................... 25 2.2.1 Die Object Management Architecture .................................. 26 2.2.2 Der Object Request Broker ................................................. 29 2.2.3 Die CORBA-Komponenten ................................................. 36 2.2.4 CORBA und InteroperabiliUit. ............................................. 37 2.2.5 Verschiedene CORBA-Implementierungen ......................... .41 2.3 Objektorientierter Entwurf Verteilter Systeme .............................. 50

3

CORB A -Dienste .............................................................................. 73 3.1 Uberblick tiber CORBA-Dienste .................................................. 73 3.2 Quality of Service und Dienstvermittlung ..................................... 79 3.2.1 Der Tradingdienst ............................................................... 80 3.2.2 QualiUitsmerkmale von Diensten ......................................... 83 3.2.3 AbsUinde zwischen Diensten................................................ 90 3.2.4 Implementation der Evaluationskomponente ...................... 102

4

Datentransfer in CORBA .............................................................. 135 4.1 Asynchrone Kommunikation in CORBA .................................... 135 4.1.1 Auswahl von Hardware ..................................................... 143 4.1.2 Client- und Serverterminierung .......................................... 148

VIII

Inhaltsverzelchnls

4.1.3 Mechanismen zum Datentransfer. ...................................... 149 4.1.4 Caching und Polling .......................................................... 153 4.2 Multicast-Kommunikation in CORBA. ....................................... 157 4.2.1 Klassifikation von Gruppenkommunikation ....................... 158 4.2.2 Entwurfsaspekte der Gruppenkommunikation .................... 161 4.2.3 Bewertung einer Multicast-Architektur .............................. 172

5

Monitoring und Management in CORBA ..................................... 183 5.1 Monitoring und Uhrensynchronisation ........................................ 184 5.1.1 Zeit stempel in Orbix ......................................................... 184 5.1.2 Synchronisation von Systemuhren ..................................... 187 5.1.3 Der CORBA-Monitor ....................................................... 191 5.2 Ereignisbasiertes CORBA-Managernent.. ................................... 195 5.2.1 Der CORBA-Manager ...................................................... 195 5.2.2 Die Verwaltung der Managed Objects ............................... 196 5.3 Bottlenecks ................................................................................ 199

6

Replikation, Migration und Lastverteilung in CORBA.••..•••••.•...•• 203 6.1 Datenreplikation ........................................................................ 208 6.1.1 Read One Write All Algorithrnen ....................................... 208 6.1.2 Quorum Consensus Algorithmen ....................................... 210 6.2 Objektreplikation ....................................................................... 211 6.2.1 Architekturen zur Objektreplikation ................................... 212 6.2.2 Implementation einer Replikationsarchitektur ..................... 227 6.2.3 Bewertung der Replikationsarchitektur .............................. 236 6.3 Objektrnigration ......................................................................... 245 6.3.1 Mobile Agenten ................................................................ 245 6.3.2 Das Plug In ModeL .......................................................... 247 6.3.3 Bewertung des Plug In Models .......................................... 257 6.4 Load Balancing.......................................................................... 262 6.4.1 Ansatze zum Load Balancing ............................................ 263 6.4.2 Architektur zum dynarnischen Load Balancing .................. 268 6.4.3 Bewertung der Load Balancing Implementation ................. 276

Inhaltsverzeichnis

7

IX

ModeUierung und Analyse von ClientiServer-Systemen ............... 291 7.1 Modellierung von ClientJServer-Systemen .................................. 291 7.2 Analyse von Broadcastanfragen ................................................. 297 7.3 Analyse von Multicastanfragen .................................................. 316 7.4 Veriftkation mittels Petrinetzen .................................................. 322 7.5 Vergleich der Verfahren ............................................................. 329

8

Einordnung und Ausblick .............................................................. 337

Abkiirzungen........................................................................................ 343

Literatur .............................................................................................. 349

Index .................................................................................................... 363