Arquitecturas Empresariales (BPM y SOA)
En los últimos días, he mantenido un intercambio de ideas vía comentarios a propósito de BPMs, SOA, WorkFlows y herramientas relacionadas. Por ello he pensado necesario generar un nuevo articulo en relación a Soluciones BPM, su relación con la arquitectura SOA y el marco contextual organizacional donde estas implementaciones de soluciones informáticas se llevan a cabo.
Para ello quiero empezar con la distinción que aglutina muchos conceptos como los ya mencionados, esta distinción es la de Arquitecturas Empresariales. A que nos referimos cuando hablamos de este tipo de arquitecturas y cual es su contexto?
Quiero iniciar la explicación con la siguiente figura, pueden hacer click en ella para aumentar su tamaño:
En algún punto del crecimiento de una empresa, en relación a las soluciones informáticas que proveen de sistemas para el soporte de los procesos de negocios, y cuando el tamaño creciente de la empresa y su complejidad en cantidad y profundidad de sus procesos lo justifica. Hay que dar el salto al concepto de arquitectura empresarial.
Esto es, tomar los conceptos de procesos y flujos y generar tal como lo haría un arquitecto, un diseño en estructuras y capas para soportar estos procesos desde los niveles estratégicos de negocio hasta los niveles físicos de implementación.El concepto de Arquitectura Empresarial lleva varias distinciones ocultas, pero tras todas ellas hay un solo objetivo. Definir una forma ordenada de proveer a todos los niveles de la empresa un marco de trabajo definido y claro, un rayado de cancha donde todos los actores de la empresa están considerados, y donde cada nivel participa, centrándose en los procesos y finalmente apoyando las estrategias y metas del negocio.
Y Ahora con los pies en la tierra que significa esto para un departamento de informática de una gran empresa o corporación?. Bueno, entre otras cosas significa que ya no basaran su preocupación en aplicaciones, sistemas o programas. Basaran su preocupación y servicio en dar soporte a los procesos de negocio de la empresa, ello con lleva un cambio de actitud y de cultura informática. Y la base técnica que provee de esto es la arquitectura orientada a servicios, comúnmente llamada SOA.
En la practica significa un rediseño total, pero que puede llevarse a cabo de forma progresiva, en donde las actuales aplicaciones son descompuestas en pequeños servicios web (WebServices) que proveerán de las funcionalidades y lógicas de negocio básicas que alimentaran a herramientas de tipo BPM, para remplazar las aplicaciones por un flujo de procesos de negocio. La interfaz del usuario cambiara de una interfaz de aplicación particular, a una interfaz única para todas las aplicaciones, esta interfaz única normalmente esta provista por la componente de portal que toda suite BPM respetable posee.
Básicamente esta es la relación entre SOA y BPM; SOA es la solución técnica y BPM es el concepto que utiliza SOA para llevar su cometido, esto es; concentrar las soluciones informáticas en procesos distintos basados en una sola suite de herramientas comunes, donde los WebService son la conexión a sus soluciones legacy o a sus herramientas de base como son Repositorios o Buses de comunicación.
Y que se gana con todo ello?. En la medida que las aplicaciones legacy son descompuestas dejando solo su modelo de datos y lógica elemental en los WebService que la exponen, o provee a sus buses de comunicación con WebService para acceder a ellos. Lentamente la cantidad de WebService de Base empieza a confluir en un set de servicios comunitarios entre todas las aplicaciones, un botón de muestra: la autentificación ahora es un solo webservice atómico o compuesto para todas las aplicaciones, las operaciones de movimientos en cuentas corrientes ahora solo es un conjunto de webservice compartido. Otra forma de verlo es que cuando uno releva la información de cuantos web service tendrá que tener para todas las aplicaciones, normalmente podría encontrar cifras enormes como 2000 o 3000 servicios, sin embargo pronto se dará cuenta que esos 3000 servicios se pueden construir combinando tan solo 100 a 200 servicios atómicos o básicos. Entonces puede realizar las migraciones rápidamente si se enfoca en esta aproximación.
Ahora el tema no es tan fácil como generar WebService y junto a herramientas BPM cambiar su estilo de soluciones informáticas. Es mas que eso, en la medida que genere este cambio, se dará cuenta que esta forma de trabajar lleva beneficios y desventajas. Tal vez la desventaja mayor sea el performance, pero con las tecnologías de hoy en cuanto a hardware podrá resolverlas a punta de servidores ultra potentes. Por otro lado las principales ventajas están en la facilidad y flexibilidad que sus soluciones tendrán, podrá concentrar su trabajo en los procesos y sus flujos y en las dinámica de estos. Por lo tanto un simple cambio en sus notaciones gráficas de procesos BPMN de alguno de sus flujos de negocio, cambia su aplicación en muy poco tiempo, en la mayoría de los casos no será ni siquiera necesario un nuevo webServices, por otro lado las interfaces se adaptaran automáticamente como lo proveen las soluciones de portal de las suites BPM, y si no es así, una cambio gráfico menor será necesario, pero nunca algo como cambiar sus antiguos ejecutables o paginas asp, jsp, de su modelo antiguo de aplicaciones.
Ahora la pirámide de la figura inicial a nivel técnico tendrá esta forma (Puede hacer click para agrandar la imagen):
En ella puede ver como comentaba anteriormente, en su base los repositorios de datos y sistemas transaccionales básicos, junto a otras fuentes de información, en la capa siguiente puede ver el Middleware y sus servicios, desde los temas de seguridad, manejadores de eventos y otros temas, que son llevados por los WebService compuestos que se generan en base a los WebService Atómicos que exponen la información de la capa anterior. En el tercer nivel puede ver el BPM y como consume y se provee de las capas inferiores en base a WebService y otras mecanismos similares. Puede observar en la tercera capa las componentes básicas de un BPM, desde el manejador de reglas y workflow, hasta los sistemas de monitorización (BAM) entre otros. Finalmente en la ultima capa puede observar el portal de usuarios y otras forma de interfaz al cliente de sus aplicaciones.
Colateralmente puede ver otros elementos normalmente no considerados, pero básicos si desea sacarle el 100% a su arquitectura BPM que se funda en su arquitectura SOA, y que hace que su arquitectura BPM sea el pilar de su Arquitectura Empresarial. Estas elementos son; los servicios de captura de eventos y las herramientas de administración de servicios y procesos a saber desarrollo, deployment y monitorización de sus WebServices y Procesos de negocio.
Ahora puede ver que este gráfico es solamente la vista técnica del primero que provee de su arquitectura empresarial. Considere en el primer gráfico, de sobre manera la sección izquierda del nivel de implementación, normalmente las fallas de un BPM van por este lado y no por el técnico.El considerar en su Arquitectura Empresarial de soluciones informáticas solo la parte referente a la Arquitectura Técnica, condenara al fracaso su BPM, la Arquitectura de RRHH es elemental ya que ella proveerá del fedback necesario para que continuamente sus procesos de negocio, sus actividades, y sus KPIs de monitorización de niveles de servicio y productividad generar un ciclo virtuoso en la mejora de su Arquitectura Empresarial.
Ahora cuales son los pasos para llevar a cabo esta maravilla en una empresa que ya posee un zoológico de aplicaciones legacy y otras no tanto pero que van camino a ello?.
Primero deberá hacer un levantamiento completo de lo que tiene, cuales de sus sistemas podrán proveer de WebService y cuales no, en estos casos deberá evaluar sus alternativas de exposición de la información de los mismos, también deberá empezar a planificar su roadmap de proyectos, sus ordenes de magnitud y plazos, las herramienta de BPM que considerara según su presupuesto.
La tarea no es ni fácil, ni simple, ni rápida, ni barata. Pero es una apuesta a largo plazo y las empresas que han apostado a ella, y se han asesorado por empresas expertas en el tema. Son hoy en día altamente exitosas en su nivel de flexibilidad y rendimiento de sus sistemas y plataformas informáticas.
Javier Urrutia.
Enviar a un Amigo |
Version para Impresion



(8 votos, promedio: 4.88 de 5)
Traducir al Ingles
Traducir al Español
Arquitecturas Empresariales (BPM y SOA)





Estimado Javier,
Muy completo y detallado tu informe respecto a la estrategia BPM/SOA.
Evidentemente es un desafío de gran magnitud no solo a nivel tecnológico, sino tambien cultural. Es sin lugar a duda un proyecto de implementación a largo plazo. Concluyo que nuestra primer gran tarea como departamento de sistemas es ir migrando paulatinamente a un esquema de web services que allane un poco el camino para cuando SOA comience a cobrar más auge en los procesos corporativos.
Realmente nos será de gran utilidad esta información como así también tu análisis anterior respecto a los productos BPM que describiste en tu post anterior.
Saludos cordiales.
Martín Gaido.-