DDS Web Shapes Demo

DDS Web Shapes Demo

The DDS Web Shapes demo illustrates remote access to the Connext DDS DataBus (the world-leading implementation of the OMG Data-Distribution Service standard) from Web applications. Web applications can use standard web protocols such as plain HTTP (or SOAP over HTTP) to remotely publish and subscribe data on the Connext DDS DataBus. The web-bases applications communicate via HTTP with the RTI Web Integration Service, which acts as a gateway to the Connext DDS DataBus.

Use of the Web Integration Service allows universal access to Data-Distribution Service (DDS) data from any client device. All is required from the device is the ability to communicate over HTTP. The client application does not need to even implement a web server or listen to any sockets. So it is even possible to access the DDS data from behind corporate firewalls. This technology also enables JavaScript applications running inside a web-browser to publish and subscribe data and interoperate with other applications that use DDS for communications. This means that it is now possible to publish and subscribe DDS data and invoke services in the Connext DataBus without the need to install any software in the client device.

Clients can choose among various web-protocols including plain HTTP or SOAP to communicate with the RTI Web Integration Service, the service in turn will use the high performance DDS-RTPS protocol to communicate with other applications in the Connext DDS DataBus.

This particular demo is running the RTI Web Integration Service in the Amazon cloud. The RTI Web Integration Service is communicating with other applications in the cloud which are already publishing and subscribing shapes (Squares, Circles, and Triangles). When you click on the Web Shapes Demo link your browser will render a page contaning some JavaScript and run the Web Shapes UI inside your browser. The JavaScript inside your browser in turn communicates using HTTP with the the RTI Web Integration Service in order to send the requests to publish and subscribe and the data updates that flow as a consequence of those.

DDS with Google Maps Demo Reader | Writer

Google Maps Demo

The Google Maps Demo is similar to the Web Shapes Demo above in that it also illustrates remote access to Connext DDS data using web technologies.

Beyond access to the Connext DDS data this demo also illustrates how it is possible to create mash-ups that mixes-in real-time information coming from Connext DDS with other sources of information to create rich web-based UIs and dashboards.

When you click on the "Reader link" above your browser will render a page containing some JavaScript. The JavaScript includes some libraries from Google (to render the maps) as well as libraries from RTI (to send and receive data from the Web Integration Service). The resulting script creates a mash-up inside your browser and allows icons animated with live data from Connext DDS to appear in their correct map positions.

This particular demonstration displays the position of varios objects (Aircraft and Ships) overlaid on a map based on the coordinates (Latitude and Longitude) of the objects. As the position of these objects is updated live in the Connext DataBus so are the locations of the corresponding icons on the map.

A similar process is followed when you click on the "Writer link" above. The difference is that the JavaScript rendered in this case is creating a UI to allow publishing data to the Connext DDS DataBus.

You can even try using multiple browsers from different devices and following different links (Reader versus Writer) on the different devices. If you create an publish the location of the object in one of them, you should see it on from the other.

Cave Canem - DDS-based System Monitoring and Intrusion Detection

Cave Canem

CaveCanem is an agent-based system that can be used to record and monitor the state of a set of computers running on a network. It serves as a demonstrator of several RTI products, most notably the Connext DDS middleware (the world-leading implementation of the OMG Data-Distribution Service standard), the RTI Database Integration Service, and the RTI Web Integration Service.

The CaveCanem agent is software application than runs on all the platforms that require monitoring. It is an extensible agent that configures itself via plugins. Each plugin provides information on one or more metrics for the computer where it runs. Built-in plugins are provided for CPU utilization, memory consumption, file-system utilization, network traffic, and network intrusion alerts.

CaveCanem takes the information from each plugin and publishes it on DDS. The schema user is defined by the plugin, but it typically contains the data-values as well as a key that identifies both the computer and the particular element whose metric is being published. For example the 'CPU' plugin reports load, CPU (user, system), interrupt rate, etc. for each computer in the system (the computer name/IP address being the key). Similarly the 'Processes' reports the various process statistics (CPU, memory, etc.) for each process running on a computer. The key being the name of the computer plus the process Id.

In addition to the CaveCanem agents there is also a CaveCanem service, which combines the RTI Database Integration Service, a MySQL database, an Apache Web Server and a collection of PHP and JavaScript. The RTI Database Integration Service automatically stores the received information into MySQL, the Apache Web Server used in conjunction with the RTI Web Integration Service provides the interface to web-browser-based clients. Using a web browser remote applications see all the collected statistics both system wide and for each specific computer. Both viewing current data as well as browsing historical data are supported.

When you click on the "CaveCanem link" above your browser will redirect to a page containing a dashboard from which you can see the information on all the monitored computers. All these computers are running on the Amazon cloud.

Cave Canem's source code is available on SourceForge and Github.