Este documento describe la tecnología SOA y BPM y cómo puede ayudar a las organizaciones a mejorar su agilidad y productividad. Explica que la gestión por procesos alinea los recursos de una empresa con sus objetivos estratégicos mediante la planificación, ejecución, monitoreo y mejora continua de sus procesos clave. También describe los componentes tecnológicos clave de una arquitectura SOA/BPM como el modelado de procesos, la plataforma de ejecución y la solución de mon
1. La Tecnología SOA y la Gestión por Procesos.
Ferran Garcia Pagans.
Departamento de Sales Consulting.
Oracle Iberica.
Av. Diagonal 616, 08028 Barcelona.
ferran.garcia@oracle.com
control y la mejora de un conjunto de procesos de
1. Resumen negocio fundamentales.
Por esta razón, lo más importante en un proyecto
Según Gartner [1], una de las 10 primeras BPM es conocer los objetivos de la organización.
preocupaciones de los directivos de las Los objetivos vienen marcados por la política
organizaciones empresariales es la competencia. estratégica y a partir de estos objetivos se definen
La competitividad de las organizaciones se ha los objetivos de cada proceso.
hecho especialmente crítica con la aparición de
compañías en países de economía emergente, En un proyecto BPM solamente se tienen en
donde los costes salariales son más bajos. En este cuenta los procesos fundamentales, esto se debe a
entorno, hay dos cosas que pueden ayudar a las que no todos los procesos contribuyen en la
organizaciones a sobrevivir: mejorar la agilidad misma media en los objetivos.
empresarial (business agility) e incrementar de la Hasta este momento se ha hablado de procesos
productividad. pero todavía no se ha definido este término.
La agilidad empresarial es la capacidad de una Generalmente, un proceso de negocio es un
organización de responder a cambios en el entorno conjunto de actividades que una organización
(mercado, legislación, ...). realiza para suministrar un bien o un servicio. Los
procesos tienen un evento inicial que los
En cuanto a la productividad, es necesario desencadena, que puede ser, por ejemplo, una
definirla en función de la estrategia de la orden de compra, y finalizan cuando los
compañía y de sus objetivos de negocio. Por individuos relacionados con el proceso han
ejemplo, para una empresa textil la productividad satisfecho sus necesidades. Por ejemplo, el cliente
puede ser reducir los costes de fabricación, o ha recibido su pedido y el departamento comercial
fabricar prendas que se adapten mejor al cliente o ha podido cobrar la factura.
fabricar prendas de mayor calidad.
La gestión de una compañía por procesos
La gestión por procesos es una solución a esta representa un cambio organizativo importante
problemática. Su objetivo es alinear los distintos respecto a la organización tradicional. Esta última,
recursos de la compañía con los objetivos de la divide a las personas y a los recursos en
organización. departamentos. De esta manera no es posible
En este documento se analizará la tecnología garantizar que los esfuerzos de los distintos
utilizada en un proyecto de BPM y se utilizará a departamentos están alineados con los objetivos
modo de ejemplo la solución de Oracle. de la organización. La gestión por procesos rompe
las barreras departamentales y organiza las
personas y recursos de distintos departamentos en
2. Introducción. torno a un proceso de negocio, que debe estar
perfectamente alineado con la estrategia de la
organización.
El BPM o gestión por procesos es una técnica de
gestión empresarial que trata de conseguir unos Un fundamento del BPM es el control de la
objetivos de negocio mediante la gestión, el ejecución de los procesos. Por control se entiende:
2. Planificación, Ejecución, Monitorización y actual en una gran cantitdad de organizaciones
Actuación. Es decir, el primer paso es planificar españolas:
los procesos para asegurar que están alineados con
los objetivos. Luego se ejecutan y se monitorizan • La mayor parte de organizaciones han
las métricas de rendimiento más importantes de invertido una cantidad de recursos importantes
cada proceso. Sobre la base de estas métricas se en aplicaciones departamentales como CRM,
toma decisiones para mejorar su rendimiento. ERP, SCM o aplicaciones a medida.
• Estas aplicaciones tienen un repositorio propio
Estos tres pasos que conforman el control de información.
corresponden con tres componentes tecnológicos • La información está dispersa o duplicada en
fundamentales: una herramienta de modelado de diferentes sistemas y en algunas ocasiones la
negocio, una plataforma de desarrollo y ejecución de diferentes repositorios es inconsistente.
de procesos de negocio y una solución que • Los procesos de negocio han incrementado su
permita monitorizar los indicadores de complejidad debido a la aparición de nuevas
rendimiento más importantes de cada proceso o normativas, de la concentración de compañías,
KPI’s (Key Performance Indicators). A través de el aumento de la competencia, etc.
la monitorización de estos indicadores puede • Como consecuencia del aumento de
modificar el modelado de procesos para mejorar competitividad, las organizaciones buscan la
su rendimiento. excelencia en la ejecución. Por ello, el control
en la ejecución de los procesos es
MONITORIZACIÓN PLANIFICACIÓN fundamental.
• Los presupuestos de los directores de
informática se incrementarán por debajo de
3% [1], pero al mismo tiempo la exigencia al
departamento de IT es mayor y más compleja.
EJECUCIÓN Con este escenario, se plantea la pregunta de si las
organizaciones pueden ser más eficientes con un
Figura 1. Control de Procesos. menor coste gracias a la implementación de la
tecnología BPM. Jeston y Nelis [2] responden
Un proyecto BPM no es un proyecto tecnológico, afirmativamente; la razón es que la tecnología
sino de organización, y como tal debe estar BPM proporciona una capa independiente para
esponsorizado por la más alta dirección. Aunque enlazar diversas aplicaciones y personas que
no se trate de proyectos puramente tecnológicos, participan en un solo proceso de negocio. De esta
aquí los sistemas informáticos juegan un papel manera es posible asegurar que los distintos
crítico como habilitadores. Hoy la mayoría de las esfuerzos de departamentos y personas distintas
compañías dependen para funcionar de multitud están alineados entre si y con los objetivos.
sistemas informáticos. Estos sistemas están Además, monitorizando los distintos pasos de los
organizados en forma departamental y deben procesos de negocio, las organizaciones pueden
adaptarse para dar soporte a una nueva forma de medir el rendimiento de la organización y auditar
trabajar. los procesos.
Medir el rendimiento de la organización permite
3. Tecnología SOA/BPM descubrir oportunidades de mejora en los procesos
de negocio mediante la modificación de los
Como se ha visto, el objetivo es convertir una mismos. Al realizar estos cambios y monitorizar
organización con un funcionamiento los procesos en tiempo real, se puede conocer
departamental en una organización gestionada por inmediatamente el impacto de estas
procesos. Para ello es necesario un doble cambio, modificaciones.
un cambio origanizativo y uno en el ámbito de los Para implementar un proyecto BPM el primer
sistemas de información. Para evaluar el cambio paso es modelar los procesos de negocio de la
en los sistemas, primero veamos cuál es su estado compañía. Además de modelar los procesos, en
3. muchas ocasiones es importante poder simularlos. Una arquitectura orientada a servios como la que
Hay que tener en cuenta que la automatización de se propone tiene un conjunto de características
un proceso no eficiente, no convierte al proceso en técnicas a tener en cuenta.
eficiente.
• Los servicios no están concentrados en un
Durante esta definición de procesos aparecerá un solo punto, sino que se encuentran
conjunto de servicios atómicos, que en algunos distribuidos.
casos se re-utilizará en diferentes procesos. • La implementación de los servicios es
tecnológicamente heterogénea.
Así, el paso siguiente será construir un portafolio
de servicios y conectarlos mediante una capa de • Estos servicios muchas veces tienen que
bus de servicios (ESB). Luego se componen los acceder a sistemas heredados.
procesos extremo a extremo, y finalmente es • La misma información se representa de forma
posible construir un cuadro de mandos para distinta en distintos sistemas de información.
visualizar en tiempo real los indicadores de cada • La seguridad de la plataforma depende de la
proceso. Esta arquitectura tecnológica se adapta al seguridad de los servicios individuales, de los
objetivo de la gestión por procesos, es decir, procesos, sistemas de colas, ....
control de procesos (Planificar, Ejecutar, • La disponibilidad y el nivel de servicio de los
Monitorizar, Actuar). procesos dependen de la disponibilidad y del
nivel de servicio de los servicios que
La arquitectura presenta estas capas: intervienen en el proceso.
1. Definición de procesos de negocio. Una arquitectura como esta requiere dos
2. Portafolio de Servicios y un bus de servicios. componentes importantes un bus de servicios o
3. Composición de procesos. ESB para conectar sistemas hereterogéneos y una
4. Interfaz de Usuario y de Cuadros de Mandos. plataforma de gestión que permita manejar de
5. Gestión y seguridad de la plataforma. forma centralizada una plataforma distribuida y
hetereogena como la que se ha descrito.
Para resumir, el modelado, ejecución y
MODELADO DE PROCESOS monitorización de procesos son las piezas
estratégicas en una arquitectura BPM. Al mismo
tiempo esta nueva arquitectura precisa de unos
MONITORIZACIÓN INDICADORES componentes tecnológicos que son el bus de
servicios y la plataforma de gestión.
SENSORES
EJECUCIÓN DE PROCESOS 3.1. Definición de Procesos de Negocio.
Para definir los procesos de negocio, se utiliza un
SERVICIOS software de modelado de procesos de negocio. La
utilización de este software debería promover la
GOBERNABILIDAD Y GETION utilización de una metodología de trabajo. Los
componentes deben ser fácilmente re-utilizables.
Figura 2. Arquitectura de una Solución SOA/BPM. Para ello es necesario que los distintos modelos
sean accesibles por todos los miembros del
Como se ha dicho, la clave en un proyecto BPM equipo, así podrán ser re-utilizados. Otro aspecto
es alinear los recursos de la compañía con la importante de este tipo de software es la
estrategia. Por esta razón es posible dividir estas posibilidad de simular y optimizar procesos antes
capas en dos grupos. Los componentes de implementarlos. También es necesario analizar
fundamentales para conseguir esta alineación son diversos aspectos, como la interdependencia entre
el modelado de procesos, el entorno de ejecución procesos, la dependencia entre tareas y personas,
de procesos y una solución que permita la dependencia con sistemas informáticos, etcétera.
monitorización del rendimiento de los procesos.
4. El modelado de procesos es una tarea compleja, por las que es interesante utilizar estos estándares
por esta razón las distintas herramientas de es por se basan en mensajería XML y
modelado facilitan la aplicación de algún tipo de generalmente utilizan el protocolo http; de esta
metodología. manera los servicios web son prácticmente
ubicuos. No es objetivo de este documento
Una vez han sido modelados los procesos, algunas describir estos estándares.
herramientas permiten exportar el proceso hacia
una herramienta de implementación, con la Una vez definido el portafolio, se presentarán tres
finalidad de que sirva de punto de partida a los tipos de servicios: los que no están implementados
desarrolladores que implementarán el proceso. Así y que por tanto es necesario desarrollar, los que ya
se reduce el tiempo de desarrollo y se mejora la se encuentran desarrollados y que por tanto no es
comunicación entre los usuarios de negocio que necesario desarrollar, y los servicios que se
definen y los desarrollados que implementan. encuentran implementados en alguna tecnología
propietaria o heredada y que es necesario
En la solución Oracle, el modelado y simulación habilitarlos como servicios web.
de procesos se cubre con Oracle BPA Suite,
basada en ARIS Business Architect de IDS Una opción gratuita para el desarrollo de servicios
Sheer[5]. Oracle ha integrado esta herramienta es Oracle JDeveloper 10g. Esta es la herramienta
dentro de su Oracle SOA Suite. propuesta por Oracle para todo el desarrollo SOA.
Dado que los servicios web están basados en
Para facilitar el modelado de procesos, esta estándares es posible utilizar otras herramientas
herramienta (al igual que ARIS) propone dividir como por ejemplo Eclipse.
los procesos en vistas simples para reducir su
complejidad [5]. Generalmente se contemplan la Además de la herramienta de desarrollo, en
vista de los datos, la de las funciones, la de la tiempo de ejecución, es necesario contar con un
organización y la de control o proceso; de esta servidor de aplicaciones con soporte a servicios
manera un proceso (vista de control) es una web. Oracle Application Server 10g dispone de
conjunto de funciones (vista de funciones), soporte completo a los estándares de servicios
realizadas por un conjunto de personas (vista de la web. Como en el caso de la herramienta de
organización) en un orden determinado (vista de desarrollo, los servicios web desplegados en otros
control o procesos). servidores se incorporan sin ningún
inconveniente. Las consideraciones de seguridad y
Para describir un proceso de forma adecuada es gestión de la plataforma se tratarán más adelante.
necesario modelarlo a distintos niveles.
Generalmente se empieza con un diagrama Es muy habitual que algunas organizaciones
general, por ejemplo, una cadena de valor y luego dispongan de un volumen importante de
se va entrando en detalle diagramando el proceso aplicaciones desarrolladas en Cobol, SAP o otras
principal, luego los subprocesos y finalmente las tecnologías que no tienen soporte directo de
tareas. En las últimas fases del modelado de servicios web. Para habilitar estas aplicaciones
procesos es conveniente la participación de una como servicios web, es conveniente utilizar un
arquitecto de procesos (desarrollador senior) que bus de servicios. Este componente tiene 3
asegure que los procesos de negocio diagramados responsabilidades: conectividad, traducción y
por los analistas de negocio sean implementables. modificación de mensajes de mensajes y
Una vez se han definido los procesos es posible distribución y enrutado.
importarlos desde Oracle JDeveloper para
utilizarlos para el desarrollo de procesos en BPEL. Para la conectividad se utilizan adaptadores que
acceden al sistema propietario y lo exponen como
servicios web o como un conector Java (JCA).
3.2. Portafolio de Servicios. Existe la posibilidad de utilizar una solución como
Oracle Enterprise Service Bus o bien de
En esta capa de servicios, una buena idea es implementar este concepto ya que el bus de
utilizar distintas tecnologías enmarcadas dentro de mensajes es una combinación del patrón
los estándares Servicios Web. Una de las razones Canonical Data Model, una infraestructura de
5. mensajería, unos adaptadores y un conjunto de diferentes personas, es importante disponer de un
comandos comunes[4]. motor de workflow y que este esté integrado con
el motor de procesos.
3.3. Composición de Procesos. En la capa de procesos, una buena alternativa es
Oracle BPEL Process Manager. Oracle BPEL PM
Esta es una de las capas fundamentales en un dispone de dos componentes principales, una
proyecto BPM ya que aquí se implementan los herramienta de desarrollo y un motor de ejecución
procesos. Anteriormente se habían utilizado de procesos. Juric realiza un extenso análisis de la
soluciones propietarias para para definir los primera versión de esta herramienta [3].
procesos de negocio. Actualmente los principales JDeveloper dispone de integración con la
fabricantes dan soporte a Business Process herramienta de modelado de procesos Oracle BPA
Execution Language (BPEL) [3]. BPEL es un Suite para poder importar los modelos como punto
lenguaje de programación cuyo objetivo principal de partida para el desarrollo.
es implementar procesos mediante la composición
de servicios web[3]. BPEL estandariza la Oracle BPEL PM dispone de un motor de
integración de aplicaciones y estimula a las Workflow y uno de notificaciones. Además cuenta
organizaciones a definir procesos de negocio que con integración con Oracle BAM (monitorización
puedan ser optimizados dando lugar a re- indicadores de negocio), Oracle Business Rules y
ingeniería de procesos[3]. otros motores de reglas de negocio.
Un proceso implementado en BPEL es un servicio
web que a su tiempo llama a otros servicios 3.4. Cuadros de Mando e Interfaz de Usuario.
(composición de servicios) para implementar un
proceso de negocio. Una vez se han creado los procesos, es necesario
La capa de procesos es el punto central de la analizar los indicadores principales de cada uno.
arquitectura y interactúa con el resto de Para ello se desarrolla un cuadro de mando que
componentes de la arquitectura. Para empezar, muestra su evolución en tiempo real.
sería interesante disponer de una integración entre Como es lógico, la definición de los indicadores
la herramienta de desarrollo de procesos y la principales debe realizarla el analista de negocio
herramienta de modelado, de manera que el encargado de modelar el proceso. Es fundamental
modelo de procesos sirviera como punto de inicio que estos indicares estén en linea con los objetivos
en el desarrollo del proceso. estratégicos y con los objetivos individuales del
Si se desea desarrollar un cuadro de mandos con proceso.
las principales métricas de los procesos, será Para desarrollar este cuadro de mando, el primer
deseable que el motor de ejecución pueda exportar paso es extraer información de los procesos; para
fácilmente información a una herramienta que ello se puede desarrollar servicios que almacenen
permita desarrollar estos cuadros de mando. información del proceso en algún almacén, como
Los procesos definidos en esta capa van a hacer una base de datos. Algunas herramientas de
uso de los servicios web definidos en el bus de gestión de procesos, como Oracle BPEL PM,
servicios. Este acceso no representará ningún permiten definir sensores que extraen la
problema al tratarse de servicios web. información del flujo, evitando desarrollar nuevos
servicios.
De la misma forma, los procesos desarrollados en
BPEL se integran fácilmente con cualquier El segundo paso es el desarrollo del propio cuadro
interfaz de usuario. de mandos sobre la base de la información que se
extrae de los procesos. Dentro de la solución de
También es conveniente integrar con los procesos Oracle esta funcionalidad se cubre con Oracle
reglas de negocio y un motor de workflow. Busisness Activity Monitoring, que permite
desarrollar cuadros de mando personalizados para
En este tipo de proyectos donde se trata de cada usuario, alertas, informes, etcétera.
automatizar procesos en los que intervienen
6. Además del cuadro de mando, también es La clave de la gestión por procesos es que permite
necesario disponer de una interfaz de usuario para alinear los recursos entorno a un proceso de
interactuar con los procesos de negocio. Dado que negocio. Dicho de otra forma, la gestión por
un proceso BPEL es a su tiempo un servicio web, procesos reduce la fricción entre la organización
integrarlo dentro de una interfaz de usuario no es vertical de las empresas y la naturaleza horizontal
un problema. de los procesos de negocio. El liderazgo de un
proyecto de gestión por procesos debe proceder de
la alta dirección. Los beneficios de negocio de la
3.5. Seguridad y Gestión de la plataforma. gestión por procesos son:
No se va a profundizar en la seguridad y gestión • Incremento de productividad de la
de la plataforma, ya que no es el motivo de este organización a bajo coste.
documento, pero se enumerarán algunos aspectos • Mejora de la agilidad de la compañía.
importantes. • Se dispone de una visión de la compañía más
completa y en tiempo real.
En las aplicaciones tradicionales todo el control de • Se dispone de más y mejor información para
acceso, auditoría y trazabilidad esta centralizado tomar decisiones.
en las propias aplicaciones. En una arquitectura • Mejora del servicio al cliente.
SOA existen diversos entornos de ejecución, con Tal como se ha visto, aunque se trate de un
tecnologías distintas y generalmente muy concepto empresarial, la solución tecnológica es
heterogéneas. Es importante notar que en una clave para el éxito del proyecto. Para el
arquitectura SOA, el rendimiento, disponibilidad o departamento de sistemas se trata de un proyecto
seguridad de un proceso, no depende solo del clave que va a permitir aportar valor a la
propio proceso, sino de los distintos servicios que compañía.
son invocados por el servicio. Así, por ejemplo
para que un proceso esté disponible es necesario Las arquitecturas SOA permiten proteger la
que los servicios utilizados por ese proceso estén inversión en aplicativos ya que los convierten en
todos disponibles. En estos entornos es necesario servicios web que se integran en nuevos procesos.
encontrar una solución que nos permita gestionar
toda la seguridad, auditoria, disponibilidad y Cuando la arquitectura SOA/BPM esta
trazabilidad de la plataforma de una forma desplegada, el departamento de informática es
centralizada. En caso contrario, el coste de más ágil respondiendo a las necesidades de sus
operación de la plataforma será muy elevado. En clientes; ya que entre otras cosas el tiempo de
la plataforma Oracle estas funciones de seguridad desarrollo de aplicaciones se reduce. Además las
y gobernabilidad las lleva a cabo Web Services aplicaciones SOA son más flexibles y es más fácil
Manager. adaptarlas a nuevos requerimientos.
Otro componente importante para garantizar la En un proyecto SOA/BPM el modelado de
gobernabilidad de la plataforma es un registro procesos, la implementación, ejecución y
UDDI. En este tipo de registro se almacenan de monitorización de los procesos es clave para
forma centralizada la definición de cada uno de efectuar el control sobre los procesos y para
los servicios que forman parte de nuestro alinear los recursos de la compañía con los
portafolio. Este tipo de registros fomenta la objetivos.
reutilización, ya que los distintos analistas y Por otro lado el bus de servicios, la seguridad y la
desarrolladores disponen de un punto central para gobernabilidad son aspectos clave desde el punto
conocer y acceder a los servicios que ya están de vista de arquitectura.
desarrollados.
Se han comentado, a modo de ejemplo, diversos
componentes de la solución SOA/BPM de Oracle.
4. Conclusiones. Un elemento importante de esta solución es que
proporciona una solución completa a un proyecto
SOA/BPM. Al mismo tiempo, esta solución está
basada en estándares, cosa que asegura la
7. interoperabilidad de los componentes en
plataformas no-Oracle.
No ha sido posible analizar en detalle cada uno de
los componentes de la arquitectura. En otros
trabajos se profundizará en estos componentes.
Referencias
[1] The Gartner Scenario 2006: The Current State
and Future Direction of IT. Ken McGee y
otros.
[2] Business Process Management: Practical
Guidelines to Successful Implementations.
John Jeston, Johan Nelis. Published 2006
Elsevier.
[3] Business Process Execution Language for
servicios web. An architect and developer’s
guide to orchestrating web using BPEL4WS.
Matjaz B. Juric con Benny Mathew y
Poornachandra Sarang. Packt Publishing.
[4] Enterprise Integration Patterns. Design,
Building, and Deploying Messaging Solution.
Gregor Hohpe, Bobby Woolf y otros. Pearson
Education, Inc.
[5] Process Modeling with ARIS. Heinrich
Seidlmeier.