Sobre la definición de SOA

por

¿Cuál es la definición de SOA?.

Una búsqueda en Google nos muestra millones de entradas. Desde que arrancó este siglo parece que todo el mundo quiere definir qué es SOA. Empresas, organismos, profesionales, blogs…

Si alguna vez habéis buscado la definición de SOA os habréis encontrado con un cierto caos: no parece haber un consenso, no existe un organismo oficial ni de estandarización que haya ofrecido la definición de SOA a la industria.

 

Como vosotros, yo también he buscado mucho por internet la definición de SOA. Y he encontrado de todo, también sitios muy interesantes y recomendables.

Lo bueno de leer tantas definiciones diferentes de una misma cosa es que poco a poco vas encontrando un conjunto estable de características que se repiten, en las que sí parece haber un cierto consenso. Y vas desechando todo lo que no cuadra por ser contradictorio o por no encajar con tu propia experiencia.

O por sentido común, que de eso hay mucho en SOA.

 

¿Y por qué parece haber tanta confusión sobre la definición de SOA?

Que es SOA

 

Por un lado está quien lo asocia con los servicios web. Esa palabra «servicios» tiene mucho peligro, y es fácil caer en la tentación de añadir «web», y establecer la asociación.

Por otro lado está quien lo considera una arquitectura tecnológica alrededor de un bus de servicios (ESB), y puede que mencionen que no es necesario usar servicios web, aunque sea lo más recomendable.

También están los proveedores de ESBs, suites SOA y demás, que habitualmente definen SOA como una especie de perfecto molde donde su producto encaja perfectamente.

Están también algunas empresas de consultoría que hacen más caso de la parte de gobernanza, mejores prácticas, bajo acoplamiento, reutilización, etc.

Está claro que cada uno cuenta la película según le afecta, o según le interesa. Y los demás, los que vamos buscando la definición, nos encontramos con muchas definiciones.

 

Sin embargo puedes tener una suite SOA fantástica, perfectamente instalada y configurada, y fracasar estrepitósamente con SOA. Puedes tener el ESB más potente y versátil del mundo, y aun sí, puedes fracasar con SOA. Puedes usar servicios web de forma obsesiva, y fracasar con SOA.

Donde empiezo a estar más de acuerdo es en poner el acento en la gobernanza. Pero no me quedaría solo ahí, porque SOA tiene capacidad para aportar a una organización muchísimo más de lo que parece desprenderse de todas estas definiciones. Y destacar esto me parece fundamental.

 

Como he comentado varias veces de distintas maneras en otras entradas de este blog, cuando SOA se alía con BPM y EDA es cuando adquiere su mayor potencial. Porque permite impulsar un cambio de modelo en la organización mucho más importante de lo que parece: del enfoque vertical por área funcional, al enfoque horizontal a procesos de negocio. De las integraciones tradicionales mediante complejas cadenas nocturnas enganchando las areas funcionales entre sí de manera diferida, a la inmediatez del flujo de información conducido por eventos de negocio.

Esto multiplica la competitividad de la organización. Y gracias a SOA y su gobernanza, reduciendo costes drásticamente. ¿Hay mejor inversión?.

 

Definición de SOA

A continuación os propongo una definición de SOA que considero que muestra todo su valor adecuadamente.

Definicion de SOA como estrategia TIC empresarial

 

 

Las consecuencias de esta estrategia son, entre otras:

  • interoperabilidad funcional y semántica
  • coexistencia entre tecnologías heterogéneas y antiguas, protegiendo así las inversiones realizadas
  • obtención de un mapa de sistemas desacoplado, ágil y escalable
  • importante reducción de costes en los proyectos TIC
  • independencia de la tecnología, que permite alinear la tecnología con el negocio y su cadena de valor
  • autonomía respecto a proveedores y cambios tecnológicos, reduciendo los riesgos asociados
  • optimización de los procesos de negocio
  • aumento de la competitividad y eficacia de la organización, gracias a que el flujo de información a lo largo de su cadena de valor se produce en tiempo real, reduciendo asi significativamente el time-to-market.

 

Definir SOA como un concepto, modelo, conjunto de buenas prácticas, etc me parece erróneo, porque nos lo presenta como algo muy teórico, alejado de la posibilidad real de implantarlo.

 

Definirlo como una tecnología es un error evidente. SOA es independiente de ninguna tecnología. Incluso de los ESB (de los que hablaremos específicamente un poco más adelante), que son la herramienta tecnológica habitual para SOA.

 

Asociar SOA con el uso de servicios web es un error. Usar servicios web no implica que estemos en una estrategia SOA. Y a su vez, una estrategia SOA puede tener pleno éxito sin usar un solo servicio web. Los servicios de negocio e infraestructura que forman el catálogo de servicios SOA son especificaciones estándar, encapsuladas y reutilizables de la lógica de negocio obtenida del análisis de los procesos de negocio de la organización. La solución tecnológica con que se implementen, es secundario.

 

Una definición centrada en una arquitectura hardware y software es un error porque pone el acento en el aspecto más sustituible de SOA (el tecnológico), y aleja el foco y por tanto distrae al lector de lo más importante de SOA: la gobernanza y su adopción y ejecución por toda la organización.

 

Y por eso, para la definición de SOA escogemos el término estrategia.

Una estrategia permite alinear los esfuerzos para lograr los objetivos, y por sentido común cuando una organización adopta una estrategia debe afectar e implicar a toda la organización. Y ese es precisamente el mejor escenario posible para SOA.

Por eso considero que asumir SOA como una estrategia TIC es el mejor enfoque posible para que las organizaciones lo adopten en toda su dimensión y puedan exprimir todos sus beneficios. Si no se hace así, podrán obtenerse ciertas mejoras, pero muy menores en comparación con el verdadero potencial que tiene SOA.

Te puede interesar

0 comentarios

Trackbacks/Pingbacks

  1. Apostemos por una estrategia SOA (II): ¿Qué es SOA? | Informática Sana - […] más teórico desde el punto de vista de la gobernanza de toda una organización, recomendamos el blog de Manuel…

Enviar un comentario

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

Sigueme en las redes

Share This