A Solution for Distributed IoT-Enabled Applications

Nov 20 2017


Introduction to CHOReVOLUTION, IoT-Oriented Open Source IDRE - Part 1/3

Links to part 2/3, part 3/3.

The creative integration of smart connected things with existing information systems will be a driving force behind the much talked about digital transformation of the business world. CHOReVOLUTION is a solution for developing innovative IoT-enabled applications capable of managing complex interactions between users, services and things, in contexts such as intelligent transportation systems and smart city applications. Now available as an integrated development and runtime environment (IDRE), CHOReVOLUTION leverages a software engineering innovation known as choreography of services that heralds a new generation of applications integrating services and things in a manner that is dynamic, secure and distributed.

The first part of this article introduces the CHOReVOLUTION solution for developing distributed IoT-enabled applications, the second analyses how the Internet of Thing is moving toward a layered model and where CHOReVOLUTION fits in the model while the third assesses the market and business models for application enablement platforms such as the CHOReVOLUTION IDRE.

Part I – A Solution for Distributed IoT-Enabled Applications

Launched as a software engineering project seeking to develop a new style of programming applications based on what we call choreography of services, CHOReVOLUTION is an integrated environment for the development, deployment, secure execution and monitoring of distributed IoT-enabled applications.

Integrating Services and Things in Flexible Applications

The Internet of Things (IoT) encompasses a wide range of technologies and IT uses until now deployed as independent islands of connected objects. IoT is now evolving toward horizontal value-added business applications supported by Internet-scale integration of specialist on-line services which include highly heterogeneous objects, from sensors, mobiles devices and vehicles to home appliances. Among them is a whole new generation of services in sectors as varied as Smart Cities, Mobility, Smart Farming, Health Care and Healthy living. New applications generated by the interconnection of multiple smart objects and professional software services are set to drive the digital transformation of our businesses. These applications will have to adapt to ever-evolving business goals and preferences, constant innovation in networks and devices and frequent substitutions in services as well as partners. In such a context, designing, composing and coordinating multiple services and things distributed over the Internet is no small undertaking! This is where groundbreaking integrated environments such as CHOReVOLUTION come in, providing software tools and methodologies that adapt the distributed coordination of services and things dynamically to contexts characterised by dynamic changes.

Application Modelling with Choreographies

CHOReVOLUTION supports a model-driven software engineering approach: all new applications start with a business scenario and the creation of models combining services and things. Called choreographies to reflect their distributed nature, these models take advantage of the latest evolutions in Business Process Execution Language (BPEL) and Business Process Model and Notation (BPMN). 

"Choreographies of services adapt SOA to scale and flexibility levels required by IoT."

The customary way of coordinating services is called orchestration. It is centralised and works well for enterprise business processes where services are predefined and changes rare but fails to satisfy the needs of mobile applications that must necessarily function across a range of locations and cannot be statically coupled to tangible services. CHOReVOLUTION provides the solution to these issues by enabling distributed orchestration – also known as choreography of services. Service choreography is another method for composing services. A looser way of coordinating services, it defines only the participants and protocols operating between them without binding choreography tasks to specific services or things. Choreography of services makes for far more dynamic and adaptable applications.



CHOReVOLUTION is an integrated development and runtime environment (IDRE) comprised of a development studio, a monitoring console, a back-end for execution and deployment on the cloud. The CHOReVOLUTION Studio is an Eclipse-based IDE, it is used by business experts and process designers to design choreographies based on the BPMN2 notation by simple drag-and-drop operations. At this stage they can also specify interaction protocols, Quality of Service (QoS) attributes, and security aspects. In addition, the studio helps define specific software, such as Binding Components, Security Filters, Adaptors, and Coordination Delegates that make possible the distributed execution of the applications over heterogeneous protocols, connected objects and services. The CHOReVOLUTION back-end provides the actual generation, deployment and secure execution of the distributed application on a flexible cloud infrastructure. This is made possible thanks to specific components called Synthesis Processor, Enactment Engine, Federation Server, Identity Manager and multi-protocol eVolution service Bus. The monitoring console is a web-based application allowing choreography owners to manage the execution of choreographies and trigger corrective actions.

Getting Started with CHOReVOLUTION

Basic knowledge of the Eclipse IDE, choreography extensions to BPMN2 and BPMN2 choreography diagrams and modelling is all that’s needed to get started with CHOReVOLUTION. If you want to know more about how CHOReVOLUTION works, check out the e-Commerce case study available on the project website at www.chorevolution.eu which provides a comprehensive overview. CHOReVOLUTION is an open source project and its source code is freely available under the Apache 2.0 license. A machine-ready CHOReVOLUTION distribution is freely available from the AppHub portal at www.apphub.eu.com or directly from the CHOReVOLUTION download link. Check it out!

CHOReVOLUTION leverages a new software engineering approach, called choreography of services that makes possible the development and execution of distributed IoT-enabled applications. Organisations developing skills in deploying the CHOReVOLUTION integrated environment will be able to offer effective and innovative services across a wide range of sectors. The second part of this paper will analyse CHOReVOLUTION's positioning within the broad scope of IoT technologies.

    - https://directory.apphub.eu.com/organization/chorevolution
    - https://l.ow2.org/cpvm

Technical White Paper


Case Study


CHOReVOLUTION is a research project funded by the European Commission.

This article was originally posted on Linkedin: https://www.linkedin.com/pulse/solution-distributed-iot-enabled-applications-cedric-thomas/