
Starting the Qedo run-time environment
======================================
To start the tun-time environment of Qedo you need to start a number of processes. 

1. Name Service
---------------
The first of all is a name service. This name service needs to be started once for a Qedo deployment domain. Such a domain consist of a number of computers where distributed systems can be installed. How to start a name service depends on the used nameservice implementation. But you need to be sure to know the host where the name service is runnning and on what port the name service is listening. This information is needed for the other servers. Currently we use orb depend mechanism to promote the name service information to the other Qedo servers. E.g. if you ar using MICO you need to create a .micorc file. this file need to contain the following line:

  -ORBInitRef NameService=corbaloc::<hostname>:<port>/NameService

to start a name service on a specific port usually works with the following option:

  nsd -ORBIIOPAddr inet:<hostname>:<port>


2. HomeFinder
-------------
The HomeFinder is an optional Feature which can be used to find running homes. If a HomeFinder is available it is used. If a HomeFinder is not available a warninf message would be displayed but the creation of homes continues. The Homefinder is started by calling

  homefinder


3. ComponentInstallation
------------------------
The ComponentInstallation server is an implementation of the ComponentInstallation interface defined by CCM. This server is used to install the binaries of the components. This server is mandatory. To start this server you need to call

  qci

4. ComponentServerActivator
---------------------------
The ComponentServerActivator server is an implementation of the correspoding interface defined by CCM. This server is used to create new component server and to manage them. This server is mandatory. To start this server you need to call 

  qcsa

5. AssemblyFactory
------------------
This server implements the assembly factory and assembly interface defined be CCM. This server is mandatory if you like to use the automatic deployment features of CCM. You can also create component servers and containers by yourself. In this case you do not need this server. To start the server you need to call:

  qassf

6. ComponentServer
------------------
The ComponentServer is started by the ComponentServerActivator.





Deployment of components
========================

The subdirectory Deployment of the Qedo installation directory
contains all deployment related stuff. The XML file DeployedComponents.xml
contains information about all installed component implementations and is used
to keep those information persistent. The subdirectory ComponentPackages
contains the softpackages for component implementations and assemblies.
Currently for each assembly or component intended to be installed, the package
has to be put there before manually. During component installation each
component softpackage is unpacked into a temporary directory named by the
UUID of the installed component implementation. These directories are created
in the Runtime/ComponentImplementations subdirectory. Subsequently all generated
servant code is also put into the Runtime/ComponentImplementations directory.
The makefiles in this directory are used to generate servant code for the
components. For each ORB implementation and architecture an own makefile
has to be provided. In future it will be determined by the software package
descriptor elements 'os' and 'dependency'.

In order to deploy an assembly, a zip file has to be created by the assembly
developer, containing an assembly descriptor, zip files for each component 
and probably property file descriptors for component instances. The component
zip files in turn contain a software package descriptor, the dynamic library
for the components business logic and the idl file for the servant code
generation.
