SOA y Gestion por Procesos

1,275 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,275
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
50
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

SOA y Gestion por Procesos

  1. 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 de1. Resumen negocio fundamentales. Por esta razón, lo más importante en un proyectoSegú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íticaorganizaciones empresariales es la competencia. estratégica y a partir de estos objetivos se definenLa competitividad de las organizaciones se ha los objetivos de cada proceso.hecho especialmente crítica con la aparición decompañías en países de economía emergente, En un proyecto BPM solamente se tienen endonde los costes salariales son más bajos. En este cuenta los procesos fundamentales, esto se debe aentorno, hay dos cosas que pueden ayudar a las que no todos los procesos contribuyen en laorganizaciones a sobrevivir: mejorar la agilidad misma media en los objetivos.empresarial (business agility) e incrementar de la Hasta este momento se ha hablado de procesosproductividad. pero todavía no se ha definido este término.La agilidad empresarial es la capacidad de una Generalmente, un proceso de negocio es unorganizació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 losEn cuanto a la productividad, es necesario desencadena, que puede ser, por ejemplo, unadefinirla en función de la estrategia de la orden de compra, y finalizan cuando loscompañía y de sus objetivos de negocio. Por individuos relacionados con el proceso hanejemplo, para una empresa textil la productividad satisfecho sus necesidades. Por ejemplo, el clientepuede ser reducir los costes de fabricación, o ha recibido su pedido y el departamento comercialfabricar 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 procesosLa gestión por procesos es una solución a esta representa un cambio organizativo importanteproblemá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 enorganización. departamentos. De esta manera no es posibleEn este documento se analizará la tecnología garantizar que los esfuerzos de los distintosutilizada en un proyecto de BPM y se utilizará a departamentos están alineados con los objetivosmodo 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 en2. 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 degestión empresarial que trata de conseguir unos Un fundamento del BPM es el control de laobjetivos de negocio mediante la gestión, el ejecución de los procesos. Por control se entiende:
  2. 2. Planificación, Ejecución, Monitorización y actual en una gran cantitdad de organizacionesActuación. Es decir, el primer paso es planificar españolas:los procesos para asegurar que están alineados conlos objetivos. Luego se ejecutan y se monitorizan • La mayor parte de organizaciones hanlas métricas de rendimiento más importantes de invertido una cantidad de recursos importantescada 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 propioEstos tres pasos que conforman el control de información.corresponden con tres componentes tecnológicos • La información está dispersa o duplicada enfundamentales: una herramienta de modelado de diferentes sistemas y en algunas ocasiones lanegocio, 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 supermita monitorizar los indicadores de complejidad debido a la aparición de nuevasrendimiento 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 demodificar el modelado de procesos para mejorar competitividad, las organizaciones buscan lasu 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] respondenUn proyecto BPM no es un proyecto tecnológico, afirmativamente; la razón es que la tecnologíasino de organización, y como tal debe estar BPM proporciona una capa independiente paraesponsorizado por la más alta dirección. Aunque enlazar diversas aplicaciones y personas queno se trate de proyectos puramente tecnológicos, participan en un solo proceso de negocio. De estaaquí los sistemas informáticos juegan un papel manera es posible asegurar que los distintoscrítico como habilitadores. Hoy la mayoría de las esfuerzos de departamentos y personas distintascompañí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 losorganizados en forma departamental y deben procesos de negocio, las organizaciones puedenadaptarse para dar soporte a una nueva forma de medir el rendimiento de la organización y auditartrabajar. los procesos. Medir el rendimiento de la organización permite3. Tecnología SOA/BPM descubrir oportunidades de mejora en los procesos de negocio mediante la modificación de losComo se ha visto, el objetivo es convertir una mismos. Al realizar estos cambios y monitorizarorganización con un funcionamiento los procesos en tiempo real, se puede conocerdepartamental en una organización gestionada por inmediatamente el impacto de estasprocesos. Para ello es necesario un doble cambio, modificaciones.un cambio origanizativo y uno en el ámbito de los Para implementar un proyecto BPM el primersistemas de información. Para evaluar el cambio paso es modelar los procesos de negocio de laen los sistemas, primero veamos cuál es su estado compañía. Además de modelar los procesos, en
  3. 3. muchas ocasiones es importante poder simularlos. Una arquitectura orientada a servios como la queHay que tener en cuenta que la automatización de se propone tiene un conjunto de característicasun proceso no eficiente, no convierte al proceso en técnicas a tener en cuenta.eficiente. • Los servicios no están concentrados en unDurante esta definición de procesos aparecerá un solo punto, sino que se encuentranconjunto 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 portafoliode servicios y conectarlos mediante una capa de • Estos servicios muchas veces tienen quebus 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 formaposible 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 laproceso. Esta arquitectura tecnológica se adapta al seguridad de los servicios individuales, de losobjetivo 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 losMonitorizar, Actuar). procesos dependen de la disponibilidad y del nivel de servicio de los servicios queLa arquitectura presenta estas capas: intervienen en el proceso.1. Definición de procesos de negocio. Una arquitectura como esta requiere dos2. Portafolio de Servicios y un bus de servicios. componentes importantes un bus de servicios o3. Composición de procesos. ESB para conectar sistemas hereterogéneos y una4. Interfaz de Usuario y de Cuadros de Mandos. plataforma de gestión que permita manejar de5. 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 delComo se ha dicho, la clave en un proyecto BPM equipo, así podrán ser re-utilizados. Otro aspectoes alinear los recursos de la compañía con la importante de este tipo de software es laestrategia. Por esta razón es posible dividir estas posibilidad de simular y optimizar procesos antescapas en dos grupos. Los componentes de implementarlos. También es necesario analizarfundamentales para conseguir esta alineación son diversos aspectos, como la interdependencia entreel 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. 4. El modelado de procesos es una tarea compleja, por las que es interesante utilizar estos estándarespor esta razón las distintas herramientas de es por se basan en mensajería XML ymodelado facilitan la aplicación de algún tipo de generalmente utilizan el protocolo http; de estametodología. manera los servicios web son prácticmente ubicuos. No es objetivo de este documentoUna vez han sido modelados los procesos, algunas describir estos estándares.herramientas permiten exportar el proceso haciauna herramienta de implementación, con la Una vez definido el portafolio, se presentarán tresfinalidad de que sirva de punto de partida a los tipos de servicios: los que no están implementadosdesarrolladores que implementarán el proceso. Así y que por tanto es necesario desarrollar, los que yase reduce el tiempo de desarrollo y se mejora la se encuentran desarrollados y que por tanto no escomunicación entre los usuarios de negocio que necesario desarrollar, y los servicios que sedefinen y los desarrollados que implementan. encuentran implementados en alguna tecnología propietaria o heredada y que es necesarioEn 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 serviciosSheer[5]. Oracle ha integrado esta herramienta es Oracle JDeveloper 10g. Esta es la herramientadentro de su Oracle SOA Suite. propuesta por Oracle para todo el desarrollo SOA. Dado que los servicios web están basados enPara facilitar el modelado de procesos, esta estándares es posible utilizar otras herramientasherramienta (al igual que ARIS) propone dividir como por ejemplo Eclipse.los procesos en vistas simples para reducir sucomplejidad [5]. Generalmente se contemplan la Además de la herramienta de desarrollo, envista de los datos, la de las funciones, la de la tiempo de ejecución, es necesario contar con unorganización y la de control o proceso; de esta servidor de aplicaciones con soporte a serviciosmanera un proceso (vista de control) es una web. Oracle Application Server 10g dispone deconjunto de funciones (vista de funciones), soporte completo a los estándares de serviciosrealizadas por un conjunto de personas (vista de la web. Como en el caso de la herramienta deorganización) en un orden determinado (vista de desarrollo, los servicios web desplegados en otroscontrol o procesos). servidores se incorporan sin ningún inconveniente. Las consideraciones de seguridad yPara 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 organizacionesgeneral, por ejemplo, una cadena de valor y luego dispongan de un volumen importante dese va entrando en detalle diagramando el proceso aplicaciones desarrolladas en Cobol, SAP o otrasprincipal, luego los subprocesos y finalmente las tecnologías que no tienen soporte directo detareas. En las últimas fases del modelado de servicios web. Para habilitar estas aplicacionesprocesos es conveniente la participación de una como servicios web, es conveniente utilizar unarquitecto de procesos (desarrollador senior) que bus de servicios. Este componente tiene 3asegure que los procesos de negocio diagramados responsabilidades: conectividad, traducción ypor los analistas de negocio sean implementables. modificación de mensajes de mensajes yUna vez se han definido los procesos es posible distribución y enrutado.importarlos desde Oracle JDeveloper parautilizarlos 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 deEn esta capa de servicios, una buena idea es implementar este concepto ya que el bus deutilizar distintas tecnologías enmarcadas dentro de mensajes es una combinación del patrónlos estándares Servicios Web. Una de las razones Canonical Data Model, una infraestructura de
  5. 5. mensajería, unos adaptadores y un conjunto de diferentes personas, es importante disponer de uncomandos 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 PMEsta es una de las capas fundamentales en un dispone de dos componentes principales, unaproyecto BPM ya que aquí se implementan los herramienta de desarrollo y un motor de ejecuciónprocesos. Anteriormente se habían utilizado de procesos. Juric realiza un extenso análisis de lasoluciones propietarias para para definir los primera versión de esta herramienta [3].procesos de negocio. Actualmente los principales JDeveloper dispone de integración con lafabricantes dan soporte a Business Process herramienta de modelado de procesos Oracle BPAExecution Language (BPEL) [3]. BPEL es un Suite para poder importar los modelos como puntolenguaje de programación cuyo objetivo principal de partida para el desarrollo.es implementar procesos mediante la composiciónde servicios web[3]. BPEL estandariza la Oracle BPEL PM dispone de un motor deintegración de aplicaciones y estimula a las Workflow y uno de notificaciones. Además cuentaorganizaciones a definir procesos de negocio que con integración con Oracle BAM (monitorizaciónpuedan ser optimizados dando lugar a re- indicadores de negocio), Oracle Business Rules yingeniería de procesos[3]. otros motores de reglas de negocio.Un proceso implementado en BPEL es un servicioweb que a su tiempo llama a otros servicios 3.4. Cuadros de Mando e Interfaz de Usuario.(composición de servicios) para implementar unproceso de negocio. Una vez se han creado los procesos, es necesarioLa 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 quecomponentes 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 indicadoresla herramienta de desarrollo de procesos y la principales debe realizarla el analista de negocioherramienta de modelado, de manera que el encargado de modelar el proceso. Es fundamentalmodelo de procesos sirviera como punto de inicio que estos indicares estén en linea con los objetivosen el desarrollo del proceso. estratégicos y con los objetivos individuales delSi se desea desarrollar un cuadro de mandos con proceso.las principales métricas de los procesos, será Para desarrollar este cuadro de mando, el primerdeseable que el motor de ejecución pueda exportar paso es extraer información de los procesos; parafácilmente información a una herramienta que ello se puede desarrollar servicios que almacenenpermita desarrollar estos cuadros de mando. información del proceso en algún almacén, comoLos procesos definidos en esta capa van a hacer una base de datos. Algunas herramientas deuso 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 laproblema al tratarse de servicios web. información del flujo, evitando desarrollar nuevos servicios.De la misma forma, los procesos desarrollados enBPEL se integran fácilmente con cualquier El segundo paso es el desarrollo del propio cuadrointerfaz de usuario. de mandos sobre la base de la información que se extrae de los procesos. Dentro de la solución deTambién es conveniente integrar con los procesos Oracle esta funcionalidad se cubre con Oraclereglas de negocio y un motor de workflow. Busisness Activity Monitoring, que permite desarrollar cuadros de mando personalizados paraEn este tipo de proyectos donde se trata de cada usuario, alertas, informes, etcétera.automatizar procesos en los que intervienen
  6. 6. Además del cuadro de mando, también es La clave de la gestión por procesos es que permitenecesario disponer de una interfaz de usuario para alinear los recursos entorno a un proceso deinteractuar con los procesos de negocio. Dado que negocio. Dicho de otra forma, la gestión porun proceso BPEL es a su tiempo un servicio web, procesos reduce la fricción entre la organizaciónintegrarlo dentro de una interfaz de usuario no es vertical de las empresas y la naturaleza horizontalun 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 la3.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 lade 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 paraacceso, 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 untecnologías distintas y generalmente muy concepto empresarial, la solución tecnológica esheterogéneas. Es importante notar que en una clave para el éxito del proyecto. Para elarquitectura SOA, el rendimiento, disponibilidad o departamento de sistemas se trata de un proyectoseguridad de un proceso, no depende solo del clave que va a permitir aportar valor a lapropio proceso, sino de los distintos servicios que compañía.son invocados por el servicio. Así, por ejemplopara que un proceso esté disponible es necesario Las arquitecturas SOA permiten proteger laque los servicios utilizados por ese proceso estén inversión en aplicativos ya que los convierten entodos disponibles. En estos entornos es necesario servicios web que se integran en nuevos procesos.encontrar una solución que nos permita gestionartoda la seguridad, auditoria, disponibilidad y Cuando la arquitectura SOA/BPM estatrazabilidad de la plataforma de una forma desplegada, el departamento de informática escentralizada. En caso contrario, el coste de más ágil respondiendo a las necesidades de susoperación de la plataforma será muy elevado. En clientes; ya que entre otras cosas el tiempo dela plataforma Oracle estas funciones de seguridad desarrollo de aplicaciones se reduce. Además lasy gobernabilidad las lleva a cabo Web Services aplicaciones SOA son más flexibles y es más fácilManager. adaptarlas a nuevos requerimientos.Otro componente importante para garantizar la En un proyecto SOA/BPM el modelado degobernabilidad de la plataforma es un registro procesos, la implementación, ejecución yUDDI. En este tipo de registro se almacenan de monitorización de los procesos es clave paraforma centralizada la definición de cada uno de efectuar el control sobre los procesos y paralos servicios que forman parte de nuestro alinear los recursos de la compañía con losportafolio. 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 ladesarrolladores disponen de un punto central para gobernabilidad son aspectos clave desde el puntoconocer 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. 7. interoperabilidad de los componentes enplataformas no-Oracle.No ha sido posible analizar en detalle cada uno delos componentes de la arquitectura. En otrostrabajos 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.

×