|
OpenCCM
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
|
Table of Contents
-
Availability
-
Requirements
-
Extra Requirements
-
Supported CORBA Products
-
Fully Supported Configurations
-
Distribution
-
Extracting the contents of the OpenCCM archive
-
The contents of the OpenCCM archive
-
Configuration Instructions
-
Compilation Instructions
-
Compiling OpenCCM
-
Generating OpenCCM Documentation
-
Compilation Results
-
Installation Instructions
-
Installing OpenCCM
-
Installation Results
-
Installation Instructions for PDA under Windows CE
-
Requirements
-
OpenCCM distribution architecture for PDA
-
Installing OpenCCM on a PDA
-
Starting an OpenCCM Java ComponentServer on your device
-
Starting an OpenCCM Node Manager on your device
-
Starting an OpenCCM Assembly Factory on your device
-
Starting a deployment process from your device
-
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:
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 name | Trading Service Product |
Borland Enterprise Server 5.0.2 and 5.2 for Java | None |
JacORB 2.0 | JacORB Trading Service 2.0 |
ORBacus 4.1.x for Java | ORBacus Trader 2.0 |
The Community OpenORB 1.2.1, 1.3.0, 1.3.1 and 1.4.0 | The 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 name | Comments |
OpenORB | Required |
tools | Required |
NamingService | Required |
TransactionService | Only required if the CosTransactions Service will be used |
TradingService | Only required if the CosTrading Service will be used |
PersistentStateService | Only required if the CosTrading Service will be used |
EvaluatorUtility | Only required if the CosTrading Service will be used |
Fully Supported Configurations
Currently, OpenCCM was successfully tested on the following configurations:
ORB name and release | Operating system | Java compiler |
Borland Enterprise Server 5.0.2 for Java | Linux |
SUN JDK 1.3.1
|
Borland Enterprise Server 5.0.2 for Java | Windows |
SUN JDK 1.3.1
|
Borland Enterprise Server 5.2 for Java | Windows XP |
SUN J2SDK 1.4.1-r_02
|
JacORB 2.0 | Linux |
SUN JDK 1.3.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.2
|
JacORB 2.0 | Windows XP |
SUN J2SDK 1.4.1-r_02
SUN J2SDK 1.4.2
|
OpenORB 1.2.1 | Linux |
SUN JDK 1.3.1
SUN J2SDK 1.4.0
|
OpenORB 1.2.1 | Solaris | SUN JDK 1.3.1 |
OpenORB 1.2.1 | Windows XP |
SUN JDK 1.3.1
SUN J2SDK 1.4.0
SUN J2SDK 1.4.1-r_02
|
OpenORB 1.3.0 | Linux |
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.0 | Solaris | SUN JDK 1.3.1 |
OpenORB 1.3.0 | Windows 2000 |
SUN JDK 1.3.1_03
SUN J2SDK 1.4.0
SUN J2SDK 1.4.2
|
OpenORB 1.3.0 | Windows 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.1 | Linux | SUN J2SDK 1.4.2 |
OpenORB 1.4.0 | Linux |
SUN J2SDK 1.4.0
Blackdown J2SDK 1.4.1
SUN J2SDK 1.4.1_01
SUN J2SDK 1.4.2
|
OpenORB 1.4.0 | Windows 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 Java | Linux |
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 Java | Solaris | SUN JDK 1.3.1 |
ORBacus 4.1.0 for Java | Windows 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 Java | Windows 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 Java | WinCE 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
WinZip is a registered trademark of WinZip Computing, Inc.
The contents of the OpenCCM archive
The OpenCCM archive contains the following directories and files:
Directory | File | Description |
| build.bat | Windows script for Ant compilation process. |
| build.sh | Unix 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. |
| CHANGES | Old change log. |
| COPYRIGHT | Copyright notice. |
| html/ | The whole OpenCCM documentation. |
| LICENSE | GNU 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.cidl | The OMG CIDL sample file used in the OpenCCM User's Guide. |
| sample.idl3 | The OMG IDL 3.0 sample file used in the OpenCCM User's Guide. |
| sample.psdl | The OMG PSDL sample file used in the OpenCCM User's Guide. |
| sample.xmi | The 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:
-
To check if the JAVA_HOME shell variable is correctly set
to the JDK you will use.
-
To go into the OpenCCM root directory, just do (on Unix or Windows systems):
$ cd OpenCCM-0.8.1/openccm
-
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.
-
To edit the generated build.properties file
and set the following variables:
Variable | Description | Mandatory |
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:
Directory | File | Description |
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:
Directory | File | Description |
bin/ | | All OpenCCM binaries and scripts.
See OpenCCM User's Guide for more
information. |
| envi_OpenCCM.bat | The environment file for using OpenCCM from Windows shells. |
| envi.OpenCCM.sh | The environment file for using OpenCCM from Unix shells (sh, bash, etc). |
| envi.OpenCCM.csh | The 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:
Directory | File | Description |
bin/ | | All OpenCCM binaries and scripts. |
| ccm_install.bat | Installs the OpenCCM Configuration Repository
by creating the OpenCCM_CONFIG_DIR directory and other OpenCCM component servers directories.
|
| ns_start.bat | Starts the ORBacus-4.x CosNaming Service on the PDA.
By default, the CosNaming Service is started on the port 2000.
|
| jcs_start.bat | Starts (manually) an OpenCCM Java Component Server.
For instance, jcs_start1 starts an OpenCCM
Java Component Server named ComponentServer1 .
|
| node_start.bat | Starts an OpenCCM Node Manager in an OpenCCM Distributed Computing Infrastructure.
|
| ci_start.bat | Deprecated since OpenCCM-0.8 release.
Starts an OpenCCM ComponentInstallation with by
default the name of the host. |
| activator_start.bat | Deprecated since OpenCCM-0.8 release.
Starts an OpenCCM ServerActivator with by
default the name of the host. |
| ccm_server.bat | Deprecated since OpenCCM-0.8 release.
Starts both an OpenCCM ComponentInstallation
and ServerActivator . |
| factory_start.bat | Starts an OpenCCM AssemblyFactory .
|
| ccm_deploy.bat | Starts the deployment process using the OpenCCM deploytool from the PDA.
|
| tear_down.bat | Tear down the assembly [assembly_name] currently running.
|
externals/ | | All external Java archives. |
jar/ | | All OpenCCM merged Java archives. |
lib/ | OpenCCM.jar | The 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 .
| |