und Komponenten-Technologien in der Modellierung ... - CES - KIT
und Komponenten-Technologien in der Modellierung ... - CES - KIT
und Komponenten-Technologien in der Modellierung ... - CES - KIT
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2 Gr<strong>und</strong>lagen 45<br />
Der Sicherheitsdienst, <strong>der</strong> es ermöglicht, Nachrichten zu authentifizieren, den Objektzugriff<br />
zu autorisieren <strong>und</strong> damit e<strong>in</strong>e sichere Kommunikation umzusetzen.<br />
- CORBA-Facilities: Dabei handelt es sich um e<strong>in</strong> komplettes Rahmenwerk anwendungsspezifischer<br />
Dienste, die wie<strong>der</strong>um <strong>in</strong> horizontale, funktionsspezifische (Benutzerschnittstellen,<br />
Systemmanagement) <strong>und</strong> vertikale, auf spezielle Anwendungsdomänen (mobile<br />
Agenten, Workflow Management, Bus<strong>in</strong>ess Objects) zugeschnittene Dienste unterteilt werden.<br />
2.5.3.2 Die ORB-Architektur<br />
Zur Programmierung von CORBA-Anwendungen benötigt man e<strong>in</strong>e Programmiersprache, die<br />
CORBA unterstützt. Dazu gehören heute z.B. C, C++, Smalltalk, Ada, Cobol <strong>und</strong> natürlich<br />
Java.<br />
Client X ruft<br />
Methode M<br />
von Server Y<br />
auf<br />
Object Request Broker<br />
Server Y stellt<br />
Methode M<br />
zur Verfügung<br />
Java C++<br />
IDL IDL<br />
Abb. 2.5.3.2.1: Kommunikation zwischen Client- <strong>und</strong> Server-Objekt über den ORB<br />
Damit die heterogenen <strong>in</strong> verschiedenen Programmiersprachen geschriebenen <strong>und</strong> auf unterschiedlichen<br />
HW-Plattformen ablaufenden Teilstücke e<strong>in</strong>er CORBA-Anwendung mite<strong>in</strong>an<strong>der</strong><br />
kooperieren können, stellt CORBA die Schnittstellenbeschreibungssprache IDL (Interface Def<strong>in</strong>ition<br />
Language) zur Verfügung. Syntaktisch ist die IDL stark an C++ angelehnt, besitzt jedoch,<br />
da sie ausschließlich zur e<strong>in</strong>heitlichen implementierungsunabhängigen Beschreibung <strong>der</strong><br />
exportierten Objektattribute <strong>und</strong> -methoden dient, ke<strong>in</strong>e algorithmischen Elemente.<br />
Abb. 2.5.3.2.1 zeigt das Pr<strong>in</strong>zip <strong>der</strong> CORBA-basierten objektorientierten Client/Server-Kommunikation.<br />
In diesem Beispiel ruft e<strong>in</strong> <strong>in</strong> Java geschriebenes Client-Objekt e<strong>in</strong>e Methode e<strong>in</strong>es<br />
<strong>in</strong> C++ implementierten Server-Objekts auf. Für den Client ist <strong>der</strong> Prozess <strong>der</strong> Lokalisierung<br />
des Server-Objekts verdeckt, d.h. Objekte werden durch Objektreferenzen identifiziert,<br />
die nicht die Kenntnis des aktuellen Rechners, auf dem sich das Objekt bef<strong>in</strong>det, voraussetzen<br />
(transparente Verteilung von Objekten). Zum besseren Verständnis des ORBs wird se<strong>in</strong>e Ar-