summaryrefslogtreecommitdiff
path: root/TAO/CIAO/tools/Simple_Component_Server/README
blob: 47c0509284beaaf42e0cfefa6341ff60a062e8fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
$Id$

Summary
-------

This directory contains an implmentation for a "simple" component
server.  It is simple because it circumvent the mechanism to read the
XML descriptors and therefore there's no way to configure the
container or the component server thru these XML descriptors.  It is,
however, useful for testing the correct functioning of a single
component and its home (as you don't need to jump thru a bunch of
hoops to instantiate them for testing.)

Running
-------

To run the component server, invoke it from command line as foloowing:

  Simple_Component_Server -c -i <config_file> -o <home or component ior_output_filename>

The <config_file> contains information the component server needs to
install component implementations.  The detail format of the file will
be explained at the end of this file.  This configuration mechanism
should eventually be replaced by the standard component deployment
interfaces so component are installed and instantiated through a set
of interfaces.

If "-c" flag is specify, the simple component server creates a
component writes the IOR for the component into the file specified by
-o flag.  Otherwise, only the component home is instantiated and the
IOR for the home is written to the file.

The <ior_output_filename> points to the file name where the
component server will output the IOR to.

Server Configuration:
---------------------
There is currently not much to configure for the component server.


Config file format:
-------------------

We are temporarily using a config file to read in the list of
components that are to be installed into the component server.  Each
line of the configuration file contains a set of information for
installing one component home (the component home manages the life
cycle for managed comopnent instances.)  These info. are delimited by
the vertical bar '|' characters.  Here is an example for the
"HelloHome" component home in
$(CIAO_ROOT)/examples/handcrafted/Hello/.

hello_executors|createHelloHome_Impl|hello_servants|createHelloHome_Servant|IDL:omg.org/HelloHome:1.0|IDL:omg.org/HelloWorld:1.0|HelloHome

Here's a breakdown of what each field contains:

0 -> Name of the DLL containing component and component home executors
1 -> Entry point (factory method) for the previous DLL
2 -> Name of the DLL containing component and component home servant
     glue code.
3 -> Entry point (factory method) for the previous DLL
4 -> Repo ID for the component home interface
5 -> Repo ID for the managed component interface
6 -> Canonical name for the installed component home.

** Currently, only the first 4 config values are used (field 0-3).

Todos
-----

Improve the command line processing routine.  Currently, we do not
process the ORB command line options correctly.