Setiembre / Noviembre 2007 / Año 10 Edición 38
Otras Ediciones:
Búsqueda:
OPINION
Incrementando la contribución de TI al éxito de la empresa
BPM vs. SOA o BPM + SOA - Primera Parte
Gerardo Porras Cedeño
PORRASCG@bccr.fi.cr
Ingeniero de Software
División de Servicios Tecnológicos
Banco Central de Costa Rica

El panorama actual. En el 2004 Nicholas G. Carr movió el piso de la comunidad TI, y de la empresarial en general, con su famoso y controversial artículo “IT Doesn’t Matter” y el subsiguiente libro “Does IT Matter?”. Independientemente de la veracidad del argumento de Carr, o el de los muchos detractores que se dieron en su momento, lo cierto es que en el agitado y aplanado mundo de hoy es imperativo sacarle el mayor provecho a los recursos con los que una empresa cuenta, entre ellos TI, a veces para competir, otras para sobrevivir...

Por otro lado, el paso de la visión del “mundo gaussiano” al “mundo del pareto” nos impone, tal y como lo explica(1) magistralmente John Hagel y ejemplificado por Chris Anderson en The Long Tail, un reto mayor en tratar de complacer una mayor base de consumidores (con gustos diferentes, etc.) con productos diferentes dado que, simple y sencillamente, allí también hay dinero. Nuestras organizaciones están diseñadas para un mundo en donde se satisface el gusto de la media por lo que es imprescindible rediseñar tanto la arquitectura de las organizaciones como la de TI para lidiar con este “mundo del pareto”, con plataformas en donde la demanda se “jala” desde el cliente (orquestado por ideas como “justo a tiempo”) y la customización a las preferencias individuales del cliente son la norma.

Por si fuera poco, recientemente Michael Hugos nos dice(2) que dado el vertiginoso cambio al que estamos expuestos actualmente la búsqueda de eficiencia ya no tiene ese factor de predictibilidad que la hacía posible y en nuestro mundo globalizado es más importante el tiempo de respuesta a los cambios en los gustos de los consumidores, al avance tecnológico, etc. Agilidad es la palabra que viene a la mente entonces para alcanzar este objetivo descrito por Hugos. En lo personal creo que la eficiencia sigue siendo una meta válida (¿aceptaría usted como consumidor que su iPhone hecho a la medida llegue a sus manos luego de tres meses de realizado el pedido?) aunque es totalmente cierto que factores como la innovación constante es algo que debe ser tomado en cuenta. Es más, la innovación es a todas luces un proceso que también puede ser mejorado e incorporado en el proceso productivo y desde mi perspectiva la solución está en el desarrollo de herramientas y la aplicación de prácticas que nos permitan realizar la mejora en forma mucho más rápida alcanzando al final de este largo trayecto la casi mítica empresa en tiempo real, tal y como la describe(3) Peter Fingar.

BPM y SOA, dos caras de una moneda llamada “agilidad”.

Toda esta introducción establece el escenario ideal para el tema de este artículo: cómo puede TI contribuir en mayor grado al éxito del negocio a través de BPM y SOA. Para entender en mejor forma este artículo es importante comprender qué es SOA y para eso una buena introducción es el “Informe especial: SOA Arquitectura Orientada a Servicios(4)” de Paul Solano, aparecido en un número anterior de Business Transformation. En todo caso, a continuación mencionaré brevemente algunos términos que usted verá en este artículo.

• Un servicio se entiende como una tarea de negocio repetible, por ejemplo, abrir una cuenta para un cliente en un banco o verificar el crédito de un cliente.

• La orientación a servicios es una forma de integrar el negocio a través de la integración de servicios y los resultados que estos entregan.

• SOA (Arquitectura Orientada a Servicios) es un estilo de arquitectónico desde el punto de vista tecnológico que apoya la orientación a servicios.

• Una aplicación compuesta se define como un conjunto de servicios relacionados e integrados que apoyan un proceso de negocio construido sobre SOA y representa un nuevo paradigma de desarrollo de aplicaciones de software.

Además, de entregas anteriores recordará usted que BPM tiene dos perspectivas: la de negocio y la tecnológica. En la primera cambiamos la forma de ver a las organizaciones como silos aislados hacia una visión holística de la misma, con procesos que trascienden los límites de departamentos, divisiones, etc. En la segunda BPM trae consigo herramientas que nos ayudan a modelar esos procesos de negocio, a ejecutarlos y a monitorearlos, es decir, a mantener el ciclo de vida de los proceso de una organización.

Entrando en el tema, primero que todo es importante dejar claro que en realidad BPM y SOA son dos caras de una misma moneda llamada agilidad. Desde una perspectiva de negocios ambos proveen una mayor flexibilidad y control sobre el negocio incrementando la agilidad y el time to market. Desde la perspectiva de TI ambos tratan el tema de construir y orquestar aplicaciones compuestas, permitiendo la reutilización de servicios y sistemas existentes a través de estándares abiertos (XML, SOAP, WSDL, etc.).

Viéndolos a través de una lupa llegamos a la conclusión de que BPM y SOA son esfuerzos más que complementarios: son ortogonales. Mientras que el tema central de SOA está en ver a los procesos de negocio como servicios que deben ser expuestos en forma débilmente acoplada y consumidos por aplicaciones compuestas, BPM trata sobre el ciclo de vida de los procesos de negocio (descubrimiento, modelado, monitoreo, etc.). La intersección obvia entre ambos está a nivel de los procesos de negocio, allí es donde realmente ambos esfuerzos convergen. Esta liga producirá procesos expresados como aplicaciones compuestas ejecutadas, probablemente, dentro de frameworks específicos como sería un portal institucional. Además, BPM le da a SOA una visión más amplia de la organización impidiendo la creación de soluciones de software aisladas para silos organizacionales específicos (cuya maraña tendría luego que integrar a través de esfuerzos como EAI) en favor de la construcción de verdaderas habilidades (capabilities) basadas en TI.

La siguiente imagen, que muestra las capas de una SOA, le ayudará a comprender mejor la relación los conceptos mencionados.

capas de una SOA

La capa superior es la capa de acceso o presentación. Aquí tenemos a los consumidores de los servicios que, como dijimos, podrían ser aplicaciones compuestas, móviles, etc. Luego tenemos a los procesos de negocio modelados y aquí es donde ocurre la orquestación (una aplicación de software BPM a modo de director de orquesta, ejecuta y controla el flujo de datos a través de los servicios que constituyen el proceso de negocio) o la coreografía (la secuencia y dependencia de las interacciones entre los múltiples servicios que implementan un proceso de negocio así como las condiciones necesarias para su invocación están previamente definidas, es decir, es como una banda musical donde cada músico sabe el momento en el que debe intervenir, con que nota, etc.) de los procesos. En la siguiente capa tenemos el catálogo de servicios a nivel empresarial. Estos pueden ser atómicos (en celeste) o compuestos (en magenta). Estos servicios podrían ser utilizados ya sea por procesos de negocio o directamente por consumidores. La aplicación de diferentes prácticas arquitectónicas (patrones de diseño, etc.) hacen de esta capa una arquitectura. En estas tres capas encontramos a los consumidores de servicios.

En la siguiente capa están los componentes del servicio que son los elementos que ya conocemos del paradigma de orientación a objetos. Estos componentes se utilizan para construir los servicios y es importante notar que pueden ser utilizados por uno o más servicios. Por último tenemos la capa de sistemas operacionales e infraestructura. Aquí es donde yacen las aplicaciones de software existentes, compradas o desarrolladas internamente, así como la infraestructura tecnológica con la que cuenta la empresa (mainframes, bases de datos, redes, etc.). Los servicios podrían interactuar directamente (por ejemplo, a través de conectores SAP) con elementos de esta capa o hacerlo a través de los componentes.

» continua..

(1) http://edgeperspectives.typepad.com/edge_ perspectives/2007/05/the_power_of_po.html

(2) http://www.amazon.com/Greatest-Innovation-Since-Assembly-Line/dp/0929652398/ref=sr_1_14/105-6196996-7180423?ie= UTF8&s=books&qid=1184540735&sr=1-14

(3) http://www.amazon.com/Real-Time-Enterprise-Competing- Revolutionary-Business/dp/0929652304

(4) http://www.gbm.net/bt/BT31/10_bluetech.html (5) http://cio.idg.com.au/index.php?id=122542295