For the IBM Bluemix Internet of Things hackathon at Devoxx in London, I open sourced another sample from my colleague Bryan Boyd. The sample extends the Sphero Bluemix iOS app. The new project contains a web application that allows remote controlling Sphero balls over the internet. Additionally Sphero chariots are used which carry iOS devices. The iOS devices can take series of pictures which are displayed in the web app. With these capabilities the balls and iOS devices can be steered without having to see the actual devices.

Get the code from GitHub.

Next month my colleagues and I from the IBM Emerging Technologies team will host an IBM Bluemix Internet of Things hackathon at Devoxx in London. As part of this effort we're open sourcing some of our IoT demos. Today we (thx to Mike Robertson and Bryan Boyd) open sourced an iOS app that communicates to Sphero balls via bluetooth and to Bluemix via MQTT. It's essentially the counterpart to the Android app I published last week.

Get the code from GitHub.



Next month my colleagues and I from the IBM Emerging Technologies team will host an IBM Bluemix Internet of Things hackathon at Devoxx in London. As part of this effort we're open sourcing some of our IoT demos. I open sourced the simple Android app that communicates to Sphero balls via bluetooth and to Bluemix via MQTT.

Get the code from GitHub.





Embed Reports and visualize Data in your Bluemix Applications

By Niklas Heidloff, posted on May 21, 2015

Here is a quick introduction to another powerful service in IBM Bluemix - Embeddable Reporting (beta). With this service developers can easily build reports using a graphical tool (or API) to visualize data and embed the reports either as HTML or JSON in their web applications.

There are two good tutorials describing the service - Leverage IBM Cognos on IBM Bluemix using the Embeddable Reporting service and Embed rich reports in your applications. I've tried the sample that is documented in the Bluemix documentation. Below is a quick summary of the key concepts.

To get started you need two database services in your Bluemix app. The report artifacts are stored in either Cloudant or Mongo. The data that you want to visualize needs to reside in a Bluemix DB2 database or dashDB. In order to create reports you can use either a graphical tool (Embeddable Reporting console) or APIs.

The data is read from databases via SQL.



Via the graphical tool you can tweak the data, e.g. filter data, join data or add additional data items to summarize data. These changes do not require schema changes to the underlaying databases but can be done on top of this in the service.



The reports are defined graphically in an HTML-like editor. The editor provides components like tables and repeat controls to define the layout as well as several charting types out of the box. Additionally you can download and import further visualization components from IBM's AnalyticsZone. The data can easily be bound to the visual components via drag and drop or property boxes.



This is the resulting HTML page with data and images from the generated report.



Web applications can embed the reports by either reading the data as JSON or by reading an HTML representation of the report that can be injected into the DOM (without iframes). The HTML contains data and formatting as text and the graphical elements as images. The reports are read by the web applications via AJAX REST calls. In order to read Bluemix credentials that are necessary to access the reports server side proxies can be used.

Here is another quick introduction to one of the cool services in IBM Bluemix - the DataWorks service that IBM announced at the end of last year.

In order to leverage and analyze data from various sources and big amounts of data, data typically has to be cleansed and prepared first. This includes activities like joining data from multiple sources, filtering out unnecessary parts, sorting and classifying data and so forth. Then the actual processing and analysis of this data is simpler when using tools like dashDB, Hadoop or Watson Analytics. The DataWorks service in Bluemix provides various functionality to do this.

The service comes with a graphical tool Forge (beta) to load data from various sources. These sources can be sources that are available in the cloud like Salesforce or Amazon Redshift or databases that are run on-premises like DB2 and Oracle. To access the on-premises sources in the cloud the DataWorks service comes with a secure gateway that you can also use separately on Bluemix. The loaded data can then be shaped easily with Forge, e.g. sorted or filtered.



After this step activities are created that can be triggered on a scheduled basis to move the shaped data into data sources like Cloudant, dashDB, Watson Analytics or SQL databases which either provide built-in analytics functionality and/or can be used by application developers to query the data they are interested in.

The same functionality that is available in Forge (and more) can also be invoked by application developers via APIs. There is a Data Load REST API to load data (sample) and a Data Profiling REST API to analyze your cloud-based data source to understand the structure and content of the data (sample). Additionally there is an Address Cleansing REST API to verify US addresses (sample).

Check out this video to see some of this in action.

More Blog Entries ...

Hi, my name is Niklas Heidloff. I work for IBM as an IBM Bluemix Developer Advocate. The blog contains information about IBM Bluemix and articles about my previous work in IBM Collaboration Solutions, esp. IBM Connections and XPages.

@nheidloff

Disclaimer

The postings on this site are my own and don't necessarily represent my employer IBM's positions, strategies or opinions.