Consortium    Solutions    Middleware    Forge    MyObjectWeb 
ObjectWeb Consortium
Print

Advanced - Powered by Google






OpenCCM

Project Links
· Home
· Download
· Documentation
· Mailing Lists
· Wiki
· Partners
· License
· History
· Related projects

Developers' Corner
· How to Contribute
· Workplan
· Resources
· CVS Repository
· Bug Tracking
· ObjectWeb Forge Site
· User Mailing List
· Team Mailing List

About
· Team
· Contacts

Table of Contents

  1. Availability
    1. Requirements
    2. Extra Requirements
    3. Supported CORBA Products
    4. Fully Supported Configurations
  2. Distribution
    1. Extracting the contents of the OpenCCM archive
    2. The contents of the OpenCCM archive
  3. Configuration Instructions
  4. Compilation Instructions
    1. Compiling OpenCCM
    2. Generating OpenCCM Documentation
    3. Compilation Results
  5. Installation Instructions
    1. Installing OpenCCM
    2. Installation Results
  6. Installation Instructions for PDA under Windows CE
    1. Requirements
    2. OpenCCM distribution architecture for PDA
    3. Installing OpenCCM on a PDA
    4. Starting an OpenCCM Java ComponentServer on your device
    5. Starting an OpenCCM Node Manager on your device
    6. Starting an OpenCCM Assembly Factory on your device
    7. Starting a deployment process from your device
    8. Tear down the Assembly

Availability

Requirements

To work correctly, OpenCCM has the following mandatory requirements:

Extra Requirements

You may have to provide the following extra requirements:

Supported CORBA Products

Currently, OpenCCM is supported on the following CORBA products:

ORB nameURL for downloading
Borland Enterprise Server 5.0.2 and 5.2 for Java http://www.borland.com/besappserver/index.html
JacORB 2.0 http://www.jacorb.org
ORBacus 4.1.x for Java http://www.iona.com/products/orbacus_home.htm
The Community OpenORB 1.2.1, 1.3.0, 1.3.1 and 1.4.0 http://openorb.sourceforge.net

If you want to use the CosTrading Service (mainly for deployment purpose), you need to have a CosTrading Service implementation. The table below shows currently fully supported configuration of CosTrading Services.

ORB nameTrading Service Product
Borland Enterprise Server 5.0.2 and 5.2 for JavaNone
JacORB 2.0JacORB Trading Service 2.0
ORBacus 4.1.x for JavaORBacus Trader 2.0
The Community OpenORB 1.2.1, 1.3.0, 1.3.1 and 1.4.0The Community OpenORB CosTrading Service 1.3.0, 1.3.1 and 1.4.0

Warning: For The Community OpenORB 1.4.0, it is required to download at least all the following packages and uncompress them in a same directory.

OpenORB module nameComments
OpenORBRequired
toolsRequired
NamingServiceRequired
TransactionServiceOnly required if the CosTransactions Service will be used
TradingServiceOnly required if the CosTrading Service will be used
PersistentStateServiceOnly required if the CosTrading Service will be used
EvaluatorUtilityOnly required if the CosTrading Service will be used

Fully Supported Configurations

Currently, OpenCCM was successfully tested on the following configurations:

ORB name and releaseOperating systemJava compiler
Borland Enterprise Server 5.0.2 for JavaLinux SUN JDK 1.3.1
Borland Enterprise Server 5.0.2 for JavaWindows SUN JDK 1.3.1
Borland Enterprise Server 5.2 for JavaWindows XP SUN J2SDK 1.4.1-r_02
JacORB 2.0Linux SUN JDK 1.3.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.2
JacORB 2.0Windows XP SUN J2SDK 1.4.1-r_02
SUN J2SDK 1.4.2
OpenORB 1.2.1Linux SUN JDK 1.3.1
SUN J2SDK 1.4.0
OpenORB 1.2.1SolarisSUN JDK 1.3.1
OpenORB 1.2.1Windows XP SUN JDK 1.3.1
SUN J2SDK 1.4.0
SUN J2SDK 1.4.1-r_02
OpenORB 1.3.0Linux SUN JDK 1.3.1
SUN JDK 1.3.1_03
SUN JDK 1.3.1_04
SUN J2SDK 1.4.0
SUN J2SDK 1.4.0_01
SUN J2SDK 1.4.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.2
OpenORB 1.3.0SolarisSUN JDK 1.3.1
OpenORB 1.3.0Windows 2000 SUN JDK 1.3.1_03
SUN J2SDK 1.4.0
SUN J2SDK 1.4.2
OpenORB 1.3.0Windows XP SUN JDK 1.3.1
SUN JDK 1.3.1_03
SUN JDK 1.3.1_04
SUN J2SDK 1.4.0
SUN J2SDK 1.4.0_01
SUN J2SDK-1.4.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.1-r_02
SUN J2SDK 1.4.2
OpenORB 1.3.1LinuxSUN J2SDK 1.4.2
OpenORB 1.4.0Linux SUN J2SDK 1.4.0
Blackdown J2SDK 1.4.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.2
OpenORB 1.4.0Windows XP SUN J2SDK 1.4.0
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.1-r_02
SUN J2SDK 1.4.2
ORBacus 4.1.0 for JavaLinux SUN JDK 1.3.1
SUN JDK 1.3.1_03
SUN JDK 1.3.1_04
SUN J2SDK 1.4.0
SUN J2SDK 1.4.0_01
Blackdown J2SDK 1.4.1
SUN J2SDK 1.4.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.1_03
SUN J2SDK 1.4.2
ORBacus 4.1.0 for JavaSolarisSUN JDK 1.3.1
ORBacus 4.1.0 for JavaWindows 2000 SUN JDK 1.3.1
SUN JDK 1.3.1_03
SUN J2SDK 1.4.0
SUN J2SDK 1.4.2
ORBacus 4.1.0 for JavaWindows XP SUN JDK 1.3.1
SUN JDK 1.3.1_03
SUN JDK 1.3.1_04
SUN J2SDK 1.4.0
SUN J2SDK 1.4.0_01
SUN J2SDK 1.4.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.1-r_02
SUN J2SDK 1.4.2
ORBacus 4.1.0 for JavaWinCE 2.x and 3.0 JVM J9 IBM

Thanks you to report to the OpenCCM community mailing list any other configurations where you have successfully tested OpenCCM.

Distribution

Extracting the contents of the OpenCCM archive

  • On a Unix like system:

    Execute the following commands in a shell window to extract the contents of the OpenCCM archive:

    1. Uncompress the archive file:

      $ gunzip OpenCCM-0.8.1.tar.gz
    2. Untar the archive file:

      $ tar xvf OpenCCM-0.8.1.tar
  • On a Microsoft Windows system, you can use a tool such as WinZip to extract the contents of the OpenCCM archive.

WinZip is a registered trademark of WinZip Computing, Inc.

The contents of the OpenCCM archive

The OpenCCM archive contains the following directories and files:

DirectoryFileDescription
 build.batWindows script for Ant compilation process.
 build.shUnix script for Ant compilation process.
config/ The configuration directory.
 BES-5.0.2/BES-5.0.2 configuration dependencies.
 BES-5.2/BES-5.2 configuration dependencies.
 JacORB-2.0/JacORB-2.0 configuration dependencies.
 OpenORB-1.2.1/OpenORB-1.2.1 configuration dependencies.
 OpenORB-1.3.0/OpenORB-1.3.0 configuration dependencies.
 OpenORB-1.3.1/OpenORB-1.3.1 configuration dependencies.
 OpenORB-1.4.0/OpenORB-1.4.0 configuration dependencies.
 ORBacus-4.1/ORBacus-4.1 configuration dependencies.
 Monolog/ObjectWeb Monolog configuration dependencies.
 jdo/Java Data Objects (JDO) configuration dependencies.
 jdo/Kodo/Kodo JDO configuration dependencies.
demo/ The OpenCCM demonstrations directory.
 chat/This illustrates a chat application.
 common/Common build files and execution scripts for all demonstrations.
 demo1/This illustrates a simple clients / server application.
 demo2/This illustrates a simple producer / consumers application.
 demo3/This illustrates a simple clients / server-producer / consumers application.
 dinner/This illustrates the philosopher dinner.
 filetransfer/This illustrates a file transfer application.
 hello/This illustrates the classical Hello World application.
 pss/All OMG Persistent State Service (PSS) demonstrations.
doc/ The OpenCCM documentation directory.
 CHANGESOld change log.
 COPYRIGHTCopyright notice.
 html/The whole OpenCCM documentation.
 LICENSEGNU Lesser General Public License.
externals/ OpenCCM external dependencies.
 ant/ The Apache/Jakarta Ant compilation tool.
 apollon/ The ObjectWeb Apollon XML DTD to GUI generation tool.
 cpp/ The MinGW Windows C/C++ preprocessor (1.0.1-20010726).
 fcgi/The FastCGI library.
 jacl/The Java/Tcl library.
 javacc/The JavaCC 3.2 tool.
 jdo/The Sun Microsystem Java Database Objects (JDO) library.
 jidlscript/The LIFL Java IDLscript library.
 monolog/The ObjectWeb Monolog project.
 ots/A CosTransactions Service implementation.
 velocity/ The Apache/Jakarta Velocity tool.
 winprocess/Common applications to manage processes under Windows: exec, kill, ps.
 xerces/The Apache Xerces XML parser.
 xml_dtd/The Enhydra Zeus tool.
src/ The OpenCCM source code directory.
 ant/All OpenCCM Ant files.
 cpp/All OpenCCM C++ source code files.
 doxygen/All OpenCCM doxygen configuration files.
 dtd/All OpenCCM XML DTD files.
 idl/All OpenCCM OMG IDL files.
 java/All OpenCCM Java source code files.
 PDA/The OpenCCM distribution for PDA.
 resources/All OpenCCM resource files (e.g. icons).
 unix/All OpenCCM Unix scripts.
 windows/All OpenCCM Windows scripts.
 winprocess/Utilities source code to manage processes under Windows (Visual Studio project).
 xml/All OpenCCM XML files.
test/ All OpenCCM test files.
 idl/All OpenCCM OMG IDL test files.
 ir3/All OpenCCM Interface Repository test files.
 psdl/All OpenCCM OMG PSDL test files.
 runtime/All OpenCCM runtime test files.
 trading/All OpenCCM CosTrading Service related test files.
 various/Various OpenCCM test files.
 sample.cidlThe OMG CIDL sample file used in the OpenCCM User's Guide.
 sample.idl3The OMG IDL 3.0 sample file used in the OpenCCM User's Guide.
 sample.psdlThe OMG PSDL sample file used in the OpenCCM User's Guide.
 sample.xmiThe XMI UML sample file used in the OpenCCM User's Guide.

Configuration Instructions

To configure and compile OpenCCM, you must have already installed a CORBA product supported by OpenCCM.

Then configuring OpenCCM requires:

  1. To check if the JAVA_HOME shell variable is correctly set to the JDK you will use.

  2. To go into the OpenCCM root directory, just do (on Unix or Windows systems):

    $ cd OpenCCM-0.8.1/openccm
  3. To start the Ant tool a first time, just do on Unix systems:

    $ build.sh

    or on Windows systems:

    $ build.bat

    As result, the build.properties file is generated in the OpenCCM root directory.

  4. To edit the generated build.properties file and set the following variables:

    VariableDescriptionMandatory
    ORB.name The name of the ORB product used to compile and execute OpenCCM.

    Select one ORB name in the proposed list.
    Yes
    install.dir The directory where the OpenCCM platform will be installed.

    Default value is the local build directory.
    No
    ORB.home.dir The directory where the used ORB product is installed. Yes
    NS.home.dir The directory where the used CosNaming Service is installed.

    Default value is ORB.home.dir.

    Must be set when the used CosNaming Service is installed in a directory different that the ORB one.
    No
    trader.home.dir The directory where the used CosTrading Service is installed.

    Default value is ORB.home.dir.

    Must be set when the used CosTrading Service is installed in a directory different that the ORB one.
    No
    OTS.home.dir The directory where the used CosTransaction Service is installed.

    If not set then OpenCCM will not be able to use the CosTransaction Service.
    No
    cpp.compiler The path to an installed C/C++ preprocessor.

    By default, if not set then OpenCCM compilers will use their own Java-based preprocessor.
    No
    JDO.impl.name The name of the JDO product used by the OpenCCM Persistent State Service.

    Only required for compiling and running PSS demonstrations.
    No
    JDO.impl.version The version of the JDO product used by the OpenCCM Persistent State Service.

    Only required for compiling and running PSS demonstrations.
    No
    JDO.impl.prop.dir The directory where your JDO property file is stored (e.g. kodo.properties).

    Only required for compiling and running PSS demonstrations.
    No
    JDO.impl.home.dir The directory where the used JDO implementation is installed.

    Only required for compiling and running PSS demonstrations.
    No
    JDBC.driver.jar The full path to the JDBC driver Jar file used to access your database.

    Only required for compiling and running PSS demonstrations.
    No

    Warning: On Windows systems, directories must be separated by '/' instead of '\', e.g. write c:/dev/OpenCCM instead of c:\dev\OpenCCM. Else a lot of errors will appear at compilation and execution times.

    Warning: Don't put some space characters at the end of lines of the previously configurated properties, else some Ant build errors would raise.

Compilation Instructions

Compiling OpenCCM

After configurating OpenCCM, just do on Unix systems:

$ build.sh

or on Windows systems:

$ build.bat

Generating OpenCCM Documentation

To generate OpenCCM APIs documentation, you must have already installed the Doxygen tool. Then, just do:

$ build.sh doc

or

$ build.bat doc

Compilation Results

After compilation, a directory is created according to the name of the used ORB product. It contains the following directories and files:

DirectoryFileDescription
bin/ All generated binaries.
classes/ All compiled Java classes.
doc/ All generated documentation.
dtd/ All XML DTD files.
externals/ All external used Java archives.
generated/ All generated Java source files.
idl/ All OpenCCM OMG IDL files.
jar/ All OpenCCM merged Java archives.
lib/ All OpenCCM generated Java archives.
resources/ All OpenCCM resource files (e.g. icons).
templates/ All generator template files.
xml/ All XML files for the launcher or the GUIs.

Installation Instructions

Installing OpenCCM

Execute the following command to install OpenCCM:

$ build.sh install

or

$ build.bat install

Installation Results

After installation, the following directories and files are created in the install.dir directory configurated in the build.properties file:

DirectoryFileDescription
bin/ All OpenCCM binaries and scripts.
See OpenCCM User's Guide for more information.
 envi_OpenCCM.batThe environment file for using OpenCCM from Windows shells.
 envi.OpenCCM.shThe environment file for using OpenCCM from Unix shells (sh, bash, etc).
 envi.OpenCCM.cshThe environment file for using OpenCCM from Unix C-shells (csh, tcsh, etc).
doc/ All OpenCCM documentation.
dtd/ All OpenCCM XML DTD files.
externals/ All external Java archives.
idl/ All OpenCCM OMG IDL files.
jar/ All OpenCCM merged Java archives.
resources/ All resource files (e.g. icons).
templates/ All generator template files.
xml/ All XML files for the launcher or the GUIs.

Installation Instructions for PDA under Windows CE

Requirements

As for any other environment, the OpenCCM distribution for PDA needs an installed JVM and ORB to work correctly. In the following distribution, the OpenCCM command scripts are written for ORBacus-4.1 and the IBM J9 Java Virtual Machine for Pocket PC. However you can use any of supported ORBs or JVM for your device by easily adapting these scripts.

Moreover to run the following provided scripts, you need to install PocketConsole v1.3 on your PDA.

Let's note also that the OpenCCM runtime archive provided with this PDA distribution does not support the new Distributed Computing Infrastructure (DCI) features of OpenCCM-0.8 release. If you want to use the DCI features (for example the node_start command to start an OpenCCM Node Manager), you have to recompile the classical OpenCCM distribution in order to build and extract an OpenCCM runtime archive using the Java compiler provided with the JVM installed in your device (for example the IBM j9c Java compiler if you use the IBM J9 JVM) and use the node_start command provided in the PDA distribution for this case. Nevertheless the provided OpenCCM runtime archive (OpenCCM.jar in lib directory) supports manually started OpenCCM Java ComponentServer that can be used by the OpenCCM DCI to deploy and instanciate OpenCCM components on the device.

OpenCCM distribution architecture for PDA

The OpenCCM distribution architecture for PDA is the following:

DirectoryFileDescription
bin/ All OpenCCM binaries and scripts.
 ccm_install.batInstalls the OpenCCM Configuration Repository by creating the OpenCCM_CONFIG_DIR directory and other OpenCCM component servers directories.
 ns_start.batStarts the ORBacus-4.x CosNaming Service on the PDA. By default, the CosNaming Service is started on the port 2000.
 jcs_start.batStarts (manually) an OpenCCM Java Component Server.
For instance, jcs_start1 starts an OpenCCM Java Component Server named ComponentServer1.
 node_start.batStarts an OpenCCM Node Manager in an OpenCCM Distributed Computing Infrastructure.
 ci_start.batDeprecated since OpenCCM-0.8 release.
Starts an OpenCCM ComponentInstallation with by default the name of the host.
 activator_start.batDeprecated since OpenCCM-0.8 release.
Starts an OpenCCM ServerActivator with by default the name of the host.
 ccm_server.batDeprecated since OpenCCM-0.8 release.
Starts both an OpenCCM ComponentInstallation and ServerActivator.
 factory_start.batStarts an OpenCCM AssemblyFactory.
 ccm_deploy.batStarts the deployment process using the OpenCCM deploytool from the PDA.
 tear_down.batTear down the assembly [assembly_name] currently running.
externals/ All external Java archives.
jar/ All OpenCCM merged Java archives.
lib/OpenCCM.jarThe OpenCCM Runtime for PDA Java archive.
xml/ All XML files for the launcher.

Installing OpenCCM on a PDA

Create a directory called OpenCCM on your PDA root directory (usually named My Pocket PC/).

Copy the contents of the src/PDA/ directory (that contains the build/ directory) in the OpenCCM/ you just created.

Starting an OpenCCM Java ComponentServer on your device

To run an OpenCCM server, launch ccm_install to install the OpenCCM environment (OpenCCM component servers configuration directories) and edit the following scripts:

  • jcs_start.bat:
    Replace the corbaloc::[your_host]:[number_port]/NameService by the corresponding values (the host and the port where the CosNaming Service is started) and start this script.
  • ci_start.bat and activator_start.bat (deprecated since OpenCCM-0.8 release):
    Replace [my_pda] by the name of your device and start the ccm_server command.

Starting an OpenCCM Node Manager on your device

Since OpenCCM-0.8 release, it is possible to start an OpenCCM Node Manager in an OpenCCM Distributed Computing Infrastructure (DCI). No need to start an OpenCCM ServerActivator and ComponentInstallation on the device (by launching deprecated ci_start and activator_start command scripts of the previous release), as it is now provided as interfaces by the Node Manager. It provides functionalities to start and stop OpenCCM Component Servers, to install and manage CORBA component archives or to access meta information about the node. As a consequence, the only thing to do if you want to deploy and run an OpenCCM application in which your device is involved, is to just edit the node_start.bat script as explained here:

  • Replace [node_name] by the name of the node to start.
  • Replace the corbaloc::[your_host]:[number_port]/NameService by the corresponding values (the host and the port where the CosNaming Service is started).
  • Replace the corbaname::[your_host]:[number_port]/NameService#OpenCCM/DCIManagers/[DCI_name] by the corresponding values (DCI_name is the name of the registered DCI in the CosNaming Service and #OpenCCM/DCIManagers represents its context).
  • Start this script and the node will register in the CosNaming Service with the NSREGISTER value name (for instance NSREGISTER=OpenCCM/NodeManagers/[node_name]).

Warning: Starting a Node Manager on the device requires that first the CosNaming Service is running and that a DCI is started somewhere in a node of the network.

Starting an OpenCCM Assembly Factory on your device

To start on OpenCCM AssemblyFactory on the PDA, edit the factory_start.bat script:

  • Replace DefaultFactory by the name you want to use to register the factory to the CosNaming Service, by setting factory_name parameter.
  • Replace DefaultDCI by the name (registered in the CosNaming Service) of the started DCI, by setting dci_name parameter.
  • Replace the corbaloc::[your_host]:[number_port]/NameService by the corresponding values (the host and the port where the CosNaming Service is started).
  • Start this script.

Starting a deployment process from your device

To start the deployment process from the PDA, edit the ccm_deploy.bat script:

  • Set dci_name (the started DCI) and factory_name (the started AssemblyFactory) parameters.
  • Replace the corbaloc::[your_host]:[number_port]/NameService by the corresponding values (the host and the port where the CosNaming Service is started) and start this script.
  • Replace /OpenCCM/build/archives/[demo_name].zip by the right path and ZIP archive name of the OpenCCM application you want to deploy.
  • Launch this script to start the deployment process.

Warning: To start a deployment process without an AssemblyFactory, just launch ccm_deploy from the device. In that case, the local deployment does not support the tear_down functionnality.

Tear down the Assembly

To tear_down the Assembly from the PDA, edit the tear_down.bat script:

  • Set assembly_name parameter (the name of the OpenCCM Assembly to tear down).
  • Replace the corbaloc::[your_host]:[number_port]/NameService by the corresponding values (the host and the port where the CosNaming Service is started).
  • Launch this script to tear down the Assembly.

 


Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster | Last modified at 2005-07-07 02:04 PM