¡No te pierdas ninguna publicación! Suscríbete a The Softtek Blog
Por Juan Manuel Montepaone, Analista de Diseño de Soluciones
SOA (siglas del inglés Service Oriented Architecture) está pensado para diseñar y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio, disminuyendo los costos de implementación y estimulando la innovación de servicios a clientes mediante una adaptación ágil y flexible ante los rápidos cambios del mercado.
A lo largo de mi carrera he visto muchas organizaciones fracasar al implementar SOA en sus empresas pero ¿cuáles son los principales motivos del fracaso? La siguiente es una lista que puede tomarse como referencia antes de cualquier implementación:
SOA llegó para resolver las problemáticas comunes en la década del 80 y 90 permitiendo a las organizaciones unir sus objetivos de negocio integrando los datos de sus sistemas separados. Si SOA no se implementa siguiendo los conceptos básicos
y estándares seguramente usted hará de SOA un caos por su uso inadecuado.
Tip: antes de implementar SOA analice si su negocio se encaja perfectamente en una arquitectura orientada a servicios.
El middleware no es un pasamano, es mucho más que eso. No es solamente pasar un mensaje de texto de un punto a otro es la parte fundamental de una Arquitectura Orientada a Servicios bien lograda, es una capa de abstracción que conecta componentes de software.
Programar un Servicio en el OSB es prácticamente como programar una porción de código en cualquier lenguaje de programación y como tal se corre el riesgo de poner tanto código allí dentro que se hace casi imposible de mantener, modificar, y por consiguiente perjudica notablemente la performance.
Tip: Por favor no utilice el OSB como si fuera un mini lenguaje de programación. Respete los principios básicos de un ESB. (VETRO pattern)
SOA debe ser acompañado con una estructura acorde al negocio que se desea implementar, tenga que en cuenta que tanto OSB como BPEL o BPM consumen buena cantidad de memoria en su servidor, no escatime en recursos principalmente memoria del servidor.
Tip: Analice detalladamente la cantidad de servicios a implementar, el consumo de memoria, disco, red, volumen de datos, etc. antes de la creación de los dominios en el servidor.
Una cosa es tener 50 servicios y otra muy diferente es tener 500. Es indudable que cuanto más crecen los servicios, más difícil se hará la tarea de mantener un gobierno saludable.
Tip: utilice un repositorio de servicios, versionado, y nomenclaturas estándares.