El gobierno SOA es el conjunto de roles, políticas y procedimientos que sirven de guía para la adopción de la SOA. Al implementar los componentes tecnológicos de gobierno, está creando la infraestructura para soportar y aplicar estos roles, políticas y procedimientos en toda su SOA.
Luego de desarrollar los servicios hay que gestionarlos, la gestión de los servicios se le llama gobierno SOA.
Gobierno de SOA es una ampliación del gobierno de IT centrada en el ciclo de vida1 de los servicios y en las aplicaciones compuestas en una arquitectura orientada a servicios (SOA) de una organización. La función del gobierno de SOA es definir:
- Derechos para tomar decisiones para el desarrollo, el despliegue y la gestión de nuevos servicios.
- La supervisión y notificación de procesos para capturar y comunicar los resultados del gobierno. Debido a que las aplicaciones SOA están intrínsecamente fragmentadas, introducen nuevos retos de gobierno. No obstante, con políticas, principios, estándares y procedimientos adecuados, los empresarios pueden darse cuenta de todas las ventajas que ofrece la arquitectura orientada a servicios. Una plataforma de gobierno de SOA eficaz no sólo ayuda a los equipos de IT y negocio a identificar mejor qué proyectos contribuyen más a los objetivos empresariales, sino que también dotan de más facilidades a los empleados para trabajar y colaborar de forma más eficaz definiendo claramente sus roles y sus responsabilidades.
El Gobierno se refiere a los procesos que una empresa establece para garantizar que las acciones realizadas se adhieren a las mejores prácticas, normativas, estándares y principios de arquitectura, con objeto de gobernar la adopción e implementación de SOA.
La ausencia del Gobierno SOA puede desembocar en los siguientes problemas:
- El Programa SOA entrega resultados inconsistentes.
- Crecimiento caótico a nivel de infraestructura y servicios.
- Servicios con funcionalidad redundante.
- Disponer de servicios que no se pueden reutilizar en la organización.
- Inconsistencia en la identificación, diseño y uso de los servicios.
- No se definen métricas para cuantificar el éxito.
- Ausencia de coordinación entre proyectos.
Por lo tanto podríamos definir a SOA como la suma de servicios y gobierno SOA.
El Gobierno SOA comprende varias herramientas que permiten gobernar los servicios:
- Registro de servicios, permite registrar nuestros servicios y consultar servicios existentes.
- Bus de servicios o ESB (Enterprise Service Bus) facilita la comunicación entre diferentes servicios.
- Orquestación y coreografía, herramienta que permite definir la interoperabilidad de los servicios.
- CEP (Complex Event Processing) y Procesador de flujos de eventos o ESP(Event Stream Processing) son herramientas para diseñar, gestionar y monitorizar los eventos que fluyen a través de un entorno orientado a EDA dado.
- Integración de aplicaciones empresariales o EAI (Enterprise Application Integration) facilita la integración con aplicaciones o bases de datos de una empresa.
No necesariamente se deben tener todas las herramientas descriptas para conformar el gobierno SOA. Se deben adoptar las herramientas que satisfagan las necesidades propias de la empresa que adopta SOA.