¿Qué ocurre con SOA…?, da paso a Cloud Computing…

Aun recuerdo una presentación hace ya algún tiempo donde se explicaba como SOA supondría para las empresas la fórmula para la reducción de costes incrementar la agilidad de las compañías y potenciar de forma fácil los incrementos de su valor añadido a gran escala. Unusual Spiral NGC 4921También recuerdo más recientemente como alguien de relevancia comentaba en una audiencia que exceptuando en raras ocasiones los proyectos SOA había tenido éxito y se conseguían los objetivos que habían impulsado su ejecución. ¿Es SOA por tanto una desilusión?, cabe preguntarse, ¿porque es un fracaso?, quizás la pregunta nos lleve a reflexionar que tal vez hemos menospreciado el factor de otras cuestiones subyacentes que requerían primero una respuesta antes de plantearse un modelo SOA, preguntas quizás de ámbito técnico que se partía de que todo estaría resuelto con simplemente publicitar un conjunto de servicios, preguntas tal vez como cual es el mejor ESB? o preguntarse por WS-* vs REST y otras muchas más que seguro se os estarán ocurriendo, quizás implique que debamos primero rediseñar nuestras aplicaciones para poder dar servicio SOA. SOA debe estar dentro de un proyecto mucho más grande sino seguramente será un fracaso. SOA debe estar dentro de una estrategia a largo plazo y no como un factor complementario y puntual, debe ser un producto de años, bien orquestado y alinear quizás muchas estrategias. Analicemos que factores pueden impulsar una estrategia de esta magnitud, cada uno seguramente tendrá sus propias motivaciones, pero si analizamos algunos escenarios podremos ver que posiblemente tengamos, como muy bien dice Hanu Kommalapati esta tipología:

· SOA-R, soluciones orientadas a obtener beneficios, ejemplos ampliamente conocidos Microsoft Live, Google, Amazon, etc. Soluciones estrechamente alineadas al negocio de las compañías, por lo tanto hay un fuerte apoyo del negocio, bien definido, bien acotado, implementando los estándares del mercado. Básicamente diría fuerte implicación de la organización, puesto que su éxito depende en parte la medida de subsistencia de la propia compañía que emprende el proceso.

· SOA-B, permitir el negocio, con esta segunda estrategia se pretende eliminar el desacoplamiento de los sistemas de las organizaciones. Las compañías no son estáticas, continuamente se desarrollan sistemas útiles para determinadas áreas pero que también podría ser vitales o de valor añadido para otras y que debido a la complejidad de su organización hace que sea complicado el flujo de información, es aquí donde soluciones SOA-B pueden ser acicate para llevar a cabo la resolución de estos problemas. Por tanto los motivantes son más orientados a la alineación del negocio, naturalmente se necesita la esponsorización del proyecto puesto que puede afectar a muchas áreas, la implicación del departamento de IT, y va a requerir un proceso extensivo en el tiempo ya que podemos toparnos con multitud de sistemas, tecnologías e inclusive soluciones parciales que deberemos ir abordando en una estrategia a largo plazo.

Por tanto ¿esta SOA muerto…? que ocurre con Cloud Computing, ya recogíamos en este blog varios enfoques de lo que representa Azure, escuchábamos en el PDC a Muglia etiquetar a Azure como la quinta generación de computación, empezando por las aplicaciones monolíticas, aplicaciones cliente/servidor, aplicaciones web y SOA. Porque Microsoft argumente que Cloud es un paso más, por la imposibilidad de SOA de escalar adecuadamente y con ello conseguir los objetivos que abanderaban su ejecución. Con la plataforma de servicios Azure construidos sobre los principios de SOA pretende superar las limitaciones iníciales, ¿cómo…? rediseñando desde el principio la plataforma y no “re aprovechando la existente” esta aproximación es la que lo hace diferente. Según Joe Mckendrick SOA no es una plataforma es una colección finita de tecnologías, una metodología una filosofía si cabe que permiten ofrecer servicios disponibles en cualquier momento en cualquier sitio y consumidos por cualquier usuario, aunque esa es solo la teoría… Según David Chappell comparar SOA vs Cloud Computing es como comparar peras con manzanas, aunque puedan tener puntos en común resuelven problemas diferentes, SOA proporciona servicios web desde aplicaciones u otros programas mientras que Cloud proporciona servicios de software a usuarios finales y ejecutando código, SOA expone servicios a otras aplicaciones, ejemplo tengo un sistema SAP que expone servicios a otras aplicaciones. En Cloud se habla de Software como Servicio, se está hablando no solo de dar servicio a otras aplicaciones sino que también al usuario final. Por supuesto otra diferencia es la plataforma, cuando pensamos en Windows Azure pensamos en plataformas para desplegar servicios desde la Cloud, pero también para ejecutar código en la Cloud esta es una realidad totalmente diferente de la aproximación SOA. Me quedo con la frase de Chappell: They overlap in some areas but they are fundamentally different.

Seguiremos hablando largo y tendido en este blog.

Deja un comentario

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