SOA vs ESB
SOA es un conjunto de conceptos arquitectónicos utilizados para el desarrollo e integración de servicios. Un servicio es un paquete publicitado de funcionalidad que se ofrece a través de la web. ESB es una pieza de software de infraestructura que proporciona una estructura de arquitectura de software para proporcionar servicios básicos para arquitecturas complejas. ESB se puede utilizar como una plataforma en la que se realiza SOA.
Que es SOA?
SOA (Arquitectura orientada a servicios) es un conjunto de conceptos arquitectónicos utilizados para el desarrollo e integración de servicios. SOA se ocupa de la computación distribuida en la que los consumidores consumen un conjunto de servicios interoperables. Múltiples consumidores pueden consumir un solo servicio y viceversa. Por lo tanto, SOA se usa a menudo para integrar múltiples aplicaciones que usan diferentes plataformas. Para que SOA funcione correctamente, los servicios deben estar acoplados a sistemas operativos y tecnologías de las aplicaciones subyacentes. Los desarrolladores de SOA crean servicios utilizando unidades de funcionalidad y los ponen a disposición a través de Internet. Los servicios web se pueden utilizar para implementar la arquitectura SOA. En ese caso, los servicios web se convierten en unidades de funcionalidad de SOA accesibles a través de Internet. Los servicios web pueden ser utilizados por cualquier persona sin preocuparse por las plataformas o los lenguajes de programación utilizados para desarrollarlos. SOA se basa directamente en el principio de orientación al servicio, que habla de servicios con una interfaz simple a la que los usuarios pueden acceder de forma independiente, sin preocuparse por la implementación real de la plataforma del servicio..
¿Qué es ESB??
ESB (Enterprise Service Bus) es una pieza de software de infraestructura que proporciona una estructura de arquitectura de software para proporcionar servicios básicos para arquitecturas complejas. Pero hay una gran discusión sobre si llamar a ESB un estilo arquitectónico o un producto de software o incluso un grupo de productos. Proporciona los servicios a través de un motor basado en eventos y basado en estándares para la mensajería (que en realidad es el bus de servicio). Además de este motor de mensajería, se proporciona una capa de abstracción para permitir a los arquitectos explotar las instalaciones ofrecidas por el bus, sin escribir ningún código real. ESB se implementa generalmente a través de infraestructuras de middleware basadas en estándares..
El uso del término "bus" en ESB se debe al hecho de que ESB proporciona una función muy similar al bus físico de la computadora, pero a un nivel mucho más alto de abstracción. Una de las principales ventajas de tener un ESB es la capacidad de reducir el número de puntos de contacto; Así, facilitando mucho la adaptación a los cambios. ESB se puede utilizar como una plataforma en la que se realiza SOA. Los conceptos de transformación / enrutamiento (relacionados con el flujo) se pueden llevar a SOA mediante ESB. Además, al demostrar la abstracción para los puntos finales (en SOA), ESB promueve el acoplamiento flexible entre servicios.
¿Cuál es la diferencia entre SOA y ESB??
Hay algunas diferencias clave entre SOA y ESB. SOA es un modelo arquitectónico para implementar aplicaciones basadas en servicios de acoplamiento flexible. ESB es una pieza de software de infraestructura que ayuda a los desarrolladores a desarrollar servicios y comunicarse entre servicios a través de API adecuadas. ESB se puede utilizar como una plataforma en la que se realiza SOA. ESB es solo el medio a través del cual fluyen los servicios. ESB proporciona facilidades para la composición y despliegue de servicios, que a su vez implementan la SOA..