energies

Article Development of Middleware Applied to Microgrids by Means of an Open Source Enterprise Service Bus

Jesús Rodríguez-Molina *, José-Fernán Martínez, Pedro Castillejo and Gregorio Rubio Research Center on Software Technologies and Multimedia Systems for Sustainability (CITSEM) Campus Sur UPM, Ctra. Valencia, Km 7, 28031 Madrid, Spain; [email protected] (J.-F.M.); [email protected] (P.C.); [email protected] (G.R.) * Correspondence: [email protected]; Tel.: +34-914-524-900 (ext. 20794)

Academic Editor: Paras Mandal Received: 30 September 2016; Accepted: 29 January 2017; Published: 10 February 2017

Abstract: The success of the smart grid relies heavily on the integration of Distributed Energy Resources (DERs) and interoperability among the hardware elements that are present as part of either the smart grid itself or in a smaller size deployment, such as a microgrid. Therefore, establishing an accurate design for software architectures that guarantee interoperability and are able to abstract hardware heterogeneity in this application domain, along with a clearly defined procedure on how to implement and test a solution like this, becomes a desirable objective. This paper describes the requirements needed to design a secure, decentralized and semantic middleware architecture for microgrids and the procedures used to develop it, so that the mandatory software components that have to be encased by the solution, as well as the steps that should be followed to make it happen, become clear for any designer, software architect or programmer that has to tackle similar challenges. In order to demonstrate the usability of the ideas put forward here, two successful pilots where middleware solutions were created according to these principles have been described.

Keywords: distributed system; Enterprise Service Bus (ESB); microgrid; middleware

1. Introduction The smart grid adoption is growing in a large number of countries, with the role of the different actors involved changing at a fast pace [1]. In a few years, the infrastructures bringing power both to industrial and residential customers will be enhanced with a plethora of new services providing intelligence to the network. The benefits of these new services will be used both by operators (in order to balance the generation and demand) and customers (so as to foresee the variation of power prices and configure the consumption). Moreover, consumers will be able to play a dual role where they will not only consume power from the grid but also, and due to the adoption of equipment required to use Renewable Energy Sources (solar panels, micro-wind generators, etc.), consumers will be able to generate, store and sell energy to the grid operator that can use this incoming power to balance the power flow in their network. In order to provide those services, operators need to develop a large number of solutions (in form of software components) that must communicate and coordinate among them. These components can be installed centrally or distributed among different operator servers. Distributing those components among hardware geographically separated enhances not only security (some countries consider the power network as a critical infrastructure to be protected against spurious attacks) but also leads to a balanced load for the server (as the smart grid operators could potentially serve millions of customers). To coordinate the functionalities of the services, a distributed software integration solution appears as one of the possibilities. This solution can be referred to as middleware. The need for middleware architectures was established years ago when the rising demand of interconnectivity solutions started

Energies 2017, 10, 172; doi:10.3390/en10020172 www.mdpi.com/journal/energies Energies 2017, 10, 172 2 of 50 to snowball beyond the possibilities that could be offered by the existing software architectures. It is by enabling interoperability among hardware devices and software modules of different