4.2. Communication between the System Applications

IOR inquiry and answer between CoreMedia Client and Server

Figure 4.1. IOR inquiry and answer between CoreMedia Client and Server


CORBA is used for the communication between CoreMedia system applications. All CoreMedia applications require the IOR of the Content Server which they want to communicate with. The IOR of the Content Server will be delivered by the server via the HTTP protocol.

  • All applications require the IOR of the Content Server with which they want to communicate.

  • The URL where to get the IOR of the Content Server is configured with the parameter cap.client.server.ior.url=<IOR-URL> in the file capclient.properties.

  • The value of the parameter is http://<server>:<port>/coremedia/ior. Instead of <server> you have to insert the name of the computer where the server is running. Instead of <port> you have to insert the HTTP port on which the client connects to the server. Both values are defined in the contentserver.properties file.

  • Example: The Content Server host has the name productionserver and the contentserver.properties file contains the property cap.server.http.port=44445. In this case, you can obtain the IOR with the following URL:

  • cap.client.server.ior.url=http://productionserver:44445/coremedia/ior

The Content Management Server/Live Server embed their own host names into the IOR which must be resolved by the client machines. If this is not possible by the client, you can configure the server to embed a numeric IP address into the IOR. To do so, set the ORB property com.sun.CORBA.ORBServerHost. In the following example, the ORB is configured to embed its numeric address, by setting a system property:

-Dcom.sun.CORBA.ORBServerHost="10.1.3.253"

All CoreMedia applications deployed as web applications expect an ORB to be provided by the application server. To use the application server ORB you have to provide the JNDI name of the ORB in the property com.coremedia.orb.jndiName, for example:

com.coremedia.orb.jndiName=java:comp/ORB

If this property is left empty, each CoreMedia application will create its own ORB.

For Tomcat deployment, CoreMedia provides an integration of the Oracle JDK ORB. Take a look at the tomcat-config module in the CoreMedia Blueprint workspace for further details. All system properties defined, for example, in Tomcat's setenv.sh / setenv.bat are passed on as configuration properties to the ORB.

For WebSphere deployment, CoreMedia provides an integration of the IBM JDK ORB (see CoreMedia IBM Deployment Manual for IBM specific deployment).

As said before, classic CoreMedia client applications read its capclient.properties file to access the property cap.client.server.ior.url for the IOR URL of the server. Newer CAE/Spring/Unified API based clients read its Spring configuration file (repository.xml, CapConnectionFactory...) to access the server IOR. When Content Servers act as clients to access other Content Servers, they read the IOR URL from other configuration files:

  • The Content Management Server must know the IOR of the Master Live Server during publication.

  • The IOR URL is stored in the property publisher.target.ior.url of the file publisher.properties.

  • The Replication Live Server (when installed) has to communicate with its Master Live Server.

  • The IOR URL is stored in the property replicator.publicationIorUrl of the file replicator.properties.