¿Qué es el middleware?
El middleware acelera el desarrollo de aplicaciones distribuidas al simplificar la conectividad entre aplicaciones, componentes de aplicaciones y fuentes de datos de backend.
Suscríbase al boletín de noticias de IBM
Fondo negro y azul
¿Qué es el middleware?

El middleware es software que permite uno o más tipos de comunicación o conectividad entre aplicaciones o componentes de aplicaciones en una red distribuida. Al facilitar la conexión de aplicaciones que no fueron diseñadas para conectarse entre sí, y al brindar funcionalidad para conectarlas de manera inteligente, el middleware agiliza el desarrollo de aplicaciones y acelera el tiempo de comercialización.

Hay muchos tipos de middleware. Algunos, como los message brokers o supervisores de procesamiento de transacciones, se centran en un tipo de comunicación. Otros, como los servidores de aplicaciones web o middleware de dispositivos móviles, proporcionan la gama completa de funcionalidades de comunicación y conectividad necesarias para crear un tipo particular de aplicación. Incluso otros, como una solución de plataforma de integración como servicio (iPaaS) basada en la nube o un bus de servicio empresarial (EBS), funcionan como un núcleo de integración centralizado para conectar todos los componentes de una empresa. (Incluso hay middleware que permite a los desarrolladores crear su propio middleware personalizado).

El middleware obtuvo su nombre porque el primer middleware actuaba normalmente como un mediador entre un frontend de aplicación, o cliente, y un recurso de backend, por ejemplo, una base de datos, una aplicación de mainframe o un dispositivo de hardware especializado, desde el cual el cliente puede solicitar datos. 

Pero el middleware actual opera mucho más allá de este ámbito. El middleware de un portal, por ejemplo, abarca el frontend de la aplicación, así como las herramientas para la conectividad del backend. El middleware de una base de datos normalmente incluye su propio almacén de datos. Una clase emergente de middleware (que se analiza más adelante) aprovecha la tecnología de contenedores para ayudar a los desarrolladores a conectarse a recursos distribuidos en varias nubes.

Cómo funciona el middleware

Al nivel más básico, el middleware permite a los desarrolladores crear aplicaciones sin tener que crear una integración personalizada cada vez que necesitan conectarse a componentes de aplicaciones (servicios o microservicios), fuentes de datos, recursos de computación o dispositivos.

Lo hace proporcionando servicios que permiten diferentes aplicaciones y servicios para comunicarse utilizando infraestructuras de mensajería comunes como JSON (notación de objetos JavaScript), REST (transferencia de estado representacional), XML (lenguaje de marcado extensible), SOAP (protocolo simple de acceso a objetos) o servicios web. Normalmente, el middleware también proporciona servicios que permiten que los componentes escritos en varios lenguajes, como Java, C++, PHP y Python, se comuniquen entre sí.

Además de proporcionar esta interoperabilidad que ahorra trabajo, el middleware también incluye servicios que ayudan a los desarrolladores a:

  • Configurar y controlar conexiones e integraciones. Según la información de una solicitud de cliente o de una aplicación de frontend, el middleware puede personalizar la respuesta de la aplicación o servicio de backend. En una aplicación de comercio electrónico de un minorista, la lógica de la aplicación de middleware puede ordenar los resultados de búsqueda de productos de una base de datos de inventario de backend por la ubicación de la tienda más cercana, según la dirección IP o la información de ubicación en el encabezado de solicitud HTTP.

  • Asegurar conexiones y transferencias de datos.  El middleware normalmente establece una conexión segura desde la aplicación de frontend a las fuentes de datos de backend mediante seguridad de la capa de transporte (TSL) u otro protocolo de seguridad de red. Además, puede proporcionar funciones de autenticación, donde solicita credenciales (nombre de usuario y contraseña) o certificados digitales de solicitudes de aplicaciones de frontend. 

  • Gestionar el tráfico de forma dinámica en sistemas distribuidos. Cuando el tráfico de aplicaciones alcanza su punto máximo, el middleware empresarial puede escalar para distribuir las solicitudes de los clientes en varios servidores, en las instalaciones o en la nube. Y las funcionalidades de procesamiento simultáneo pueden evitar problemas cuando varios clientes intentan acceder la misma fuente de datos de backend simultáneamente.
Tipos de middleware

Hay muchos tipos diferentes de middleware. Algunos se centran en tipos específicos de conectividad, otros en aplicaciones, componentes de aplicaciones y dispositivos específicos. Algunos combinan funciones de middleware para una tarea de desarrollo específica. Algunos de los tipos de software de middleware más conocidos y más utilizados incluyen:

El middleware orientado a mensajes (MOM) permite que los componentes de la aplicación utilicen diferentes protocolos de mensajería para comunicarse e intercambiar mensajes. Además de traducir (o transformar) mensajes entre aplicaciones, MOM gestiona el enrutamiento de los mensajes para que siempre lleguen a los componentes adecuados en el orden correcto. Ejemplos de MOM incluyen colas de mensajes y message brokers.

El middleware de llamada a procedimiento remoto (RPC) permite que una aplicación active un procedimiento en otra aplicación, que se ejecuta en la misma computadora o en una computadora o red diferente, como si ambas fueran parte de la misma aplicación en la misma computadora.

El middleware de datos o bases de datos simplifica el acceso a las bases de datos de backend y la interacción con ellas. Normalmente, el middleware de base de datos es una forma de servidor de base de datos SQL.

El middleware de API (interfaz de programación de aplicaciones) proporciona herramientas que los desarrolladores pueden utilizar para crear, exponer y gestionar API de sus aplicaciones, para que otros desarrolladores puedan conectarse a ellas. Algunos middleware de API incluyen herramientas para monetizar las API, lo que permite que otras organizaciones las utilicen a precio de costo. Algunos ejemplos de middleware de API incluyen plataformas de gestión de API, gateways de API y portales de desarrolladores de API.

El middleware de intermediario de solicitud de objetos (ORB) actúa como intermediario entre una solicitud de un objeto o componente de la aplicación, y el cumplimiento de esa solicitud por otro objeto o componente en la red distribuida. Los ORB operan con la arquitectura de intermediario de solicitud de objeto común (CORBA), que permite que un componente de software realice una solicitud de otro sin saber dónde está alojado el otro o cómo se ve su interfaz de usuario: el "intermediario" gestiona esta información durante el intercambio.

El middleware transaccional proporciona servicios para soportar la ejecución de transacciones de datos a través de una red distribuida. El middleware transaccional más conocido son los monitores de procesamiento de transacciones (TPM), que garantizan que las transacciones avancen de un paso al siguiente (ejecutando el intercambio de datos, agregando/cambiando/eliminando datos donde sea necesario, etc.) hasta su finalización.

El middleware de transmisión de datos asíncrona replica una transmisión de datos en un almacén intermedio, lo que permite compartir datos entre varias aplicaciones. Apache Kafka es uno de los ejemplos más conocidos de middleware para la transmisión de datos en tiempo real.

El middleware de dispositivo proporciona un conjunto específico de funcionalidades de integración y conectividad para desarrollar aplicaciones para un sistema operativo móvil específico.

El middleware de portal proporciona herramientas y recursos para integrar el contenido y la funcionalidad de las aplicaciones relacionadas en un solo nivel de pantalla, para crear una sola aplicación compuesta.

El middleware de robótica simplifica el proceso de integración de hardware, firmware y software robóticos de varios fabricantes y ubicaciones.

Middleware de integración de aplicaciones empresariales


El middleware de integración de aplicaciones empresariales permite que una organización establezca un centro de integración empresarial, una forma estandarizada de conectar todas las aplicaciones, componentes de aplicaciones, procesos de negocio y fuentes de datos de backend en la empresa extendida.

Hasta hace unos diez años, el middleware de integración de aplicaciones empresariales más común era el bus de servicio empresarial (ESB), que sirvió como centro de integración dentro de una arquitectura orientada a servicios (SOA). Hoy en día, iPaaS permite que una organización conecte aplicaciones, datos, procesos y servicios en entornos locales, de nube privada y de nube pública, sin el trabajo y el gasto de comprar, instalar, gestionar y mantener el middleware de integración (y el hardware en el que se ejecuta) dentro de su propio centro de datos.

Middleware de plataforma


El middleware de plataforma (o middleware de plataforma de aplicación) puede dar aún más soporte al desarrollo de aplicaciones y acelerar la entrega de aplicaciones al proporcionar un entorno de hosting en tiempo de ejecución, como un entorno de ejecución de Java (Java RE) o contenedores, o ambos, para aplicaciones o lógica empresarial. El middleware de plataforma puede incluir o combinar servidores de aplicaciones empresariales, servidores web y sistemas de gestión de contenido, así como los otros tipos de middleware enumerados anteriormente.

Middleware y aplicaciones nativas en la nube

El nativo de la nube es un enfoque de desarrollo de aplicaciones que aprovecha las tecnologías fundamentales de computación en la nube, con el objetivo de proporcionar un desarrollo, implementación y gestión consistentes en entornos locales, de nube privada o de nube pública. 

En la práctica, hoy en día las aplicaciones nativas en la nube son aplicaciones creadas a partir de microservicios e implementadas en contenedores orquestados usando Kubernetes. Los microservicios son componentes de aplicaciones poco acoplados que abarcan su propia pila y se pueden implementar y actualizar de forma independiente entre sí, y comunicarse entre sí mediante una combinación de API REST, message brokers y flujos de eventos. Los contenedores son ejecutables ligeros que empaquetan el código de la aplicación, como los microservicios, junto con las bibliotecas y dependencias del sistema operativo necesarias para ejecutar ese código en cualquier infraestructura tradicional de TI o nube.

Junto con las tecnologías relacionadas, crean una potente plataforma que se desarrolla una vez y se implementa en cualquier lugar, para ofrecer nuevas aplicaciones de nube híbrida y modernizar los sistemas heredados tradicionales para su uso en la nube. Pero también conducen a un entorno de desarrollo complejo que combina aún más aplicaciones de software, fuentes de datos, lenguajes de programación, herramientas y sistemas distribuidos. 

El middleware puede resolver parte de esta complejidad, pero la ejecución de aplicaciones en contenedores con middleware convencional puede agregar su propia complejidad, así como el tipo de sobrecarga de infraestructura que los contenedores fueron diseñados para eliminar. Por esta razón, las plataformas populares de desarrollo de aplicaciones en la nube, como Cloud Foundry (enlace externo a IBM) y Red Hat Open Shift evolucionaron para incluir middleware en contenedores: middleware modularizado de modo que solo las funciones de conectividad necesarias se puedan empaquetar en un contenedor.

Soluciones relacionadas
WebSphere Application Server

Un entorno de tiempo de ejecución de servidor Java flexible y muy seguro para aplicaciones empresariales

Explore WebSphere Application Server
IBM® API Connect

Gestione su ecosistema de API en múltiples nubes, lo que incluye impulsar las operaciones de socialización y monetización

Explore IBM® API Connect
Automatización basada en IA

Desde sus flujos de trabajo de negocios hasta sus operaciones de TI, lo tenemos cubierto con automatización basada en IA. Descubra cómo las empresas líderes se están transformando.

Explore la automatización basada en IA
Recursos ¿Qué es un message broker?

Los message brokers son una tecnología de comunicación entre aplicaciones que admite arquitecturas de nube nativa, basada en microservicios, sin servidor e híbrida.

¿Qué es iPaaS (plataforma de integración como servicio)?

iPaaS es una solución basada en la nube que estandariza y simplifica la integración en entornos locales y en la nube.

¿Qué es una API REST?

Las API REST proporcionan una forma flexible y ligera de integrar aplicaciones y se han convertido en el método más común para conectar componentes en arquitecturas de aplicaciones de microservicios.

Dé el siguiente paso

IBM® MQ ofrece mensajería comprobada, de alto rendimiento y de alta seguridad para entornos híbridos y multinube. Conecte aplicaciones y microservicios en centros de datos privados, en entornos híbridos o multinube y en el borde de su empresa. Aproveche el valor de sus datos de misión crítica existentes para obtener insights en tiempo real. Y proteja su negocio de datos incorrectos y errores de aplicaciones con entrega de mensajes de una única vez: IBM® MQ nunca perderá un mensaje ni entregará un mensaje más de una vez.

Conozca más acerca de IBM® MQ