This week I attended GWT.create in Munich which is hosted by the IBM partner Vaadin. I used the opportunity to learn a little about the Vaadin framework which has become very popular with a big community of developers.

As I understand Vaadin is especially useful to build web based business applications with views and forms rapidly without having to write client side HTML and JavaScript code as described in the documentation:

"While traditional web programming is a fun way to spend your time learning new web technologies, you probably want to be productive and concentrate on the application logic. The server-side Vaadin framework takes care of managing the user interface in the browser and the AJAX communications between the browser and the server. With the Vaadin approach, you do not need to learn and deal directly with browser technologies, such as HTML or JavaScript."

Check out the hello world sample which is purely written in Java. "The Vaadin client-side framework includes Google Web Toolkit (GWT), which provides a compiler from Java to the JavaScript that runs in the browser, as well a full-featured user interface framework. With this approach, Vaadin is pure Java on both sides."

Vaadin runs on IBM WebSphere Liberty. In November the Vaadin team added a Vaadin boilerplate to Bluemix that you should try out. Note that for some reason you need to clone and build the code locally first and then push to Bluemix before you can run the sample app.

At GTW.create, by the way, we presented IBM Bluemix in the showcase area. I had a lot of talks with developers who've never heard about Bluemix but were really excited by the capabilities. The photo below is from our first lottery.

Quick Demo of the new Social File Sharing Service in Bluemix

By Niklas Heidloff, posted on Jan 28, 2015

At IBM ConnectED 2015 IBM announced and previewed a new service for IBM Bluemix, called Social File Sharing. The service allows storing and sharing files in the cloud and it helps users to find relevant files via social metadata, for example likes, tags, comments and the number of downloads.

Watch the video for a quick overview.

The social file sharing service utilizes IBM Connections Social Cloud which is an innovative set of collaborative and social services. When the file sharing service is created and bound to a Bluemix application, developers get their own Connections organization provisioned where they can create their own users and data.

The social file sharing service provides REST APIs and there is also a Java sample application called photo sharing that comes with some convenience functionality to invoke the APIs from Java. The application demonstrates the social capabilities of file sharing.

IBM previewed XPages Applications running on Bluemix

By Niklas Heidloff, posted on Jan 26, 2015

At IBM ConnectED 2015 IBM announced and previewed a new capability which allows developers to run XPages applications on IBM Bluemix.

XPages is a web application development platform based on standards and common web development skills like Java, JSF and JavaScript. XPages applications run on IBM Domino which comes with a full stack of components to build applications rapidly, for example a NoSQL database, built-in security and full text search.

At ConnectED a new XPages runtime, a new Domino data service and a new XPages boilerplate were introduced. In order to fit into the Bluemix architecture, to benefit from features like scalability and to leverage other services, XPages applications that are hosted on Bluemix are split into two parts - application code and data. While this separation has been adopted as a best practice by most XPages applications already, the Bluemix architecture now requires it.

XPages Runtime

A new XPages runtime is provided to run XPages application code on Bluemix.

Code can be developed and tested on local IBM Domino servers. After this the code, packaged in NSF files, can be pushed to Bluemix via the cf command line tool. Additionally a new plugin for IBM Domino Designer, the IDE for XPages applications, was presented that allows pushing XPages applications directly from the IDE to Bluemix, similarly to the IBM Eclipse Tools for Bluemix.

Domino Data Service

The Domino data service allows XPages applications running on Bluemix to store data in Domino NoSQL databases. Typically the databases contain besides the data also indexes/views.

After the service has been created and provisioned, credentials are provided for XPages developers to access databases in the cloud from the IDE.

In order to access data in these databases from XPages applications so called JSF data sources can be used. For other runtimes REST APIs might be provided.

XPages Boilerplate

In order for developers to get started as easily as possible an XPages boilerplate is provided. The boilerplate comes with the XPages runtime, the Domino data service and a sample.

The sample is an easy to do application which shows CRUD operations, views and a responsive design.

The Sky is the Limit

With support of XPages applications running on Bluemix, IBM provides new options for developers to host XPages applications in the cloud. In addition to other options where Domino is hosted on Infrastructure as a Service offerings like Softlayer, developers can also easily leverage other services in Bluemix and mix those in their applications.

For example XPages applications can leverage the cognitive Watson services in Bluemix, XPages applications can store data in other databases without having to set up infrastructure first, they can leverage the auto-scalability functionality and data caching of Bluemix and much more.

To find out more about this topic, attend the session from Martin Donnelly "IBM Domino Applications in Bluemix" today (Mon, 26-Jan) at 02:15 PM - 03:15 PM in Dolphin - S. Hem 2. Also if you attend IBM ConnectED don't forgot to thank the XPages development team who has done an incredible job in my opinion.

As stated in the opening general session the expected availability is H2 2015.
On February 7th and 8th DeveloperWeek will host a big hackathon for 1000 developers as a kick-off to the DeveloperWeek conference in the following week.

IBM will demonstrate IBM Bluemix at the conference and will also host one of the challenges of the hackathon, called the IBM Bluemix challenge. Each member of the winning team will receive a LG G Watch Powered by Android Wear.

Maybe more importantly though we'll have a great team of mentors to help people to get started with IBM Bluemix and to advice with the implementation of specific project ideas. So this will be a great way for people to learn Bluemix.

The deck below describes more details.

When I recently started to work on Bluemix, I was honestly a little confused about what Node-RED is, how it relates to the Node.js Bluemix runtime and how it relates to the Internet of Things service. Since some of my readers might be in the same situation, let me quickly try to explain.

Node-RED is a visual tool for wiring the Internet of Things, but it can also be used for other types of applications to quickly assemble flows of services. The name is not the most intuitive name. The reason why 'Node' is in the name is because the tool is implemented as Node application but from a consumer point of view that's really only an internal implementation detail. Node-RED is available as open source and has been implemented by the IBM Emerging Technology organization.

Node-RED is included in the Bluemix Internet of Things starter application, but you can also deploy it as Node.js application separately. To use Node-RED for Internet of Things scenarios you need to add the Internet of Things Foundation service to your Bluemix application. The IoT service allows to register and connect different types of devices. After this you can use the incoming and outgoing MQTT nodes in your flows. Take a look at the existing Bluemix Internet of Things samples. Most of them use Node-RED to define flows where either incoming sensor data from 'things' is handled, e.g. stored in databases, or where commands are sent to devices.

Node-RED can not only be used for Internet of Things applications, but it is a generic event-processing engine. For example you can use it to listen to events from http, websockets, tcp, Twitter and more and store this data in databases without having to program much if at all. You can also use it for example to implement simple REST APIs. Ryan Baxter provided just last week a Node-RED sample that isn't an IoT app. You can find many other sample flows on the Node-RED website.

There are also several good demos and videos. One demo I especially like is this one from Rodric Yates:


For a better description what Node-RED is and some of the history check out the article How IBM's Node-RED is hacking together the internet of things from Nick Heath.

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.



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