Lade...
 

CORBA

CORBA

Um die ClassiX®-Corba Schnittstelle einsetzen zu können, muss zunächst eine CORBA-Umgebung installiert werden. ClassiX® nutzt TAO als CORBA-Lösung.

Installation

Hier reicht es, das Verzeichnis \classix\bin\ACETAO in den Suchpfad aufzunehmen. Das Verzeichnis enthält eine Reihe von DLLs und eine .EXE-Datei, die den Naming Service (siehe unten) darstellt. Die Dlls müssen für alle Benutzbar lesbar und auch ausführbar sein.

Die Installation ist damit abgeschlossen.

Naming Service

Sobald Messages via SendMsg(..., REMOTE) zwischen verschiedenen ClassiX®-Instanzen ausgetauscht werden sollen, muss im Netzwerk ein Corba Naming Service vorhanden sein. Über diesen finden sich die einzelnen Instanzen.

Naming_Service.exe stellt den Naming Service von TAO dar. Das Programm tätigt gibt im normalen Betrieb keine Meldungen aus.

Hinweis: Ab ClassiX 4.5 heißt das Programm tao_cosnaming.exe. Bitte rufen Sie es als Multicast mit -m 1 auf.

Beim Aufruf des Naming Service sollte ein TCP/IP-Port festgelegt werden, über den Verbindungen entgegengenommen werden. Diese geschieht über folgende Kommandozeile:

Naming_Service.exe -ORBEndPoint iiop://hostname:port

Dabei sind hostname und port durch die gewünschten Werte zu ersetzen. Wenn der Naming Service für andere Rechner im Netz erreichbar sein soll, dann muss hostname eine externe Schnittstelle bezeichen - die Adresse des lokalen Loopback-Interfaces (127.0.0.1) ist dafür nicht geeignet. Natürlich müssen Router und ggf. eine Firewall im Netz so konfiguriert sein, dass alle Rechner die auf den Service zugreifen müssen auch tatsächlich verbunden werden können.  Weiterhin muss Naming_Service.exe berechtigt sein, an den angegebenen Port zu binden.

Auf Client-Seite, ist die Adresse entweder in einer Umgebungsvariable abzulegen:

SET NameServiceIOR=corbaloc:iiop:hostname:port/NameService

oder sie muss per Kommandozeilenparameter übergeben werden:

cx_osr.exe -ORBInitRef NameService=corbaloc:iiop:hostname:port/NameService

Testen der Corba-Umgebung

Sollten sie Zugriff auf das ClassiX Cxsendmsg-Tool haben, können Sie damit Testen, ob der Corba Naming Service in Ihrem Netzwerk grundsätzlich funktioniert. Ausgehend von einem Netzwerk in dem bisher noch keine Corba-Anwendungen laufen führen Sie dazu die folgenden Schritte aus:

  • Starten Sie den Corba Naming Service auf einer Konsole wie oben beschrieben:
    Naming_Service.exe -ORBEndPoint iiop://localhost:12345
  • Starten Sie auf einer weiteren Konsole auf dem selben Rechner Cxsendmsg im Empfänger-Modus:
    cxsendmsg.exe -P -N -l corbareceive -ORBInitRef NameService=corbaloc:iiop:localhost:12345/NameService
  • Starten Sie auf einer weiteren Konsole auf dem selben Rechner Cxsendmsg im Sender-Modus:

    cxsendmsg.exe -S -r corbareceive -m TEST_CORBA -ORBInitRef NameService=corbaloc:iiop:localhost:12345/NameService

    Sie sollten nun auf der Konsole des Cxsendmsg-Empfängers des Eintreffen einer Nachricht erkennen können ("TEST_CORBA"). Durch die Angabe "localhost" oben nimmt der Naming Service nur Anfragen die vom eigenen Rechner kommen entgegen. Wenn dieser erste Test geglückt ist, überprüfen sie ob auch über das Netzwerk Verbindungen zustande kommen. Beenden Sie dazu zuerst den Naming Service. Führen sie dann die oben genannten Punkte erneut durch, aber ersetzen Sie alle drei Vorkommnisse von "localhost" durch eine IP-Adresse, die ein externes Interface bezeichnet. Rufen Sie außerdem Cxsendmsg auf verschiedenen Rechnern aus. Sie sollten auch unter diesen Umständen das Eintreffen einer Nachricht sehen.

    Fehler

    Wird kein Naming Service gefunden, erscheint eine Fehlermeldung, sobald Funktionen wie EnableRemoteMessages oder RemoteClients aufgerufen werden. Um dies zu vermeiden, kann mit der Funktion RemoteServicesAvailable vorher geprüft werden, ob CORBA (bzw. ein anderer Remote Service) überhaupt verfügbar ist.

    Automatische Anmeldung Nachkalkulation Nachtlauf

    Das Benutzerpasswort für Nachtläufe (Nachkalkulation) darf nicht länger als 13 Zeichen lang sein und darf ebenfalls keine Zahlen enthalten, ansonsten gibt es folgende Fehlermeldung:

     

    Verwandte Themen

     

InstantView Scriptsprache