- Node.js -

Italian conference - IV edition

10 October 2015 - Desenzano (BS)

Matteo Murgida


Matteo Murgida, Software Architect and Lead Developer, Siemens.



Level: Intermediate, some NodeJS knowledge required - Schedule: 15:00 - 15:30

EMS: Energy Management System, the Node way


Presentation of the software architecture of a NodeJS-based enterprise application for Energy Management, developed by Siemens. This is a IoT application that elaborates data coming from a big number of installed devices and presents it via several web dashboards and interfaces.

The application is called Energy Management System (EMS), and is composed by several web based clients with a NodeJS API and application logic tier as backend.

The talk has its focus on the backend tier, that represents a good usecase of how to exploit NodeJS unique features in order to build complex enterprise-class systems.

The EMS backend leverages the event-driven and modular design of NodeJS applications to implement an architecture based on microservices that is flexible, resilient and expandable. Each service is a NodeJS module that communicates with the other modules via a service bus. It can be deployed on promise or in cloud.
In the latter case, the modularity provided by NodeJS can be used effectively to take advantage of the cloud auto-scale capabilities, allowing the system to scale up and down dynamically based on the traffic coming from the devices.

Another crucial component of the system is the Gateway that collects the data from the devices and send it to the cloud. Even this component is implemented in NodeJS: a set of Javascript and native modules interpret the various protocols adopted by the devices. It adopts the MQTT protocol for the communication with the cloud.

The persistence of the data is granted by the NoSQL database MongoDB.

Did you attend this talk?
Rate it on Joind.in