Developer Network Articles and Resources

NetApp Developer Session - NMSDK meets Android


This session is about pushing live data to mobile devices. There was a request to showcase this and we would like to share the thoughts behind.

Webex link:

You will find code and updates on this topic on this page - a good reason to bookmark it.


Is on the way

Download the Code

Push instead of Pull

How does the data come from the storage controller to the mobile device or other end points? Here we use a messaging middleware which allows to push data to all devices registered on a message bus.

Custom code referred to as data crawlers are the glue between the storage controllers and the messaging middleware.


The sample presented here reports periodically on the cpu_busy counters which are visualized graphically. Here the achartengine library is used to do this. Have a look here. On the right the android emulator. On the left the messaging (rabbitmq) and the command line of our cluster mode system.


The architecture is characterized by decoupling the information delivery from the sources to its ends by using a message oriented middleware. This acts as a delivery bus and easily allows to hook up several sources and sinks. Note that it isnt designed around a database. Refer to the figure below for the generic architecture. What is in the red scribbled line is in the scope of the upcoming sessions. As a message broker RabbitMQ is used.

Data Crawlers

Data crawlers are source of messages. They bridge between NetApp infrastructure and management components using NetApp API and libraries and the messaging infrastructure. Subject of the session is a Java based crawler which connects to a Cluster Mode System. This crawler is explained in the first September session on the 4th. Link to this session is here:

ICal invite:

Webex link:

Message Broker

This one acts as a bus to distribute relevant information continously. Multiple sinks can get messages from this middleware. The message broker needs to be accessible by the crawlers and the mobile device. An external message broker outside the datacenter could be used.

The message broker can exchange arbitrary information. In our example we transport storage related information.

Data Sink

Subject of this developer session is a Java based Android application which connects to the message broker and retrieves relevant messages for visualization.

In/Out of Scope of this Session

A couple of different libraries/tools are touched in this session so we need to focus on the core - getting the data across. We touch how to visualize them basically and outline the setup of the broker. Depending on the demand we can connect this e.g. to Arda's storage controller performance session or other data sources.

Please Note:

All content posted on the NetApp Community is publicly searchable and viewable. Participation in the NetApp Community is voluntary.

In accordance with our Code of Conduct and Community Terms of Use, DO NOT post or attach the following:

  • Software files (compressed or uncompressed)
  • Files that require an End User License Agreement (EULA)
  • Confidential information
  • Personal data you do not want publicly available
  • Another’s personally identifiable information (PII)
  • Copyrighted materials without the permission of the copyright owner

Continued non-compliance may result in NetApp Community account restrictions or termination.



This is really exciting! Looking forward to attend this session.




Wow it is good news! it is a great platform to experience enhanced android app development.


looking forward to it.

All Community Forums