Charalampos Doukas is a researcher at CREATE-NET – or rather, the Center for Research And Telecommunication Experimentation for NETworked communities, the non-profit research center headquartered in Italy. Charalampos spoke at WSO2Con EU 2015 about his research into the world of open source in IoT and where WSO2 stands in this context.
In his 28-minute presentation, Charalampos started off by pointing out that despite the strange lack of discussion about open source in IoT conferences, to him the whole thing started with the open source community “with people connecting their Arduinos to the Internet and sharing their sensor data.” In fact, Pebble and SmartThings (the smart home platform maker acquired by Samsung) both used Arduinos for their 2012 proofs of concept; open source has always been closely tied to IoT platforms as we know them.
From a developer’s perspective, an IoT platform must be able to connect devices to each other and to users and to allow services to consume the data and control these devices, delivering interesting use cases. The main features, thus, are to communicate with and actuate devices, to collect and manage data from them, and to allow user interaction. A “spaghetti” of standardization bodies push a wide variety of protocols and standards for doing all this.
As Charalampos explained, there are over 40 IoT platforms that fulfill these requirements. Some of them, like ThingSpeak and Nimbits, are open-source; Nimbits, one of the oldest, runs on Google App Engine and even integrates with Wolfram Alpha (leading to some interesting use cases). Then there are the likes of SiteWhere, which embeds WSO2 Siddhi for Complex Event Processing and connects to WSO2 Identity Server.
“So, WSO2,” he said in his talk. “This picture is quite clear and illustrates the different layers that you need to build an IoT application and where WSO2 starts. You have the devices, you have the enterprise service bus, and message broker that enable the messaging; you can do the processing and analytics, and on top of that you can have things like a dashboard or web portal for managing data and devices. The new things that are coming – and hopefully will be more and more improved and used – are the device manager and identity server.”
Charalampos quickly sketched out what he sees as the core components of the WSO2 IoT platform: the WSO2 Message Broker, Enterprise Service Bus, Identity Server, Enterprise Mobility Manager, User Engagement Server, API Manager, Business Activity Monitor and Complex Event Processor. Yes, it’s a handful to enunciate – but the way we’ve built our platform, each component is built on the Carbon framework and provides functionality that you can add and subtract as needed. This makes it easy to not just maintain the lightweight stack that an IoT solution typically needs, but also to integrate with other software that provides similar functionality.
One of our biggest changes since then is to create an all-new product, the upcoming WSO2 IoT Server, bringing together the best of the WSO2 platform’s many capabilities into a more out-of-the-box, enterprise-grade server-side IoT device management architecture. Once integrated with WSO2 Data Analytics Server (which contains the functionality of WSO2 CEP and WSO2 BAM), it offers advanced IoT device analytics, including policy-based edge analytics and predictive analytics using machine learning. And true to the roots of IoT, this remains open source.