renders standard interfaces and protocols to frequently encountered problems like heterogeneity, interoperability, scalability, fault-tolerance, security, resource-sharing [@5635187]. The middleware technology aim to protect the application layer from problems generated by the lower layers and that are devices heterogeneity, data encoding, security encryption algorithms. Also, middleware constitutes a way to achieve *interoperability*, and this is done by handling the heterogeneity of computer architectures, operating systems, programming languages, and networking protocols to facilitate application development and management [@Geihs:2001:MCA:619064.621730].

Middleware technologies
-----------------------

### RMI.

RMI (Remote Method Invocation) [@RMI] is a JAVA API (Application Programming Interface),and as it name indicate its used to call remote methods, \[8\] defines RMI as a technology to create communication between Java-based applications, where Java objects can beinvoked on the same machine or on different machines deployed on different networks, itsupports object polymorphism, its easy to write, secure and mobile, and supports dis-tributed garbage collection. RMI is based on TCP/IP technology and was proposed likea version for the method called RPC (Remote Procedure Call). The two machines thatare exchanging data with RMI technology have to run a JVM (Java Virtual Machine),RMI is object oriented and implement the client/server technology.

### CORBA

. CORBA (Common Object Request Broker Architecture) 