¿Qué es el middleware?
El middleware acelera el desarrollo de aplicaciones distribuidas ya que simplifica la conectividad entre aplicaciones, componentes de aplicaciones y orígenes de datos de fondo.
Suscríbase al boletín 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 han sido diseñadas para conectarse entre sí y al proporcionar la funcionalidad para conectarlas de manera inteligente, el middleware agiliza el desarrollo de aplicaciones y acelera la comercialización.

Hay muchos tipos de middleware. Algunos, como los intermediarios de mensajes o los monitores de procesamiento de transacciones, se centran en un tipo de comunicación. Otros, como los servidores de aplicaciones web o el middleware de dispositivos móviles, proporcionan el rango completo de prestaciones de conectividad y comunicación necesarias para crear un tipo determinado de aplicación. Todavía otros, como una oferta de plataforma de integración como servicio (iPaaS) basada en la nube o un bus de servicio empresarial (EBS), funcionan como un hub de integración centralizado para conectar todo los componentes de una empresa (incluso hay middleware que permite a los desarrolladores crear su propio middleware personalizado).

El middleware recibe su nombre porque el primer middleware normalmente actuaba como mediador entre una aplicación frontal, o cliente, y un recurso de fondo, por ejemplo, una base de datos, una aplicación de mainframe o un dispositivo de hardware especializado, desde el cual el cliente podía solicitar datos. 

Pero el middleware ahora opera más allá de este ámbito. El middleware de portal, por ejemplo, engloba tanto la aplicación frontal como las herramientas para la conectividad de fondo; el middleware de base de datos ya suele incluir su propio almacén de datos. Y como leerá a continuación, una clase emergente de middleware aprovecha la tecnología de contenedores para ayudar a los desarrolladores a conectar los recursos distribuidos en varias nubes.

Cómo funciona el middleware

En el 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 los componentes de la aplicación (servicios o microservicios), fuentes de datos, recursos informáticos o dispositivos.

Para ello, proporciona servicios que habilitan la comunicación entre diferentes aplicaciones y servicios mediante marcos comunes de mensajería como JSON (JavaScript Object Notation), REST (Representational State Transfer), XML (Extensible Markup Language), SOAP (Simple Object Access Protocol) o servicios web. Por lo general, el middleware también proporciona servicios que permiten que componentes escritos en varios lenguajes, como Java, C++, PHP y Python, se comuniquen entre sí.

Además de proporcionar esta interoperatividad, que supone un ahorro de trabajo, el middleware también incluye servicios que ayudan a los desarrolladores.

  • Configurar y controlar conexiones e integraciones. A partir de la información de una solicitud de aplicación frontal o de cliente, el middleware puede personalizar la respuesta de la aplicación o servicio de fondo. En la 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 fondo por la ubicación del almacén más cercano, basándose en la dirección IP o la información de ubicación en la cabecera de la solicitud HTTP.

  • Conexiones y transferencia de datos seguras.  El middleware normalmente establece una conexión segura desde la aplicación frontal a las fuentes de datos de fondo mediante TSL (Transport Layer Security) u otro protocolo de seguridad de red. Además, puede proporcionar prestaciones de autenticación, realizando solicitudes de credenciales (nombre de usuario y contraseña) o certificados digitales a la aplicación frontal. 

  • Gestionar el tráfico de forma dinámica entre sistemas distribuidos. Cuando hay un pico de tráfico de las aplicaciones, el middleware empresarial puede escalarse para distribuir las solicitudes de clientes entre varios servidores, en local o en la nube. Y las prestaciones de procesamiento simultáneo pueden evitar problemas cuando varios clientes tratan de acceder al mismo origen de datos de fondo simultáneamente.
Tipos de middleware

Hay muchos tipos diferentes de middleware. Algunos se centran en tipos de conectividad específicos, otros en aplicaciones específicas, componentes de aplicación y dispositivos; algunos combinan prestaciones 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 intercambiar mensajes. Además de traducir, o transformar, mensajes entre aplicaciones, MOM gestiona el direccionamiento de los mensajes para que siempre obtengan los componentes apropiados en el orden correcto. Ejemplos de MOM son las colas de mensajes y los intermediarios de mensajes.

El middleware de llamada a procedimiento remoto (RPC) permite que una aplicación active un procedimiento en otra aplicación, que se ejecuta en el mismo sistema o en otro sistema o red, como si ambos formaran parte de la misma aplicación en el mismo sistema.

El middleware de datos o base de datos simplifica el acceso y la interacción con las bases de datos de fondo. Por lo general, 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 las API para sus aplicaciones, para que otros desarrolladores puedan conectarse a ellas. Algún middleware de API incluye herramientas para monetizar las API, ya que facilita que otras organizaciones las utilicen a cambio de un coste. Ejemplos de middleware de API incluyen las plataformas de gestión de API, pasarelas de API y portales de desarrollador de API.

El middleware de intermediario para solicitudes de objeto (ORB) actúa como intermediario entre una solicitud de un objeto de aplicación o componente y la resolución de esta solicitud por otro objeto o componente sobre la red distribuida. Los ORB funcionan con la arquitectura CORBA (Common Object Request Broker), que permite que un componente de software realice una solicitud de otro sin saber dónde está alojado, o qué aspecto tiene su IU: el "intermediario" maneja esta información durante el intercambio.

El middleware transaccional proporciona servicios para apoyar 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 se aseguran que las transacciones se ejecuten paso a paso: realizar el intercambio de datos, añadir/cambiar/eliminar datos donde sea necesario, etc., hasta finalizar.

El middleware de transmisión de datos asíncrona replica una secuencia de datos en un almacén intermedio, permitiendo el uso compartido de 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 definido de prestaciones de integración y conectividad para el desarrollo de aplicaciones para un sistema operativo móvil específico.

El middleware de portal proporciona herramientas y recursos para integrar contenido y prestaciones de varias aplicaciones relacionadas "en el cristal", o en una única pantalla, para crear una única aplicación compuesta.

El middleware de robótica simplifica el proceso de integración de hardware, firmware y software robótico 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 hub de integración empresarial: una forma estandarizada de conectar todas las aplicaciones, los componentes de aplicación, los procesos de negocio y los orígenes de datos de fondo en la empresa extendida.

Hasta hace unos diez años, el middleware de integración de aplicaciones empresariales más frecuente era el bus de servicio empresarial (ESB), que sirvió como hub de integración dentro de una arquitectura orientada a servicios (SOA). Actualmente, iPaaS permite que una organización conecte aplicaciones, datos, procesos y servicios en entornos locales, de nube privada y nube pública, sin el trabajo ni el gasto que implica 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 aplicaciones) también puede dar soporte al desarrollo de aplicaciones y acelerar la entrega de aplicaciones al proporcionar un entorno de alojamiento en tiempo de ejecución, como un entorno de ejecución Java (Java RE), o contenedores, o ambos, para la lógica de negocio o de aplicación. El middleware de plataforma puede incluir o combinar servidores de aplicaciones empresariales, servidores web y sistemas de gestión de contenidos, así como los demás tipos de middleware enumerados anteriormente.

Middleware y aplicaciones nativas en la nube

El enfoque nativo en la nube se aplica al desarrollo de aplicaciones y aprovecha las tecnologías fundamentales de cloud computing, con el objetivo de proporcionar un desarrollo, despliegue y gestión coherentes en entornos locales, de nube privada o de nube pública. 

En términos prácticos, las aplicaciones nativas en la nube actuales son aplicaciones creadas a partir de microservicios y desplegadas en contenedores orquestados mediante Kubernetes. Los microservicios son componentes de aplicación débilmente acoplados que incluyen su propia pila, se pueden desplegar y actualizar independientemente unos de otros, y comunicarse entre sí mediante una combinación de API REST, intermediarios de mensajes y secuencias de sucesos. Los contenedores son ejecutables ligeros que empaquetan código de aplicación, como microservicios, junto con solo las bibliotecas del sistema operativo y las dependencias necesarias para ejecutar este código en cualquier TI tradicional o infraestructura de nube.

Juntas, estas tecnologías y otras 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 para modernizar sistemas tradicionales existentes para su uso en la nube. Pero también facilitan un complejo entorno de desarrollo que combina aún más aplicaciones de software, orígenes de datos, lenguajes de programación, herramientas y sistemas distribuidos. 

El middleware puede resolver parte de esta complejidad, pero ejecutar aplicaciones en contenedores con middleware convencional también conlleva sus propias dificultades, así como el tipo de sobrecarga de infraestructura que los contenedores han sido diseñados para eliminar. Por esta razón, las plataformas de desarrollo de aplicaciones en la nube más populares como Cloud Foundry (enlace externo a IBM) y Red Hat Open Shift  evolucionó para incluir middleware en contenedores, que es middleware modularizado para que solo las funciones de conectividad requeridas puedan empaquetarse en un contenedor.

Soluciones relacionadas
WebSphere Application Server

Un entorno de ejecución de servidor Java flexible y altamente seguro para aplicaciones empresariales.

Explore WebSphere Application Server
IBM API Connect

Gestione su ecosistema de API en varias nubes, incluida la mejora de las tareas de socialización y monetización.

Explore IBM API Connect
Automatización basada en IA

Desde sus flujos de trabajo de negocio hasta sus operaciones de TI, le ayudamos con la automatización basada en IA. Descubra cómo se están transformando las empresas más destacadas.

Explore la automatización basada en IA
Recursos ¿Qué es un intermediario de mensajes?

Los intermediarios de mensajes son una tecnología de comunicación entre aplicaciones que admite arquitecturas nativas en la nube, basadas en microservicios, sin servidor y de nube híbrida.

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

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

¿Qué es una API REST?

Las API REST proporcionan una forma flexible y ligera de integrar aplicaciones. Han surgido como 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 probada, de alto rendimiento y altamente segura para entornos híbridos y de múltiples nubes. Conecte aplicaciones y microservicios en centros de datos privados entre distintos entornos híbridos o de varias nubes y al borde de su empresa. Aproveche el valor de sus datos esenciales existentes para obtener información en tiempo real. Y proteja a su empresa de datos incorrectos y errores de aplicación con entrega de mensajes exactamente una vez: IBM MQ nunca perderá un mensaje ni enviará un mensaje más de una vez.

Más información sobre IBM MQ