Sunday, May 19, 2013

Application development using IBM's Smarter Water SDK

Last week IBM quietly released a new version of its Smarter Water product (called the Intelligent Operations for Water). Buried inside of this release is a feature that looks to completely change the way water applications are developed. The new version supports an application development model that allows for third parties to build water applications (such as leak detection, flood management, water quality applications) quickly and consistently on the Smarter Water platform. The benefits of such an application development approach is that it provides one way of building water applications, including mobile applications, on the platform.

Apple revolutionized the consumer world with their iPhone/iPad app store providing developers with access to the iOS platform and allowed them to build their own applications. Apple also provided an App Store where application developer could advertise and sell the applications. The Smarter Water platform now follows this model but instead of targeting customers, it targets a range of 3rd party water applications developers from research groups (including universities), services provider and partners, to developer their own smarter water applications.

IBM's Smarter Water SDK

The Smarter Water platform provides this application development capability by providing a software development kit (SDK) for water application developers.  The SDK consists of a set of underlying interfaces and programming model to enable and simplify application development as well as number of examples to help guide and educate application developers.  The SDK consists of three core interfaces. 

  • An interface into the water information hub (WIH), which gives an application access any and all water, related assets, such as the water pipe network, pumps, sensor, meters, etc. 
  • An interface into the advanced analytics engines of the platform, which gives an application developer access to three types of, advanced analytics such as descriptive Analytics (historical insights), prescriptive/optimization analytics (optimization), and predictive Analytics (predication)
  • An interface into a rendering service, which allows the application developer to create a resulting information layer which can then be put on top of a map.
Detailed documentation about this SDK and these interfaces, written by our fearless Dublin based documentation team, can be found here: http://ibm.co/1ANClFk

The Smarter Water SDK interfaces allows us to build smart water applications

Using these three interfaces, the core pattern for application development is very simple. 
  1. The application will read the types of water asset from the water information hub (WIH) e.g. pump, pipe, valves, sensors, meters, etc. This is because the WIH has a self-describing interface. 
  2. The application will then focus on a particular asset such a pipe and then read the pipe network from the WIH, for a particular pressure zone. The application could also iterate through the pipe network and read off the meter reading in that pipe network. 
  3. The application may then do some advanced analytics on the pipe network, such as checking which meters are reading high. 
  4. The application can then create a layer of the pipe network and color the particular of the network with high meter reading in red and then display that pipe network on a map.
A complete tutorial details a factious water company called the Sunshine Water Group (SWG) who manage a water network for a regional council. The water network contains a number of sensors that monitor measurements. Sunshine Water Group have been experiencing challenges with water pressure measurements in their pipe infrastructure. Each pipeline asset in the water network has the following managed components: pipes, junctions, reservoirs, valves and tanks. Each managed component has an associated measurement. For example, both junctions and valves have pressure readings, measured in psi (force per square inch). Sunshine Water Group use valves to set pressure readings. The rest of the tutorial shows how to build out, using the SDK, a simple pressure management application and deploy it onto the Smarter Water platform.

In an up coming Smarter Planet Blog posting I will be teaming up with the Smarter Water Product Manager, Nitin Kapoor and Dr Sean Mckenna from IBM Dublin water research laboratory to talk more about the SDK and the Smarter Water platform.


No comments:

Post a Comment