posted on Tuesday, September 29, 2009 - 12:54 pm
I want step by step tutorial of using DDS in application. Actually I want to create simple sample application in C++ which will have multiple client-servers and will use DDS as middleware.How to achieve this?
I am using OpenSpliceDDSV4.3-x86.linux2.6-gcc344-gnuc23-HDE. I have installed it but it gives error when i try 'ospl start' to start Opensplice services it gives 'error: can not open 'ospl.xml'.
When I echo OSPL_URI it gives correct path of file.
What is cause for this??? If anybody can help me finding solution??
Anonymous posted on Sunday, February 28, 2010 - 11:00 pm
To Gruhita, Hi,
Configuration OpenSplice DDS is configured using an XML configuration file, The default configuration file is ospl.xml located in $OSPL_HOME/etc/config. The default value of the environment variable OSPL_URI is set to this configuration file. The configuration file defines and configures the following OpenSplice services: • spliced - the default service, also called the domain service; the domain service is responsible for starting and monitoring all other services • durability - responsible for storing non-volatile data and keeping it consistent within the domain (optional) • networking - realizes user-configured communication between the nodes in a domain • tuner - provides a SOAP interface for the OpenSplice Tuner to connect to the node remotely from any other reachable node The default Database Size that is mapped on a shared-memory segment is 10 Megabyte The maximum user-creatable shared-memory segment is limited on certain machines, including Solaris, so it must either be adjusted or OpenSplice must be started as root. A complete configuration file that enables durability as well as networking is shown below. The bold parts are not enabled in the default configuration file, but editing them will allow you to enable support for PERSISTENT data (instead of just TRANSIENT or VOLATILE data) and to use multicast instead of broadcast. Adding support for PERSISTENT data requires you to add the <Persistent> element to the <DurabilityService> content (see the bold lines in the XML example shown below). In this <Persistent> element you can then specify the actual path to the directory for persistent-data storage (if it does not exist, the directory will be created). In the example below this directory is /tmp/Pdata.
For the networking service, the network interface-address that is to be used is specified by the <NetworkInterfaceAddress> element. The default value is set to first available, meaning that OpenSplice will determine the first available interface that is broadcast or multicast enabled. However, an alternative address may be specified as well (specify as a.b.c.d). The network service may use separate channels, each with their own name and their own parameters (for example the port-number, the queue- size, and, if multicast enabled, the multicast address). Channels are either reliable (all data flowing through them is delivered reliably on the network level, regardless of QoS settings of the corresponding writers) or not reliable (all data flowing through them is delivered at most once, regardless of QoS settings of the corresponding writers). The idea its that the network service chooses the most appropriate channel for each DataWriter, i.e. the channel that fits its QoS settings the best. Usually, networking shall be configured to support at least one reliable and one non-reliable channel. Otherwise, the service might not be capable of offering the requested reliability. If the service is not capable of selecting a correct channel, the message is sent through the “default” channel. The example configuration defines both a reliable and a non-reliable channel. The current configuration uses broadcast as the networking distribution mechanism. This is achieved by setting the Address attribute in the GlobalPartition element to broadcast, which happens to be the default value anyway. This Address attribute can be set to any multicast address in the notation a.b.c.d in order to use multicast. If multicast is required to be used instead of broadcast, then the operating system’s multicast routing capabilities must be configured correctly.
posted on Sunday, February 28, 2010 - 11:03 pm