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:
https://netapp-learningcenter.webex.com/netapp-learningcenter/j.php?ED=207991972&UID=0&RT=MiMyNQ%3D%3D
You will find code and updates on this topic on this page - a good reason to bookmark it.
Recording:
Is on the way
Download the Code
https://communities.netapp.com/docs/DOC-19038
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.
Visualization
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.

Architecture
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:
https://communities.netapp.com/servlet/JiveServlet/download/18295-1-36821/NetApp%20Developer%20Session%20-%20Use%20Case%20Access%20Performance%20Metri...
Webex link:
https://netapp-learningcenter.webex.com/netapp-learningcenter/j.php?ED=207991602&UID=0&RT=MiMyNQ%3D%3D
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.