Cuando una máquina consigue entrar en otra para ejecutar código, previo permiso, se denomina RPC o llamada a procedimiento remoto. Un ejemplo clásico es el servidor que instala algo en el equipo de un cliente, como el de Windows 10 con sus constantes actualizaciones.
Otro tipo de middleware que tal vez no conocías con este nombre es el MOM o Middleware Orientado a Mensajes. Es un middleware en el que las aplicaciones se comunican mediante mensajes. Son aplicaciones rápidas, y siempre está la garantía de que los mensajes llegan a sus receptores, aunque la comunicación es asíncrona y depende de lo ocupados que estén los servidores.
Relacionado con el RPC, un ejemplo de middleware MOM es cuando pedimos nuestros datos a Twitter, Google o Instagram y estas compañías nos los entregan pasado un tiempo, en un correo electrónico en el que podemos descargarlos. Así, obtenemos una carpeta comprimida con nuestras imágenes, mensajes o tuits.
Aplicación de middleware en las empresas
Si tienes una empresa y buscas cómo integrar estos ejemplos de middleware, pregúntate si se pueden unir los diferentes softwares que uses para tus labores. Esto pasa en pequeñas compañías que tienen un programa para, por ejemplo, la facturación y otro para controlar los excedentes que guardan en el almacén.
Al pensar en un tipo de middleware para nuestra compañía, debemos tener en cuenta varios aspectos. Por ejemplo, el lugar en el que se guardará la información de trabajo: una base de datos, la nube, una carpeta de un ordenador… También, cómo repercutirán estas soluciones en la compañía para que podamos aprovechar sus principales ventajas: reducir el tiempo con procesos manuales, automatizar tareas…
Java y otras tecnologías de desarrollo
Existen tantas tecnologías de desarrollo como tipologías de middleware. Algunas de la más comunes son en lenguaje Java (contenedores EE, EJB, RMI, CORBA, AJAX…), .NET de Microsoft (ASP.net), PHP con Laravel, Javascript (Node/Express, Angular), etc. Todas ellas son muy potentes y generalmente la elección de unas u otras viene condicionado por el tipo de desarrollo a realizar, el entorno de ejecución y las skills del personal dedicado al mantenimiento de la solución.