SOA significa «arquitectura orientada a servicios» y se relaciona con la infraestructura de TI. Su implementación promete un gran potencial: desde ahorros de tiempo y dinero hasta procesos de trabajo más eficientes y resolución de problemas.
SOA o «Arquitectura Orientada a Servicios» como concepto tiene ahora más de 20 años. Fue aplicado por primera vez en 1996 por el instituto de investigación de mercado «Gartner».
Esto desarrolló una idea para la TI corporativa que prometía un potencial de ahorro considerable: en las empresas, los departamentos, en principio, siempre usarían las mismas funciones de TI («servicios»), pero con diferentes aplicaciones. Si fuera posible desacoplar estos servicios y proporcionarlos de forma centralizada, esto facilitaría mucho las cosas.
Leer: ¿Qué es un desarrollador ciudadano?
¿Cómo funciona SOA? Una metáfora y un ejemplo
La forma más sencilla de describir cómo funciona SOA es a través de una metáfora. Se estás construyendo una casa con muchas habitaciones. Todas las habitaciones deben tener calefacción para la estación fría. Sin una arquitectura orientada al servicio, todas las habitaciones tendrían calefacción central.
Sin embargo, por razones de costos, esto sería irresponsable: el concepto SOA, por lo tanto, dice que hay calefacción central a la que cada habitación tiene un acceso separado («radiador»). Las ventajas son evidentes:
- Menores costos de instalación.
- Mantenimiento más económico.
- Fácil búsqueda de problemas.
- Calefacción eficiente para toda la casa o, si es necesario, solo para habitaciones específicas.
La metáfora se puede trasladar a un ejemplo específico: en las empresas, diferentes departamentos trabajan con el procesamiento de documentos. Las soluciones individuales para cada departamento son antieconómicas y también perjudiciales de otras formas. Definitivamente, es de interés para la empresa que los departamentos individuales tengan acceso directo o conocimiento inmediato de lo que están haciendo los demás.
Por ejemplo, facilita mucho el trabajo del departamento de contabilidad si recibes información inmediata sobre qué documentos está procesando el departamento de compras. Por tanto, tiene sentido separar este servicio de las aplicaciones y proporcionarlo de forma centralizada en la infraestructura de TI.
Comprender los niveles de abstracción de SOA
Para desacoplar los servicios y proporcionarlos de forma centralizada, SOA trabaja con niveles de abstracción que se basan en los procesos de negocio. La regla básica es: cuanto más directo es el contacto con el cliente de un proceso empresarial, mayor es el nivel de abstracción. A modo de ejemplo: “Entregar la mercancía a un cliente ordenada y pagada” tiene el nivel más alto posible de abstracción.
Dos propiedades se distinguen por altos niveles de abstracción:
- 1. Como comandos, son específicos del departamento y ya no son adecuados para la centralización. Por ejemplo, el departamento de contabilidad ya no se ocupa de la entrega real de las mercancías al cliente.
- 2. Sin embargo, detrás de los procesos en el nivel de abstracción más alto, hay muchos procesos en los niveles más bajos. Por ejemplo: busca las mercancías en el almacén, comprueba si las mercancías se han pagado realmente, empaca las mercancías y prepáralas para su envío. Estos procesos son adecuados para la centralización. La verificación de si se han realizado pagos, por ejemplo, debe ser realizada por varios departamentos.
Para encontrar los servicios que se van a centralizar, los procesos en el nivel de abstracción más alto para SOA se dividen en los procesos individuales en los niveles inferiores. Esto requiere mucha mano de obra y es la razón por la que muchas pequeñas y medianas empresas evitan cambiarse a SOA, aunque también sería ventajoso para ellas.
Leer: ¿Qué es una pila de software?
Las ventajas más importantes de SOA de un vistazo
- Ahorro de tiempo en los procesos de trabajo
- Menores costos de mantenimiento para el mantenimiento de TI
- Conocimiento disponible centralmente
- Los nuevos desarrollos se pueden implementar más rápido
- Los puntos débiles / problemas en TI se pueden encontrar y eliminar más rápidamente
- Los nuevos desarrollos tienen éxito más rápido