OpenSplice Mobile – DDS has never been so much fun

Today we have released OpenSplice Mobile v1.1 and, as I’ll describe in this post, it brings DDS to a new level of usability and coolness!

To begin with, OpenSplice Mobile is a pure-Java implementation of DDS, meaning that you can run it on anything that has a Java VM, an embedded Java VM, or an Android VM. In essence, you can run OpenSplice Mobile on your Android phone / tablet, on your Raspberry Pi, on your Panda Board, etc., or simply on a more traditional computing platform, e.g. a server, a workstation or laptop. BTW, I have actually already demonstrated this as some of you may have seen at the Berlin OpenSplice User Meeting a couple of weeks ago.

At this point you may wonder how the same DDS implementation may be a good fit for both resource constrained embedded devices as well as high-end servers with multiple cores — the trick is OpenSplice Mobile SEDA (Staged Event Driven Architecture). By configuring the stages in the SEDA you can optimize OpenSplice Mobile for latency and embedded devices or for throughput and high-end servers. The configuration can be controlled via a property file or a series of “-D” options for the JVM.

Those of you that can’t wait to start hacking with OpenSplice Mobile, will be happy to know that it provides the new Java 5 API for DDS. This new API removes quite a bit of nonsense of the previous Java API and enforces a disciplined class loading — in essence you can control the class loader that will be loading classes for the DDS types. If that was not enough to wet your appetite, we have added a few cool features such as the ability to express queries and filters using Java and JavaScript.  This means that to query/filter DDS data you are not limited to what can be expressed by the WHERE clause of a SQL statement, you have the power of a predicate written in Java or in JavaScript! If you wonder about lambdas, we will obviously add support for the JDK8 version, yet at the present time OpenSplice Mobile requires a JDK6.

At this point , assuming you’ve written your first OpenSplice Mobile application and you would like to see its runtime structure —  you’d love to explore the jungle of DDS entities. How can you do that? OpenSplice Mobile has a Monitor that gives access to all information concerning the DDS entities as well as the protocol entities. With the Monitor you can browse DDS entities, verify QoS settings, check the status of reliability queues etc. (see snapshot below). If you have looked at the Mobile distribution you may wonder how you start it. Things could not be any simpler, you just have to make sure that the monitor Jar is in the Java classpath and then simply point your browser to http://localhost:8080 (or the URL of the machine where you want to inspect the DDS app). If the port 8080 is taken the monitor will automatically take the first free, e.g. 8081, or 8082 etc.

OpenSplice Mobile Graphic

Now, if you have not done so already, go and get OpenSplice Mobile from our Software Downloads and start hacking some code!

Good Hacking,
Angelo

P.S. If you want to play with the OpenSplice Mobile iShapes application on your Android device you can get it from the Google Play Store

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s