El middleware acelera el desarrollo de aplicaciones distribuidas al simplificar la conectividad entre aplicaciones, componentes de aplicaciones y fuentes de datos de back-end.
WebSphere Hybrid Edition
Red Hat OpenShift on IBM Cloud
WebSphere Application Server
MQ
IBM API Connect
Event Streams
Middleware es software que permite uno o más tipos de comunicación o conectividad entre dos o más 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 plazo de lanzamiento.
Hay muchos tipos de middleware. Algunos, como los intermediarios de mensajes 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 capacidades de comunicación y conectividad necesarias para crear un tipo particular de aplicación. Incluso otros, como una oferta de plataforma de integración como servicio (iPaaS) basada en Cloud 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 front-end de aplicación, o cliente, y un recurso de back-end, 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 front-end de la aplicación, así como las herramientas para la conectividad del back-end; El middleware de una base de datos normalmente incluye 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 conectarse a recursos distribuidos en múltiples Clouds.
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), orígenes 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
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 capacidades 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 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 orígenes de datos de back-end 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, un modelo alojado en Cloud llamado plataforma de integración como servicio o iPaaS, permite que una organización conecte aplicaciones, datos, procesos y servicios en entornos locales, de Cloud privada y Cloud pública, sin 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.
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 alojamiento 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 aplicaciones empresariales servidores, servidores web y sistemas de gestión de contenido, así como los otros tipos de middleware enumerados anteriormente.
El nativo de Cloud es un enfoque de desarrollo de aplicaciones que aprovecha las tecnologías fundamentales de computación en Cloud, con el objetivo de proporcionar un desarrollo, implementación y gestión consistentes en entornos locales, de Cloud privada o de Cloud pública.
En la práctica, hoy en día las aplicaciones nativas de Cloud son aplicaciones creadas a partir de microservicios y desplegadas 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, intermediarios de mensajes 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 Cloud.
Juntas, estas tecnologías y las asociadas, crean una plataforma poderosa que se desarrolla una vez y se implementa en cualquier lugar para ofrecer nuevas aplicaciones de Cloud híbrida totalmente nuevas, y para modernizar sistemas heredados tradicionales para su uso en Cloud. Pero también conducen a un entorno de desarrollo complejo 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 la ejecución de aplicaciones en contenedores con middleware convencional puede agregar complejidades propias, 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 Cloud, 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.
A medida que las organizaciones aceleran su transformación digital, dentro de la cual el middleware juega un papel clave, se agranda la necesidad de automatización. El cambio hacia una mayor automatización debe comenzar con pequeños proyectos exitosos, que luego puede escalar y optimizar para otros procesos y en otras partes de su organización.
Al trabajar con IBM, tendrá acceso a las funcionalidades de automatización basadas en inteligencia artificial, incluidos los flujos de trabajo preintegrados, para ayudar a acelerar la innovación haciendo que cada proceso sea más inteligente.
Dé el siguiente paso:
Empiece con una cuenta de IBM Cloud hoy mismo.
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.
Un entorno de tiempo de ejecución de servidor Java flexible y muy seguro para aplicaciones empresariales
Gestione su ecosistema de API en múltiples Clouds, incluyendo el estímulo de iniciativas de socialización y monetización
IBM Event Streams, una plataforma de flujo de eventos basada en Apache Kafka, puede ayudarlo a reaccionar a los eventos en tiempo real para obtener experiencias de cliente más atractivas.
Red Hat OpenShift en IBM Cloud aprovecha OpenShift en entornos públicos e híbridos para obtener velocidad, capacidad de respuesta al mercado, escalabilidad y confiabilidad.