¿Qué es y cómo funcionan las arquitecturas SOA?

Soa

¿Alguna vez haz probado un sistema que cumple casi con todo lo que necesitas y “el casi” lo tiene otro sistema completamente ajeno al primero? Sería bueno hacer una fusión de ambos ¿no? También hay casos (de hecho son la mayoría) donde se utilizan varios sistemas que en conjunto son utilizados para realizar un proceso y por ende deben ser vinculados de alguna forma.  Pues bien, la solución a este tipo de necesidades las resuelven las Arquitecturas Orientadas a ServiciosSOA por sus siglas en inglés.

SOA es más que una tecnología o un software, funciona como un marco de trabajo conceptual que permite a las empresas unir los objetivos de negocio con la infraestructura tecnológica permitiendo integrar los datos de sistemas que se encuentran separados, ya sea por plataforma, lenguaje de programación, base de datos, etc.

Por ejemplo, si actualmente cuentas con un sistema contable de escritorio que necesitas integrar con información proveniente de un sistema ERP basado en Web y así tener todo el proceso financiero completo, con SOA podrías lograrlo sin necesidad de modificar ninguno de los 2 sistemas o tener que adquirir un nuevo software que implique modificar los procesos de negocio o realizar una inversión de tiempo y dinero con los riesgos que siempre implica hacer estas actualizaciones.

La integración de los sistemas se realiza por medio de un Bus de Servicio Empresarial o (ESB) por sus siglas en inglés, los cuales proporcionan una plataforma de integración basada en estándares que combinan mensajería, servicios Web, transformación de datos y enrutamiento inteligente.

Para más información sobre los ESB te invitamos a visitar el artículo ¿Qué es un Bus de Servicio Empresarial?

Principios de las Arquitecturas Orientadas a Servicios SOA

El desarrollo e implementación de una arquitectura SOA se rige por los principios descritos en el manifiesto SOA. Algunos de los principios publicados son los siguientes:

Contrato de servicios estandarizados:

Los servicios adhieren a un acuerdo de comunicación, según se define en conjunto con uno o más documentos de descripción de servicios.

Acoplamiento débil de sistemas:

Los servicios mantienen una relación que minimiza las dependencias y sólo requiere que mantengan un conocimiento de uno al otro.

Abstracción de servicios:

Más allá de las descripciones del contrato de servicios, los servicios ocultan la lógica a los demás.

Reutilización de servicios:

La lógica se divide en servicios con la intención de promover la reutilización.

Autonomía de servicios:

Los servicios tienen control sobre la lógica que encapsulan, desde una perspectiva de diseño y ejecución.

Servicios sin-estado:

Los servicios minimizan el consumo de recursos aplazando la gestión de la información de estado cuando sea necesario.

Descubrimiento de servicios:

Los servicios se complementan con los metadatos mediante los cuales se pueden descubrir e interpretar la eficacia.

Composición de servicios:

Servicios están compuestos por partes eficazmente, independientemente del tamaño y la complejidad de la composición.

Granularidad de servicios:

Una consideración de diseño para proporcionar un ámbito óptimo y un correcto nivel granular de la funcionalidad del negocio en una operación de servicio.

La normalización de servicios:

Los servicios se descomponen a un nivel de forma normal para minimizar la redundancia. En algunos casos, los servicios se desnormalizan para fines específicos, como la optimización del rendimiento, el acceso y agregación.

Optimización de servicios:

Los servicios de alta calidad son preferibles a los de baja calidad.

Relevancia de servicios:

La funcionalidad se presenta en un nivel de granularidad reconocido por el usuario como un servicio significativo.

Encapsulación de servicios:

Muchos servicios están consolidados para el uso de SOA. A menudo, estos servicios no fueron planificados para estar en un SOA.

Transparencia de ubicación de servicios:

Se refiere a la capacidad de un consumidor de servicios para invocar a un servicio independientemente de su ubicación en la red.

En Auribox Consulting contamos con diversas tecnologías para integrar los sistemas de tu empresa y unificar los procesos de negocio mediante arquitecturas SOA y tecnologías ESB. Para más información visita el siguiente enlace: Plataforma de Integración de Servicios Empresariales

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *