OpenCCM - The OpenCCM's Execution Chain

Table of Contents

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

  1. OpenCCM User's Guide home page
  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

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_deploy Initiates an OpenCCM XML based deployment.

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.
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.

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!

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.
Launching an OpenCCM's Java Component Server with [].
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.IOR MyServerName.PID MyServerName.archive_cache/ MyServerName.output
$

Note that the Name Service must be started before, see ns_start.
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.
Launching an OpenCCM's Java Component Server with [ Transactional ].
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.
Launching an OpenCCM's Java Component Server with [ Trace ].
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.
Launching an OpenCCM's Java Component Server with [ Transactional  Trace ].
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.

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

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.

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