¿Qué es el middleware?
Explorar la solución de middleware de IBM Registrarse para recibir actualizaciones en la nube
Ilustración que muestra el uso de middleware para acelerar el desarrollo de aplicaciones distribuidas mediante la simplificación de la conectividad

Publicación: 22 de enero de 2024
Colaboradores: Stephanie Susnjara, Ian Smalley

¿Qué es el middleware?

El middleware es un software que permite uno o más tipos de comunicación o conectividad entre aplicaciones o componentes en una red distribuida, creando esencialmente un "pegamento de software" que une diferentes sistemas.

El middleware agiliza el desarrollo de aplicaciones y acelera el tiempo de comercialización a través de funciones inteligentes que facilitan las conexiones entre plataformas que inicialmente no fueron diseñadas para conectarse.

Entre los distintos tipos de middleware se incluyen los siguientes:

  • Agentes de mensajes o monitores de procesamiento de transacciones que se centran en un tipo de comunicación.
  • Servidores de aplicaciones web o middleware de dispositivos móviles que proporcionan toda la gama de capacidades de comunicación y conectividad necesarias para crear un tipo particular de aplicación.
  • Middleware que permite a los desarrolladores construir su propio middleware personalizado.
Modernización de las operaciones de TI: transformación de la gestión de las tecnologías de middleware

Descubra cómo IBM WebSphere Automation puede ayudarle a aumentar su madurez para la automatización de la gestión de middleware y reducir costos.

Contenido relacionado Regístrese para obtener la guía sobre la nube híbrida
Orígenes del middleware

Introducido por primera vez a finales de la década de 1960, el término middleware se acuñó porque la primera versión solía actuar como mediador entre el frontend de una aplicación (cliente) y un recurso de backend (por ejemplo, una base de datos, una aplicación de mainframe o un dispositivo de hardware especializado) desde la que el cliente podría aplicar datos. En respuesta al aumento de la computación distribuida en la década de 1980, el uso de middleware aumentó como una forma de vincular las aplicaciones más nuevas a los sistemas heredados tradicionales.

Pero el middleware actual opera mucho más allá de este alcance. El middleware del portal, por ejemplo, abarca el frontend de la aplicación, así como herramientas para la conectividad del backend. El middleware de base de datos suele incluir su propio almacén de datos.

El middleware evolucionó para desempeñar un papel esencial en el desarrollo de aplicaciones modernas nativas de la nube. Emplea tecnología de contenedores, que permite a DevOps y otros equipos conectarse a recursos distribuidos en entornos multinube. Esto soporta la integración continua (CI)la entrega continua (CD)CI/CD—, lo que agiliza la programación, las pruebas y el despliegue de aplicaciones para un rápido escalamiento y crecimiento del negocio.

Las empresas aprovechan cada vez más el middleware como una oferta de servicio basada en la nube para la comunicación entre sistemas y como herramienta de gestión de datos. Un estudio de Technavio proyectó que el mercado global de middleware como servicio (MWaaS) aumentaría en 45.440 millones de dólares, a una CAGR del 17.73 % entre 2023 y 2028. El estudio atribuye este crecimiento a la adopción generalizada de la computación en la nube y al aumento de la computación sin servidor y los microservicios.1

¿Cómo funciona el middleware?

El middleware permite a los desarrolladores construir aplicaciones sin crear una integración personalizada siempre que necesiten conectarse a componentes de aplicaciones (servicios o microservicios), fuentes de datos, recursos informáticos o dispositivos.

Para ello, el middleware proporciona servicios que permiten que diferentes aplicaciones y servicios se comuniquen a través de marcos de mensajería comunes, como la notación de objetos JavaScript (JSON), la transferencia de estado representacional (REST), el lenguaje de marcado extensible (XML), el protocolo simple de acceso a objetos (SOAP) o los 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í.

Componentes de middleware

Los componentes arquitectónicos de middleware estándar incluyen lo siguiente:

  • Consola de administración de middleware: la consola de administración ofrece a los desarrolladores una visión general de los eventos, actividades y configuraciones de middleware, etc.
  • Interfaz de cliente: la interfaz del cliente en el frontend se comunica con aplicaciones backend, bases de datos, microservicios u otros servicios.
  • Interfaz interna de middleware: la interfaz interna de middleware permite a las instancias de middleware comunicarse entre sí con un protocolo especial de middleware.
  • Interfaz de la plataforma: la interfaz de la plataforma se conecta a servidores backend y diferentes sistemas operativos (SO), lo que garantiza las funciones de middleware en todas las plataformas.
  • Administrador de contratos: el administrador de contratos define las reglas de intercambio de datos que deben seguir las aplicaciones.
  • Administrador de sesiones: el administrador de sesiones garantiza una comunicación segura entre el middleware y las aplicaciones, y que no se agote el tiempo de espera.  
  • Administrador de bases de datos: el administrador de bases de datos proporciona integración con diferentes bases de datos en función de requisitos específicos (por ejemplo, datos on-prem o basados en la nube).
  • Monitor de tiempo de ejecución: el monitor de tiempo de ejecución realiza un seguimiento de todos los movimientos de datos de middleware y proporciona informes de actividad para los desarrolladores de software.
Casos de uso de middleware para desarrolladores de software

Además de proporcionar una interoperabilidad que ahorra trabajo, los servicios de middleware ayudan a los desarrolladores de software de las siguientes maneras.

Configurar y controlar conexiones e integraciones

Según la información de solicitud de la aplicación cliente o frontend, el middleware puede personalizar la respuesta de la aplicación o servicio de backend. Por ejemplo, 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 la búsqueda de productos de una base de datos de inventario de backend por la ubicación de almacenamiento más cercana en función de la dirección IP o la información de ubicación en el encabezado de la solicitud HTTP.

Proteger las conexiones y la transferencia de datos

El middleware generalmente establece una conexión segura de la aplicación frontend a las fuentes de datos backend que utilizan Transport Layer Security (TSL) u otro protocolo de seguridad de red. Puede proporcionar capacidades de autenticación, solicitudes desafiantes de aplicaciones frontend para credenciales (nombre de usuario y contraseña) o certificados digitales. 

Gestionar el tráfico de forma dinámica en todos los sistemas distribuidos

Cuando el tráfico de aplicaciones aumenta, el middleware empresarial puede escalar para distribuir las solicitudes de los clientes en varios servidores, on-premises o en la nube. Las capacidades de procesamiento simultáneo pueden evitar problemas cuando varios clientes intentan acceder simultáneamente al mismo origen de datos backend.

Optimice las aplicaciones existentes

El middleware ayuda a los desarrolladores a llevar a cabo la modernización de las aplicaciones, transformando las aplicaciones heredadas monolíticas en aplicaciones en la nube basadas en la arquitectura de microservicios.

Reducir las tareas manuales

La automatización de Middleware ayuda a los desarrolladores a optimizar y automatizar la administración de tareas complejas de TI para mejorar la eficiencia general.

Admite DevSecOps

El middleware respalda las metodologías DevSecOps (que significa desarrollo, seguridad y operaciones) al ayudar a los equipos a crear aplicaciones más rápido y, al mismo tiempo, mitigar los riesgos de seguridad.

Tipos de middleware

Existen muchos tipos de middleware. Algunos se enfocan en tipos específicos de conectividad, otros en aplicaciones particulares, componentes de aplicaciones y dispositivos. Algunos combinan capacidades de middleware para una tarea específica de desarrollo de software. Algunos de los tipos de software middleware más conocidos y más utilizados incluyen los siguientes:

 

  • Middleware orientado a mensajes (MOM)
  • Middleware de llamada a procedimiento remoto (RPC)
  • Middleware de datos o bases de datos
  • Middleware de interfaz de programación de aplicaciones (API)
  • Middleware de Object Request Broker (ORB)
  • Middleware transaccional
  • Middleware de transmisión de datos asincrónicos
  • Middleware de dispositivo
  • Middleware del portal
  • Middleware de robótica
  • Middleware de integración de aplicaciones empresariales
Middleware orientado a mensajes (MOM)

El middleware orientado a mensajes (MOM) permite que los componentes de la aplicación que emplean diferentes protocolos de mensajería se comuniquen e intercambien mensajes. Además de traducir o transformar mensajes entre aplicaciones, MOM gestiona el enrutamiento de los mensajes, por lo que siempre llegan a los componentes adecuados en el orden apropiado. Ejemplos de MOM incluyen colas de mensajes y agentes de mensajes.

Middleware de llamada a procedimiento remoto (RPC)

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

Middleware de datos o bases de datos

El middleware de datos o bases de datos simplifica el acceso y la interacción con las bases de datos de back-end. Normalmente, el middleware de base de datos es algún tipo de servidor de base de datos SQL .

Middleware de interfaz de programación de aplicaciones (API)

El middleware de interfaz de programación de aplicaciones (API) proporciona herramientas que los desarrolladores pueden usar para crear, exponer y gestionar API para sus aplicaciones para que otros desarrolladores puedan conectarse a ellas.

Algunos middleware de API incluyen herramientas para monetizar las API, lo que permite que diferentes organizaciones las empleen, a un costo. Algunos ejemplos de middleware de API son las plataformas de gestión de API, las puertas de enlace de API y los portales para desarrolladores de API.

Middleware de Object Request Broker (ORB)

El middleware de intermediación 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 funcionan con la arquitectura CORBA (Common Object Request Broker Architecture), que permite a un componente de software hacer una petición a otro sin saber dónde está alojado el otro ni cómo es su interfaz de usuario (UI): "brokering" gestiona esta información durante el intercambio.

Middleware transaccional

El middleware transaccional proporciona servicios para respaldar la ejecución de transacciones de datos en una red distribuida. El middleware transaccional más conocido son los monitores de procesamiento de transacciones (TPM), que impulsan las transacciones de un paso al siguiente (ejecutando el intercambio de datos y agregando, cambiando o eliminando datos cuando sea necesario, entre otros) hasta su finalización.

Middleware de transmisión de datos asincrónicos

El middleware de transmisión de datos asíncrono replica un flujo de datos en un almacén intermedio, lo que permite el intercambio de datos entre múltiples aplicaciones. Apache Kafka es uno de los ejemplos más conocidos de plataformas de software medio de código abierto para la transmisión de eventos en tiempo real.

Middleware de dispositivo

El middleware de dispositivos proporciona un conjunto enfocado de capacidades de integración y conectividad para desarrollar aplicaciones para un sistema operativo móvil (SO) específico.

Middleware del portal

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

Middleware de robótica

El middleware robótico simplifica la integración de hardware, firmware y software robóticos de múltiples fabricantes y ubicaciones.

Categorías de middleware

Existen dos clases básicas de middleware: middleware de aplicación empresarial y middleware de plataforma.

Middleware de integración de aplicaciones empresariales

El middleware de integración de aplicaciones empresariales permite a una organización establecer un centro de integración empresarial. Esto proporciona una forma estandarizada de conectar todas las aplicaciones, componentes de aplicaciones, procesos de negocio y fuentes de datos de back-end en toda la empresa extendida.

Hasta hace aproximadamente una década, el middleware de integración de aplicaciones empresariales más frecuente era el bus de servicios empresariales (ESB), que servía como centro de integración dentro de una arquitectura orientada a servicios (SOA).

Hoy en día, la plataforma de integración como servicio (iPaaS) permite a una organización conectar aplicaciones, datos, procesos y servicios a través de una nube híbrida : la combinación de entornos locales, de nube privada y de nube pública. Esto ayuda a las organizaciones a evitar el trabajo y los gastos 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. Los principales proveedores de servicios en la nube (CSP) (Microsoft Azure, Google Cloud, Amazon Sitio web Services (AWS) o IBM Cloud) ofrecen soluciones iPaaS.

Middleware de plataforma

El middleware de plataforma (o middleware de plataforma de aplicación) soporta el desarrollo de aplicaciones. Acelera la entrega de aplicaciones proporcionando un entorno de alojamiento en tiempo de ejecución -como un entorno en tiempo de ejecución Java (Java RE), contenedores o ambos- para la lógica de las aplicaciones o del negocio. El middleware de plataforma puede incluir o combinar servidores de aplicaciones empresariales, servidores sitio web, sistemas de gestión de contenidos (CMS) y otros tipos de middleware enumerados anteriormente.

¿Cuál es la diferencia entre iPaaS y PaaS?

Tanto la plataforma de integración como servicio (iPaaS) iPaaS como la plataforma como servicio (PaaS) son soluciones informáticas basadas en la nube que sirven para diferentes propósitos. Mientras que iPaaS se centra en permitir la integración de aplicaciones, dispositivos y sistemas, PaaS proporciona a las organizaciones una plataforma para crear, ejecutar y gestionar aplicaciones.

PaaS es una opción popular para pequeñas empresas y empresas emergentes con cotizaciones de TI limitados, ya que permite a los equipos crear aplicaciones de manera rentable en comparación con la creación de plataformas de desarrollo internas. iPaaS es una mejor opción para grandes organizaciones y empresas que ejecutan arquitecturas complejas y dinámicas.

Dicho esto, los servicios iPaaS a menudo funcionan junto con los servicios en la nube, incluidos PaaS y software como servicio (SaaS). Por ejemplo, las organizaciones pueden combinar iPaaS con soluciones de desarrollo PaaS (por ejemplo, Cloud Foundry, Red Hat OpenShift) o SaaS (GitHub).

Middleware y aplicaciones nativas de la nube

Nativo de la nube es un enfoque de desarrollo de aplicaciones que usa tecnologías fundamentales de computación en la nube para proporcionar un desarrollo, despliegue y gestión congruentes en entornos de nube híbrida.

Las aplicaciones nativas de la nube de hoy en día se crean a partir de microservicios y se implementan en contenedores que emplean Kubernetes, una plataforma de orquestación de contenedores ampliamente empleada.

Los microservicios son componentes de aplicaciones débilmente acoplados que abarcan su propia pila y se pueden implementar y actualizar de forma independiente entre sí. Se comunican mediante una combinación de API REST, agentes de mensajes y flujos de eventos.

Los contenedores son tareas de ejecución ligeras que empaquetan código de aplicación, como microservicios, junto con las bibliotecas del sistema operativo y las dependencias necesarias para ejecutar ese código en cualquier nube o infraestructura de TI tradicional.

Juntas, estas y otras tecnologías relacionadas crean una poderosa plataforma de desarrollo único y despliegue en cualquier lugar para ofrecer aplicaciones de nube híbrida totalmente nuevas y modernizar los sistemas heredados tradicionales para su uso en la nube. Sin embargo, 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. Sin embargo, la ejecución de aplicaciones en contenedores con middleware convencional puede agregar complejidades propias, incluida la sobrecarga de infraestructura para la que se diseñaron los contenedores. Por esta razón, las plataformas de desarrollo de aplicaciones en la nube incluyen middleware en contenedores o modulares para que solo las funciones de conectividad requeridas se puedan empaquetar en un contenedor. 

Casos de uso de la industria para middleware
Dispositivo de juegos

El middleware respalda el desarrollo de juegos al servir como motor de juego. Esta capa de software ayuda a integrar sin problemas video, audio y otros componentes cruciales del juego.

Servicios financieros

Para las instituciones financieras, El middleware integra aplicaciones y bases de datos de clientes para dar soporte a los servicios bancarios digitales, incluido el procesamiento de transacciones en tiempo real.

Atención médica

Siempre fue difícil acceder a los datos de salud y compartirlos de forma segura. El middleware es crucial para la interoperabilidad de la atención médica, ya que permite un flujo de datos fluido en varios sistemas y aplicaciones de atención médica, como plataformas de telemedicina e historias clínicas electrónicas (EHR).

Comercio electrónico

Las organizaciones de comercio electrónico emplean middleware para conectar sus plataformas en línea con servicios back-end cruciales, como el procesamiento de pedidos, para mejorar la experiencia general del cliente.

Manufactura

En la fabricación, el middleware ayuda a garantizar que los sistemas de software empresarial, incluidas las plataformas de planeación de recursos empresariales (ERP) , se integren con otras aplicaciones para proporcionar una visión unificada de las operaciones. Esto ayuda a optimizar y agilizar el mantenimiento, la cadena de suministro, el control de calidad y más.

Soluciones relacionadas
IBM API Connect

Gestione su ecosistema de API en múltiples nubes, incluido el impulso de los esfuerzos de socialización y monetización.

Explore IBM API Connect
Software y soluciones de IBM Integration

Conecte, automatice y libere el potencial empresarial con el software de plataforma de integración.

Explora el software y las soluciones de IBM Integration
Soluciones de entrega de aplicaciones

Descubra cómo las soluciones de entrega de aplicaciones de IBM ayudan a crear nuevas aplicaciones nativas de la nube y modernizar las aplicaciones existentes.

Explore las soluciones de entrega de aplicaciones
Soluciones iPaaS de IBM

Ofrezca conectividad en todas sus aplicaciones y datos con capacidades de integración para todos.

Explorar las soluciones de IBM iPaaS
IBM Aspera

IBM Aspera le ayuda a automatizar prácticamente cualquier flujo de trabajo para mover datos sin problemas entre cualquier ubicación

Automatice las trasnferencias de datos de alta velocidad
Recursos ¿Qué es un broker de mensajes?

Los agentes de mensajes son una tecnología de comunicación entre aplicaciones que soporta arquitecturas de nube nativas en la nube, basadas en microservicios, sin servidor e híbridas.

¿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 entre 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 convirtieron en el método más común para conectar componentes en arquitecturas de aplicaciones de microservicios.

¿Qué es la gestión de API?

La administración de API es el proceso escalable de creación, publicación y administración de conexiones de interfaz de programación de aplicaciones (API) dentro de una configuración empresarial y multicloud.

Acelere el aumento de la eficiencia con la optimización y la IA

La integración del aprendizaje automático (ML) y la inteligencia artificial (IA) en la optimización de decisiones (DO) es esencial para mejorar la eficiencia en los procesos empresariales.

Los datos en tiempo real aportan valor empresarial en tiempo real

La explotación de datos en tiempo real es esencial para el éxito empresarial.

Dé el siguiente paso

Utilice IBM API Connect para proteger y gestionar las API empresariales durante todo el ciclo de vida. Permite que usted y sus clientes puedan crear, gestionar, proteger, socializar y monetizar de forma coherente las API empresariales. Además, está disponible como una plataforma de gestión de API de gran escalabilidad en IBM Marketplace y AWS.

Explore API Connect Reserve una demostración en vivo