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

Warning: The OpenCCM User's Guide is now split into the following documents:

  1. Environment for using OpenCCM
  2. The OpenCCM's Compilation Chain
  3. Generation and implementation rules
  4. The OpenCCM's Execution Chain
  5. Demonstrations
  6. Writing an application with OpenCCM
  7. Writing CCM XML meta files
  8. Using deployment functionnalities
  9. Browsing and managing your application
  10. The Persistent State Service

The OpenCCM's Execution Chain

The OpenCCM's Execution Chain is composed of the following tools:

ToolDescription
ccm_install Installs the OpenCCM's Configuration Repository.
ccm_installed Checks if the OpenCCM's Configuration Repository is installed.
ccm_deinstall Deinstalls the OpenCCM's Configuration Repository.
ns_start Starts the Name Service used by the OpenCCM's Execution Chain.
ns_ior Obtains the IOR of the running Name Service.
ns_gui Starts a client GUI on the running Name Service.
ns_stop Stops the Name Service used by the OpenCCM's Execution Chain.
ots_start Starts the Transaction Service used by the OpenCCM's Execution Chain.
ots_ior Obtains the IOR of the running Transaction Service.
ots_stop Stops the Transaction Service used by the OpenCCM's Execution Chain.
jcs_start Starts an OpenCCM's Java Component Server.
jcs_stop Stops an OpenCCM's Java Component Server.
ccm_packaging Starts an OpenCCM's Packaging Tool GUI.
ccm_assembling Starts an OpenCCM's Assembling Tool GUI.
ccm_deploy Initiates an OpenCCM XML based deployment.
ccm_browser Starts the OpenCCM graphical console.

Installing the OpenCCM's Configuration Repository

The OpenCCM's Execution Chain is mainly based on the use of the OpenCCM's Configuration Repository.

Note that before using any OpenCCM's Execution Chain tool, it is required to install the OpenCCM's Configuration Repository.

The ccm_install script installs the OpenCCM's Configuration Repository, e.g.:

$ ccm_install
The OpenCCM Platform will be installed.
Creating the $OpenCCM_CONFIG_DIR directory.
Creating the $OpenCCM_CONFIG_DIR/ComponentServers directory.
Creating the $OpenCCM_CONFIG_DIR/log directory.
Copying the default Trace Service config file.
The OpenCCM Platform is installed.
$

Note that this script automatically creates the $OpenCCM_CONFIG_DIR and its subdirectories. $OpenCCM_CONFIG_DIR/ComponentServers is used to store the standard output and the PID of all started OpenCCM's Component Servers. $OpenCCM_CONFIG_DIR/log is used to store trace ouput files.

$ ls $OpenCCM_CONFIG_DIR
ComponentServers/  log/

Warning: This script can be started only once, e.g.:

$ ccm_install
Error: The OpenCCM Platform is already installed!
$

See the ccm_deinstall script to deinstall the OpenCCM's Configuration Repository.

Checking if the OpenCCM's Configuration Repository is installed

The ccm_installed script checks if the OpenCCM's Configuration Repository is installed, e.g.:

$ ccm_deinstall
. . .
$ ccm_installed
Error: The OpenCCM Platform is not installed!
$

Note that this OpenCCM script is mainly used by other OpenCCM scripts to check if the OpenCCM's Configuration Repository is installed or not.

Deinstalling the OpenCCM's Configuration Repository

The ccm_deinstall script deinstalls the previously installed OpenCCM's Configuration Repository, e.g.:

$ ccm_install
. . .
$ ccm_deinstall
The OpenCCM Platform will be deinstalled.
Removing the $OpenCCM_CONFIG_DIR directory.
The OpenCCM Platform is deinstalled.
$

Note that this script stops current started OpenCCM's processes and removes the $OpenCCM_CONFIG_DIR directory.

Starting the Name Service used by the OpenCCM's Execution Chain

The ns_start script starts the Name Service used by the OpenCCM's Execution Chain, e.g.:

$ ns_start
The Name Service will be started.
Launching the Name Service.
The Name Service is started.
$

Note that this script automatically launches a Name Service process and stores its IOR and PID into the OpenCCM's Configuration Repository, e.g.:

$ ls $OpenCCM_CONFIG_DIR
ComponentServers/ log/ NameService.IOR NameService.PID
$

Warning: Only one Name Service can be started for an OpenCCM's Configuration Repository, e.g.:

$ ns_start
Error: The Name Service is already started!
$

See the ns_stop script to stop the started Name Service.

Obtaining the IOR of the running Name Service

The ns_ior displays the IOR of the running Name Service, e.g.:

$ ns_ior
file:$OpenCCM_CONFIG_DIR/NameService.IOR
$

Starting a client GUI on the running Name Service

The ns_gui starts a client GUI on the running Name Service, e.g.:

$ ns_gui
An ORBacus Name Service's GUI will be started.

Warning: Currently this script is only provided for the ORBacus product!

See the ccm_browser script to start the OpenCCM's generic browser.

Stopping the Name Service used by the OpenCCM's Execution Chain

The ns_stop script stops the previously started Name Service, e.g.:

$ ns_stop
The Name Service will be stopped.
The Name Service is stopped.
$

Note that this script shutdowns the Name Service process and removes its associated IOR and PID files from the OpenCCM's Configuration Repository.

Starting the Transaction Service used by the OpenCCM's Execution Chain

The ots_start script starts the Transaction Service used by the OpenCCM's Execution Chain, e.g.:

$ ots_start
The Transaction Service will be started.
Launching the Transaction Service.
The Transaction Service is started.
$

Note that this script automatically launches a Transaction Service process and stores its IOR and PID into the OpenCCM's Configuration Repository, e.g.:

$ ls $OpenCCM_CONFIG_DIR
ComponentServers/ log/ TransactionService.IOR TransactionService.PID
$

Warning: Only one Transaction Service can be started for an OpenCCM's Configuration Repository, e.g.:

$ ots_start
Error: The Transaction Service is already started!
$

See the ots_stop script to stop the started Transaction Service.

Obtaining the IOR of the running Transaction Service

The ots_ior displays the IOR of the running Transaction Service, e.g.:

$ ots_ior
file:$OpenCCM_CONFIG_DIR/TransactionService.IOR
$

Stopping the Transaction Service used by the OpenCCM's Execution Chain

The ots_stop script stops the previously started Transaction Service, e.g.:

$ ots_stop
The Transaction Service will be stopped.
The Transaction Service is stopped.
$

Note that this script shutdowns the Transaction Service process and removes its associated IOR and PID files from the OpenCCM's Configuration Repository.

Starting an OpenCCM's Java Component Server

The jcs_start script starts an OpenCCM's Java Component Server. Its usage is the following:

$ jcs_start
usage: jcs_start [--ots] [--trace] <server_name>
$

Each OpenCCM's Java Component Server must be started with an unique server name, e.g.:

$ jcs_start MyServerName
The OpenCCM's Java Component Server MyServerName will be started with []...
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName.archive_cache directory.
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName/ specific directory.
Launching an OpenCCM's Java Component Server with [].
Backup the current directory.
The OpenCCM's Java Component Server MyServerName is started with [].
$

Then, this script automatically creates a directory to store downloaded archives, launches an OpenCCM's Java Component Server process and stores its standard output, IOR and PID into the OpenCCM's Configuration Repository, e.g.:

$ ls $OpenCCM_CONFIG_DIR/ComponentServers
MyServerName/  MyServerName.archive_cache/  MyServerName.IOR  MyServerName.output  MyServerName.PID
$

Note that the Name Service must be started before, see the ns_start script.
Then the IOR of the started OpenCCM's Java Component Server is bound into the Name Service with the server name given as parameter.

The --ots option starts a transactional OpenCCM's Java Component Server, e.g.:

$ jcs_start --ots MyServerName
The OpenCCM's Java Component Server MyServerName will be started with [ Transactional ]...
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName.archive_cache directory.
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName/ specific directory.
Launching an OpenCCM's Java Component Server with [ Transactional ].
Backup the current directory.
The OpenCCM's Java Component Server MyServerName is started with [ Transactional ].
$

Note that the Transaction Service must be started before, see ots_start.

The --trace option starts an OpenCCM's Java Component Server with the trace service, e.g.:

$ jcs_start --trace MyServerName
The OpenCCM's Java Component Server MyServerName will be started with [ Trace ]...
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName.archive_cache directory.
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName/ specific directory.
Launching an OpenCCM's Java Component Server with [ Trace ].
Copying the Trace Service configuration file to the specific ComponentServer directory.
Backup the current directory.
The OpenCCM's Java Component Server MyServerName is started with [ Trace ].
$

Both --ots and --trace options could be used simultaneously, e.g.:

$ jcs_start --ots --trace MyServerName
The OpenCCM's Java Component Server MyServerName will be started with [ Transactional  Trace ]...
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName.archive_cache directory.
Creating the $OpenCCM_CONFIG_DIR/ComponentServers/MyServerName/ specific directory.
Launching an OpenCCM's Java Component Server with [ Transactional  Trace ].
Copying the Trace Service configuration file to the specific ComponentServer directory.
Backup the current directory.
The OpenCCM's Java Component Server MyServerName is started with [ Transactional  Trace ].
$

Warning: Each started OpenCCM's Java Component Server must have a distinct name, e.g.:

$ jcs_start MyServerName
Error: The Component Server MyServerName is already started!
$

See the jcs_stop script to stop a started OpenCCM's Java Component Server.

Stopping an OpenCCM's Java Component Server

The jcs_stop script stops a previously started OpenCCM's Java Component Server, e.g.:

$ jcs_stop AnotherServer
Error: The Java Component Server AnotherServer is not started!
$
jcs_stop MyServerName
The Java Component Server MyServerName will be stopped.
The Java Component Server MyServerName is stopped.
$

Note that this script shutdowns the specified OpenCCM's Java Component Server process and removes its associated files from the OpenCCM's Configuration Repository.

Starting an OpenCCM's Packaging Tool GUI.

The ccm_packaging script starts a GUI for the edition of Software Package Descriptors.

The usage of this command is the following:

$ ccm_packaging

This will display the SOFTPKG Type XML Files Editor, where one can use the graphical menus to open any .CSD file, modify them, and save them.

Starting an OpenCCM's Assembling Tool GUI.

The ccm_assembling script starts a GUI for the edition of Component Assembly Descriptors.

The usage of this command is the following:

$ ccm_assembling

This will display the COMPONENTASSEMBLY Type XML Files Editor, where one can use the graphical menus to open any .CAD file, modify them, and save them.

Initiating an XML Based Deployment Process

The ccm_deploy script launches the deployment of homes, instantiates components, connects them to each other, and runs the application automatically, reading its input from CCM XML descriptors.

The usage of this script is the following, e.g.:

$ ccm_deploy
usage: ccm_deploy [--ots] [--trace] <file.cad>
$

To start a deployment, a CCM XML CAD file must be provided as parameter, e.g.:

$ ccm_deploy my_file.cad
ccm_deploy 0.7: Initiating deployment sequence of my_file.cad
ccm_deploy 0.7: Got the ORB
ccm_deploy 0.7: OpenCCM runtime is ready
ccm_deploy 0.7: Got the assembly descriptor
ccm_deploy 0.7: Initiating the connector...
ccm_deploy 0.7: Connector got <connectinterface> list
ccm_deploy 0.7: Connector got <connectevent> list
ccm_deploy 0.7: Connector is ready
ccm_deploy 0.7: Initiating the partition...
ccm_deploy 0.7: Partition is ready
ccm_deploy 0.7: Partition starts non collocated <homeplacement> list treatment
ccm_deploy 0.7: Installing archive archives/my_app.jar...
ccm_deploy 0.7: Successfully deployed home ServerImpl
ccm_deploy 0.7: Installing archive archives/my_app.jar...
ccm_deploy 0.7: Successfully deployed ...
ccm_deploy 0.7: Successfully deployed my_file.cad
$

Refer to the Writing CCM XML meta files section for more information about the XML files you can use.

The ccm_deploy script supports the following options:

OptionDescription
-h or
--help
Display usage and help information, and exit.
--versionOutput version information and exit.
--silentSilent output messages.
--otsDeploy inside a transaction.
--traceDeploy with the Trace Service running.

To obtain usage and help information, do:

$ ccm_deploy --help
Usage: ccm_deploy [-h|--help] [--version] [--silent] assembly_file.cad

Options:
  -h, --help Display this information and exit
  --version  Output version information and exit
  --silent   Silent output messages

Description:
  Deploy an XML Component Assembly Descriptor

$

To obtain version information, do:

$ ccm_deploy --version
ccm_deploy 0.7

Copyright (C) 2000-2003 INRIA - USTL - LIFL - GOAL
. . .
$

By default, the ccm_deploy script displays messages. To silent this output messages, do:

$ ccm_deploy --silent my_file.cad
$

Warning: Both --ots and --trace options will be supported in future releases.

Starting the OpenCCM browser

The ccm_browser script starts a console which allows to browse and manage components at runtime, e.g.:

$ ccm_browser
Error: The OpenCCM Platform is not installed!
$ ccm_install
...
$ ccm_browser
The OpenCCM's Browser will be started.

The ccm_browser script supports the following options:

OptionDescription
-h or
--help
Display usage and help information, and exit.
--versionOutput version information and exit.
--silentSilent output messages.
--defaultContextDefault context XML file (You don't have to use this option !).
--defaultBrowserDefault browser XML file (You don't have to use this option !).
--configSet an additional config file

To obtain usage and help information, do:

$ ccm_browser --help
The OpenCCM's Browser will be started.
Usage: ccm_browser [-h|--help] [--version] [--silent] [--defaultContext file] [--defaultBrowser file] [--config file]

Options:
  -h, --help            Display this information and exit
  --version             Output version information and exit
  --silent              Silent output messages
  --defaultContext file Default context XML file (You don't have to use this option !)
  --defaultBrowser file Default browser XML file (You don't have to use this option !)
  --config file         Set the config XML file

Description: 
  Display the OpenCCM browser console

$

To obtain version information, do:

$ ccm_browser --version
OpenCCM ccm_browser 0.7

Copyright (C) 2000-2003 INRIA - USTL - LIFL - GOAL
. . .
$

Note that the --config option adds configuration entries to the default ones.

Lots of OpenCCM demos (demo1, demo3, dinner, chat, filetransfer) have been customized. So, when one of this demo is running, you can start the browser with the specific command line :

$ ccm_browser --config browser.xml

The browser.xml configuration file contains the customization of the demo.


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