next up previous contents
Next: Übersetzung der IDL-Dateien in Up: Implementierung der CORBA-Objekte für Previous: Implementierung der CORBA-Objekte für

Überblick über VisiBroker for Java

  Für die Entwicklung des Prototypen wurde das Produkt VisiBroker for Java der Firma Visigenic[*], das seit April 1996 erhältlich ist, eingesetzt. Die Implementierung basiert auf der Version 3.0 vom September 1997. Zu diesem Zeitpunkt wurde der Markt der Java-ORBs vor allem von drei Produkten beherrscht: Visigenic's VisiBroker for Java, IONA's OrbixWeb und Sun's Joe. Die Auswahl des geeignetsten Produkts war Aufgabe vor Beginn der Implementierung. Die Entscheidung wurde anhand des Vergleichs der ORBs in [VD97] und durch einen Test der frei verfügbaren Evaluierungsversionen von OrbixWeb und VisiBroker getroffen. Folgende Anforderungen sollte das Produkt erfüllen:

Joe scheiterte an der zweiten Anforderung, da zu diesem Zeitpunkt nur die Entwicklung von Java-Clients möglich war. OrbixWeb und VisiBroker boten im wesentlichen die gleiche Funktionalität. Die Entscheidung fiel aus folgenden Gründen auf den VisiBroker, der die obigen Anforderungen am besten erüllte:

Alle Leistungsmerkmale des VisiBroker aufzuführen, würde an dieser Stelle zu weit führen. Daher werden in diesem Überblick nur die wichtigsten Funktionen genannt, die für die Implementierung des Prototypen benötigt werden. Für Details sei auf die Manuale [Vis97b] und [Vis97c] verwiesen.

Der IDL-Compiler idl2java zur Übersetzung der IDL-Objektbeschreibungen des Objektmodells wird im Abschnitt 6.3.2 beschrieben.

Der ORB ermöglicht die transparente Kommunikation zwischen den verteilten CORBA-Objekten. Ruft ein Client eine Methode auf einem ihm bekannten Objekt auf, lokalisiert der ORB das entsprechende Objekt, leitet den Aufruf weiter und gibt das Ergebnis an den Client zurück. Der ORB ist kein separater Prozeß, sondern eine Sammlung von Java-Klassen in einem Archiv, die zur Laufzeit von der Java-VM zu den Clients bzw. Servern hinzugebunden werden. Diese Klassen müssen auf allen Rechnern installiert sein, auf denen CORBA-Objekte laufen sollen.

Der Smart Agent ist ein Dämon zur einfacheren Lokalisation von CORBA-Objekten. Es handelt sich hierbei um eine proprietäre Erweiterung der CORBA-Spezifikation. Server-Objekte registrieren sich bei ihrer Aktivierung bei dem Agenten. Mit seiner Hilfe können sich Clients über den Objektnamen und dem optionalen Hostnamen an ein Server-Objekt binden, das heißt, dessen IOR ermitteln. Diese Funktionalität ist nicht mit dem CORBA Naming-Service zu verwechseln. Tatsächlich sollte dieser Dienst eine standardisierte Lokalisierungsfunktion bereitstellen und den Smart Agent überflüssig machen. Unglücklicherweise ist der Betrieb des Visigenic Naming-Service auch nur bei vorhandenem Smart Agent möglich, da der ORB den Bootstrap-Mechanismus über die Operation list_initial_references() noch nicht unterstützt. Für den Fall, daß sich der Einsatz des Smart Agent verbietet, weil z.B. auf Objekte über einen Fremd-ORB zugegriffen wird, muß der umständliche und komplizierte Umweg über sog. stringified IORs, die in fest definierten Dateien abgelegt werden, gegangen werden. Der Smart Agent wird über das Kommando osagent [-v] & gestartet. Er ist ausschließlich unter Solaris bzw. Windows NT lauffähig, muß aber nur einmal im Netz vorhanden sein, solange er von allen Objekten per UDP-Broadcast erreichbar ist.

Bei Verwendung des Smart Agent kann auch eine automatische Objektaktivierung genutzt werden. Normalerweise müssen die CORBA-Objekte über ein Server-Programm kreiert und aktiviert werden (siehe Abschnitt 6.3.5), bevor ein Client auf sie zugreifen kann. Wird auf jedem Rechner mit CORBA-Objekten der sog. Object Activation Daemon (OAD) gestartet, kann der Smart Agent Objekte bei Bedarf, das heißt bei Aufruf durch einen Client, starten. Dazu müssen die Objekte mit Name und IDL-Schnittstelle mit Hilfe des Werkzeugs oadutil einmalig beim OAD, der das CORBA Implementation Repository implementiert, registriert werden.

Weiterhin bietet VisiBroker for Java ein Interface Repository (IR) zur Registrierung von Objektschnittstellen, welches über Kommandozeilen-Tools oder zur Laufzeit von Objekten abgefragt werden kann.

Für den Betrieb des VisiBroker müssen folgende Umgebungsvariablen gesetzt bzw. angepaßt werden.[*]

PATH:
Ergänzen um die Pfade zu den JDK- und VisiBroker-Executables. Es ist unbedingt darauf zu achten, daß sich nur der Java-Compiler und die Java-VM des JDK 1.1.2 oder höher im Suchpfad befinden. Anderenfalls treten schwer zu lokalisierende Fehler auf.
CLASSPATH:
Ergänzen um die Pfade zu den Klassenarchiven für den ORB und die CORBA Services.
VBROKER_ADM:
Verzeichnis, auf das der Smart Agent schreibend zugreifen darf. Enthält Log-Dateien, Interface und Implementation Repository.
OSAGENT_ADDR:
(optional) IP-Adresse des Rechners, auf dem der osagent läuft. Wird andernfalls über einen UDP-Broadcast ermittelt.
OSAGENT_PORT:
(optional) Portnummer des osagent, falls nicht der Default-Port 14000 verwendet wird.
LD_LIBRARY_PATH:
Bei Verwendung des JNI (siehe Abschnitt 6.3.4) muß das Verzeichnis für die erzeugten Bibliotheken angegeben werden.

next up previous contents
Next: Übersetzung der IDL-Dateien in Up: Implementierung der CORBA-Objekte für Previous: Implementierung der CORBA-Objekte für
Copyright Munich Network Management Team