The integration of small-scale Renewable Energy Sources in the Smart Grid depends on several challenges that must be overcome. One of them is the presence of devices with very different characteristics present in the grid or how they can interact among them in terms of interoperability and data sharing. While this issue is usually solved by implementing a middleware layer among the available pieces of equipment in order to hide any hardware heterogeneity and offer the application layer a collection of homogenous resources to access lower levels, the variety and differences among them make the definition of what is needed in each particular case challenging. This manuscript offers a description of the most prominent middleware architectures for the Smart Grid and assesses the functionalities they have, considering the performance and features expected from them in the context of this application domain.