Por activa y por pasiva se repite que SOA no debe ser una iniciativa tecnológica. No puede ser una cuestión más de los «frikis» de IT, por el contrario, debe ser una iniciativa liderada por el área de negocio. Esta es la teoría, pero sin embargo, creo que lo más usual es que no sea así.
SOA suele ser una iniciativa que el área de IT trata de impulsar y proponer a Negocio. Así pues, ¿como desde IT convencemos a Negocio para que invierta una considerable cantidad de dinero en hacer que la organización adopte SOA? Para responder a esta pregunta, que es la primera que debemos hacernos si pensamos implantar una arquitectura orientada a servicios, podemos hacer uso de esta presentación. Una presentación de Gartner, muy buena a mi juicio, y no porque revele ningún nuevo conocimiento sino por su claridad de exposición, su brevedad y su concreción. Lo primer es tener una definición clara de lo que queremos conseguir¿cómo se define el valor para el negocio?
- Es el beneficio en términos monetarios que resulta de los productos o servicios IT
- El valor para el negocio se traduce en incrementar el beneficio, reducir los costes, el mejor uso de los activos (productividad) y solventar las necesidades de negocio del cliente.
Lo primero que se preguntaron los señores de Gartner fue: ¿qué es lo que impide la adopción de SOA en la empresa? Para responder a esta pregunta hicieron una encuesta a responsables de empresas en 2009. El primer resultado de esta encuesta fuera que sólo el 1% de las empresas midieron el beneficio que les podría conllevar SOA. Así pues, como conclusiones de esta encuesta tenemos lo siguiente:
- Dificultad para medir el valor de SOA
- Los proyectos SOA deben ser medidos en términos de negocio
Así pues, una de los primeros handicaps que debemos tener en cuenta es que va a ser muy difícil para nosotros (gente de IT) demostrar este beneficio ya que es muy difícil tener métricas al respecto. Por lo tanto, debemos poner énfasis en divulgar y demostrar los objetivos y metas de SOA al área de negocio. Serían estos:
- incrementar la agilidad
- reducir costes
Persiguiendo estos objetivos de negocio debemos incidir también en que para lograrlos, el área de TI debe imponerse los siguientes, que son los mismos vistos desde una perspectiva técnica
- incrementar la usabilidad de los servicios
- mejorar la mantenibilidad de las aplicaciones
- reducir la redundancia en el desarrollo (no hacer lo mismo más de una vez)
¿y cómo logramos esto?, aplicando los principios de SOA que son:
- la orientación a servicios con contratos explícitos
- la separación de aspectos, basando las interacciones en mediaciones siguiendo el patrón de diseño del ESB.
- el mínimo acoplamiento, logrando transacciones desacopladas
La conclusión es clara: no iremos a ninguna parte con SOA si no convencemos a los que ponen el dinero que esto les ayudará a reducir costes y a ser más rápidos en poner nuevas funcionalidades en el mercado.
Comparte esta entrada…
14/03/2011 at 10:06
Estoy de acuerdo en que aplicando los principios de SOA se consigue:
1. incrementar la usabilidad de los servicios
2. mejorar la mantenibilidad de las aplicaciones
3. reducir la redundancia en el desarrollo (no hacer lo mismo más de una vez)
Pero me gustaría añadir que para aplicar los principios de SOA es necesario que:
1. Los desarrolladores sean conscientes de qué servicios hay disponibles y qué hace cada uno. (Si el número de servicios crece mucho, la búsqueda será más difícil)
2. Será necesario, por tanto, una estrategia de formación para que los desarrolladores sean conscientes de qué es SOA, y de cómo se aplica en su empresa (qué servicios hay ya montados, cómo los invoco, etc, etc).
En mi opinión estos dos puntos son fundamentales para que SOA tenga éxito.
En resumen, si el conocimiento SOA se queda en unos pocos no creo que tenga los beneficios esperados, pero si se extiende al equipo entero desde el desarrollador hasta el jefe de proyecto entonces estos beneficios sí serán reales.