$CIAO_ROOT/DAnCE/examples/Hello
.Hello_Base.idl
) which contains all
the interfaces and events common to all the components. The reason
we do this is becuse the generated lib of this idl file will be
linked in by all the components in the system. To reduce the size
of the component lib we have to include only the necesary part. In
this example, we have an eventtype timeout
and an
interface ReadMessage
, which are used by both the
Sender and the Receiver, so we put both of them in Hello.idl.
Hello_Base.mpc
file to get an idea how the Hello_Base_stub and Hello_Base_svnt projects are organized. MPC is a utility we used to generate makefiles or VC project/solution files for all ACE, TAO and CIAO libraries.$CIAO_ROOT/bin/generate_component_mpc.pl -p Hello_Base Sender
$CIAO_ROOT/bin/generate_component_mpc.pl -p Hello_Base Receiver
"Hello_Base", "Sender", "Receiver"
respectively._stub
project, add:"libs += Hello_Base_DnC_stub"
trigger
specific to the
Sender. Please note that the Sender component
"supports"
(IDL keyword) this interface.
_exec.h
and _exec.cpp
files which actually implement the component.
starter
. The
starter
will make a invocation on a supported interface
called trigger
on the Sender component to get the whole
distributed application started. The starter
will first
obtain the Sender component object reference through the ior string
supplied as a command argument. Please see the the last part of
Hello/Sender/Sender.mpc
file for details.
$CIAO_ROOT/DAnCE
and do:$ACE_ROOT/bin/mwc.pl
(use -type option if you are using a compiler/IDE other than gnuace -which by default generates GNU makefiles)$ACE_ROOT/bin/mwc.pl -type vc71
if you are using Visual C++ 7.1 IDE.
NodeManager
where it is running. Please refer to the existing NodeManagerMap.dat
for details,
as you can see, we only specify 2 NodeManagers
, which means these two components
will be installed in the different NodeApplication
server. Please refer to the
flattened_deploymentplan.cdp file to see how a deployer
could specify the mapping between components and nodes.
run_NodeDaemons.pl
$CIAO_ROOT/DAnCE/ExecutionManager/Execution_Manager -o EM.ior -i NodeManagerMap.dat
$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan.cdp -k file://EM.ior
$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan_without_ns.cdp -k file://EM.ior
After this, components should be deployed successfully.
$CIAO_ROOT/DAnCE/examples/Hello/Sender/starter
to
start the application. Please make sure that the component IOR
file for the Sender component (Sender.ior
) is
present when you run this client.