Pablo Carretero, responsable del centro de expertise SOA de Ibermática
“SOA es un estilo de arquitectura orientado a maximizar la interoperabilidad, compartición y reutilización de aplicaciones en un entorno distribuido.”
La arquitectura orientada a servicios (SOA), está generando una oleada de actividad a través del mercado de tecnologías de información (IT). La mayoría de las organizaciones están buscando adoptar SOA con el objetivo de crear sistemas que puedan ser modificados y configurados rápidamente para poder proporcionar mayor flexibilidad a su negocio.
Para poder gobernar el proceso de evolución hacia SOA, se requieren cambios organizativos que permitan el acercamiento entre las unidades de negocio y las unidades de IT. Las empresas, normalmente, comienzan su esfuerzo en SOA a través de una aplicación departamental y después, progresivamente, lo extienden para construir una solución con bases empresariales más sólidas.
Para comenzar, es inevitable responder a la pregunta: ¿qué es SOA? “SOA es un estilo arquitectónico que permite crear una arquitectura de IT empresarial que explota los principios de orientación a servicios con el objetivo de conseguir una relación más estrecha entre los sistemas de negocio y de información que soportan una empresa.” La orientación a servicios permite a las aplicaciones interactuar una con la otra invocando a las funcionalidades de las mismas como servicios, que pueden ser vistos como “una tarea repetible dentro de un proceso de negocio”.
Un servicio es auto-descriptivo, permite su descubrimiento, cumple requisitos de calidad de servicio, puede ser gestionado a través de procesos de gobierno y tiene sentido tanto para las unidades de negocio como para las unidades de IT . Los servicios trabajan juntos para implementar una aplicación compuesta que es “un conjunto de servicios relacionados e integrados que permiten dar soporte a un proceso de negocio construido en SOA”.
¿Por qué es SOA tan importante?, SOA tiene como principal meta alinear el mundo del negocio con el mundo de las tecnologías de información (IT) para hacer ambos más efectivos y flexibles. SOA supone que el negocio tiene un diseño del mismo que describe cómo funciona, con especial atención a los procesos que realiza y la estructura organizativa que los posibilita. SOA convierte las IT en una ventaja competitiva para responder a los rápidos y constantes cambios del negocio.
¿Qué objetivos buscan las empresas que están abordando iniciativas SOA?
– Flexibilidad en el desarrollo del negocio para responder a los cambios más fácilmente y más rápidamente.
– Proporcionar oportunidades para mejorar los ingresos desbloqueando el valor de las capacidades y recursos existentes para que puedan ser utilizados de nuevas maneras.
– Mejorar las iniciativas de integración existentes actualmente.
– Mejorar la comunicación B2C desarrollando servicios que permitan al negocio trabajar mejor con los clientes.
– Mejorar la comunicación B2B para permitir al negocio trabajar mejor con los socios de negocio.
– Mejorar la comunicación interna entre aplicaciones a través de la reutilización de servicios.
– Reducir los costes de desarrollo a través de la reutilización de servicios.
– Mejorar los problemas de seguridad a través del control de acceso y la monitorización de los servicios
Es posible que una organización necesite de SOA, pero esto no significa que automáticamente esté lista para llevarla adelante. SOA está alineada con la estrategia global de la empresa en contraste con la actual estrategia de IT centrada en líneas de negocio individuales. La introducción de SOA en la empresa comporta cambios organizativos que permitan gestionar los nuevos requisitos de gobierno, la mayor complejidad de las aplicaciones compuestas, la reutilización de servicios, las nuevas técnicas requeridas por el desarrollo de procesos y el incremento de comunicación entre equipos que habitualmente no se comunican de una forma efectiva.
Un proyecto SOA puede fallar si la organización no está preparada para la misma, por lo tanto, SOA debe contar con el adecuado patrocinio dentro de la organización que impida desviaciones en la arquitectura establecida por la misma y debe contar con personal con la formación adecuada para llevarlo adelante.
Capacidades de la infraestructura de SOA
Hasta ahora hemos estado hablando de por qué SOA es importante y cómo empezar un proyecto SOA. Vamos a ver las capacidades que la infraestructura proporciona a una aplicación SOA:
– Proveedores de servicios – Representan funcionalidad de negocio que ha sido proporcionada a través de servicios.
– Bus de servicios (ESB) – Es el eje central de la arquitectura que facilita la comunicación entre los servicios, conectando a los consumidores de servicios con los proveedores. Facilita la integración de aplicaciones y componentes haciéndolas interoperables con independencia de la tecnología que utilicen.
– Repositorio de Servicios – Proporciona información de los mismos que permite su descubrimiento por parte de los posibles consumidores tanto en tiempo de diseño como en tiempo de ejecución.
– Herramientas de diseño y monitorización de procesos de negocio (BAM) – Los analistas de negocio necesitan tener herramientas que les permitan realizar modelos de los procesos de negocio así como realizar simulaciones de los mismos para detectar posibles cuellos de botella y realizar las correcciones oportunas en fase de diseño.
– Servicios de gestión – Proporcionan gestión, monitorización y seguridad a los recursos de infraestructura de SOA tales como: seguridad (autenticación, autorización, encriptación, auditoría), monitorización, gestión del servicio y aplicación de políticas.