Loading...
 

CORBA

CORBA

To use the ClassiX®-Corba interface, a CORBA environment must first be installed. ClassiX® uses TAO as CORBA solution.

Installation

Here it is enough to download the directory \classix\bin\ACETAO in the search path. The directory contains a number of DLLs and an .EXE file representing the Naming Service (see below). The dlls must be readable and also executable for all users.

The installation is now complete.

Naming Service

As soon as messages via SendMsg(..., REMOTE) are to be exchanged between different ClassiX® instances, a Corba Naming Service must be available in the network. The individual instances can be found via this service.

Naming_Service.exe represents the naming service of TAO. The programme does not issue any messages during normal operation.

Note: From ClassiX 4.5 on the programme is called tao_cosnaming.exe . Please call it as multicast with -m 1 on.

When calling the Naming Service, a TCP/IP port should be specified to receive connections. This is done via the following command line:

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

Replace hostname and port with the desired values. If the naming service is to be accessible to other computers in the network, hostname must designate an external interface - the address of the local loopback interface (127.0.0.1) is not suitable for this. Of course, routers and possibly a firewall in the network must be configured so that all computers that need to access the service can actually be connected. Furthermore, Naming_Service.exe must be authorised to bind to the specified port.

On the client side, the address is either stored in an environment variable:

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

or it must be passed by command line parameters:

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

Testing the Corba environment

If you have access to the ClassiX Cxsendmsg tool, you can use it to test whether the Corba Naming Service basically works in your network. Starting from a network in which no Corba applications are running yet, please follow the steps below:

  • Start the Corba Naming Service on a console as described above:
    Naming_Service.exe -ORBEndPoint iiop://localhost:12345
  • Start Cxsendmsg in receiver mode on another console on the same computer:
    cxsendmsg.exe -P -N -l corbareceive -ORBInitRef NameService=corbaloc:iiop:localhost:12345/NameService
  • Start Cxsendmsg in Sender mode on another console on the same computer:
    cxsendmsg.exe -S -r corbareceive -m TEST_CORBA -ORBInitRef NameService=corbaloc:iiop:localhost:12345/NameService

    You should now be able to see the arrival of a message on the console of the Cxsendmsg receiver ("TEST_CORBA"). By specifying "localhost" above, the Naming Service only accepts requests coming from its own computer. If this first test is successful, check whether connections can be established via the network. To do this, first stop the Naming Service. Then carry out the above mentioned points again, but replace all three occurrences of "localhost" with an IP address that designates an external interface. Also call Cxsendmsg on different computers. You should also see the arrival of a message under these circumstances.

    Error

    If no naming service is found, an error message appears when functions such as EnableRemoteMessages or RemoteClients are called. To avoid this, the function RemoteServicesAvailable can be used to check in advance whether CORBA (or another remote service) is available at all.

    Automatic login Post-calculation night run

    The user password for night runs (post-calculation) must not be longer than 13 characters and must also not contain any numbers, otherwise the following error message is displayed:

    Related topics