.. _`The Domain Service`: ################## The Domain Service ################## *The Domain Service is responsible for creating and initialising the database which is used by the administration to manage the DDS data.* In the *single process* architecture the Domain Service is started as a new thread within the DDS application. This is done implicitly when the application invokes the DDS ``create_participant`` operation and no such service currently exists within the process. Without an database size configured the Domain Service creates the DDS database within the heap memory of the process and so is limited only to the maximal heap that the operating system supports. To be able to manage the maximum database size a database size can also be given in the *single process* mode. Then the Domain Service creates the DDS database within the heap memory of the process with the given size and will use it's own memory manager in this specific allocated memory. In the *shared memory* architecture, the user is responsible for managing the DDS administration separately from the DDS application. In this mode, the Domain Service is started as a separate process; it then creates and initialises the database by allocating a particular amount of shared memory as dictated by the configuration. Without this administration, no other service or application is able to participate in the DDS Domain. In either deployment mode, once the database has been initialised, the Domain Service starts the set of pluggable services. In single process mode these services will be started as threads within the existing process, while in shared memory mode the services will be represented by new separate processes that can interface with the shared memory segment. When a shutdown of the OpenSplice Domain Service is requested in shared memory mode, it will react by announcing the shutdown using the shared administration. Applications will not be able to use DDS functionality anymore and services are requested to terminate elegantly. Once this has succeeded, the Domain Service will destroy the shared administration and finally terminate itself. The exact fulfilment of these responsibilities is determined by the configuration of the Domain Service. There are detailed descriptions of all of the available configuration parameters and their purpose in the :ref:`Configuration ` section .. EoF