Leo en este documento, de hace nada menos que 7 años, una lista de los errores más comunes en la adopción de SOA. Unos errores que son las forma más rápida y segura de «matar» SOA antes ni siquiera de que tenga ninguna oportunidad de mostrar sus ventajas. El muerto al llegar o dead on arrive.
Creo que todas ellas las he tratado ya en el blog, pero la verdad es que verlas todas juntas y también resumidas, adquiere un nuevo valor. Por favor, «no hagáis esto en casa».
Ahí van mis comentarios sobre estos errores:
- Asumir que tener servicios web es tener SOA
Los servicios web pueden ser un pilar importante en SOA, ya que proporcionan la implementación técnica a muchos de los principios que deben guiar SOA, como la orientación a contrato, el desacoplamiento, etc. etc.
Sin embargo, si sólo tenemos un conjunto de servicios web punto a punto, si seguir estos principios tendremos únicamente una bola de espagueti difícil de usar y gestionar. - Ver a SOA como la solución a todos los problemas de integración.
SOA es una filosofía de diseño que puede cubrir prácticamente todas las necesidades de integración de una empresa, sin embargo, como en todo, no es una solución que tenga que valer para todos los casos. Uno de los ejemplos que me he encontrado en este tiempo, y que es difícil encajar en sus principios son los batch masivos (no unitarios).
Otra vertiente de este punto es que tampoco es recomendable hacer un big bang en SOA y convertir toda la empresa, de golpe, a SOA. Es mejor elegir uno o unos pocos proyectos específicos e ir avanzando gradualmente. - SOA no viene en una caja que se pueda comprar
Quizás este es uno de los errores más difícil de ver en un principio, y también probablemente el que más dinero nos cuesta. Por mucho que compremos una solución, la más cara de un proveedor, esto no garantizará que tengamos SOA. Eso sería como decir que podremos pintar magníficos cuadros solo con comprar los mejores pinceles y pinturas… obviamente, el cómo usar los medios a nuestra disposición influye en el resultado final. - Ignorar las necesidades del negocio
Si hacemos servicios que no solucionan necesidades de negocio, estaremos creando un software (probablemente bastante caro) que no servirá para nada. De ahí la importancia de involucrar todo lo posible a las personas de Negocio en la definición de servicios, por que son ellos los que deben indicar sus necesidades. - Pegarse a una plataforma
Con frecuencia, lo primero que se hace en una empresa para adoptar SOA, es comprar una suite de productos SOA. La experiencia nos dice que esto no debería ser lo primero. Lo primero es ver nuestras necesidades, ver como nos vamos a organizar y después elegir la herramienta que mejor se ajuste a estas. Tenemos que encontrar una herramienta que se ajuste a nuestra empresa, no al revés.
Creo que son cinco errores a tener muy en cuenta para no caer en ellos. Una forma asegurada de «muerte» de SOA sin tener oportunidad siquiera de demostrar sus ventajas.
¿Y en tu caso? ¿Cuál sería el error que destacarías a modo de lección aprendida?
08/12/2013 at 21:27
Hola Andres
Que soluciones opensource hay en el mercado para aprender y evaluar ?
Gracias
RAFAEL
08/12/2013 at 21:51
si te refieres a un bus de integración, hay varias, como WSO2 o Mule, también están los Frameworks de integración como Spring Integration o Apache Camel
08/12/2013 at 21:41
Yo añadiría tres puntos a tener muy en cuenta a la hora de adoptar SOA en una organización:
– Contar con una política SOA adecuada que nos permita gestionar aspectos tan importantes como el ciclo de vida de los servicios web, el descubrimiento de los msmos, el chequeo de la corrección y calidad de los mismos, su versionado…
– Que toda la organización «reme en la misma dirección» en la adopción SOA. Siempre existe la tradicional resistencia al cambio y es importante el apoyo y la coordinación por parte de la alta dirección.
– Aunque parezca obvio, es imprescindible que los equipos técnicos encargados de la adopción SOA sean especialistas en este terreno. En muchos casos se compran las herramientas mas caras pero se delega la parte más importante en equipos técnicos no suficientemente cualificados o que no tienen experiencia en SOA. Es muy importante poner en contacto al negocio con arquitectos y analistas SOA que sepan identificar servicios de negocio que cumplan con las buenas prácticas SOA.
08/12/2013 at 21:52
buenos puntos a tener en cuenta: la falta de métricas, la resistencia al cambio y la falta de cualificación… tres ingredientes para un fracaso…