domingo, 31 de octubre de 2010

Lecciones Aprendidas SOA

Service Oriented Arquitecture (SOA) es el concepto de la arquitectura en donde conectas diferentes módulos de sistema, que pueden ser de diferente lenguaje de programación, aplicaciones ya creadas, etc. y estas pueden comunicarse entre ellas para poder manejar de manera más efectiva los procesos de negocio.

La ventaja de este concepto es que no se tiene que "crear el hilo negro", sino que se pueden integrar tecnologías que ya existen y talvez que son con las que ya esta acostumbrado cierto departamento en una empresa, y así no se tiene que cambiar, sino integrar.

Como lo habíamos comentado en el blog anterior, si se tiene SOLO un SaaS, es muy difícil comunicarse entre otras aplicaciones de la empresa o aplicaciones de escritorio. SOA es la estrategia que le permite la comunicacion con otros sistemas que ya estaban en operacion con anterioridad, así puedes ir correlacionando procesos y puedes manejar más eficientemente y dinámica tu sistema.

Existen una serie de estándares y productos para lograr implementar estos conceptos: Disponer de un Enterprise Service Bus, de un Registro de servicios, de un motor de procesos de negocio y de un lenguaje (más bien una plataforma) como puede ser Java (conocida como Java Enterprise Endition), que pueden ser la base tecnológica sobre la que construir una arquitectura orientada a servicios. SOA es la forma de hacer las cosas que son pequeños programas, procesos o procedimientos con una orientación a servicios los cuales tienen definidos los parámetros de entrada y de salida, que no son interoperables y puede ser utilizable para fomar otros servicios.

Hay muchas ventajas con este tipo de estrategia, que sería la reutilización de los módulos, la mejor sintonía con los procesos de negocios específicos, la adaptación de soliciones innovadoras con mayor facilidad, etc. Pero entre las desventajas esta el desarrollo adicional y que muchas veces la velocidad de comunicaciones entre aplicaciones es muy pobre, entre más información en el bus, más lento.

SOA es una buena estrategia para negocios con diferentes software de aplicaciones específicas. Por ejemplo, la línea de produccion que utilizan software especialmente desarrollado para esa línea y que no se comunica fácilmente con los paquetes utilizados en otros departamentos de una empresa. También es una buena solución para utilizar diferentes programas que ya estaban siendo utilizados pero para integrarlos.

http://es.wikipedia.org/wiki/Enterprise_service_bus
http://eloy-mp.com/wordpress262/?p=83
http://es.wikipedia.org/wiki/Java_EE
http://www.tfsla.com/ultimus-bpm-workflow-suite.php

No hay comentarios:

Publicar un comentario