lunes, 22 de octubre de 2018

Gestión por procesos - BPM y SOA

En esta ocasión se continuó tratando sobre el BPM (en el marco de la gestión por procesos) pero centrado en el SOA (Service Oriented Architecture), es decir, en una arquitectura basada en servicios.

Así, descompondríamos los procesos en servicios, generalmente de carácter mínimo y genérico, para su aprovechamiento generando eficiencia en la organización.

Sabiendo esto, diremos que BPM y SOA son tecnologías complementarias, que usadas en conjunto pueden impulsar a la organización a mejorar sus resultados.

Como ya hemos dicho, SOA se basa en la descomposición en servicios, pero para ser aplicada los servicios deben seguir unos principios:
  • Deben ser reutilizables: ser mínimos y pensados para su reutilización y su uso masivo por diversas tareas.
  • Deben proporcionar un contrato formal (SLA)
  • Deben tener bajo acoplamiento: son independientes los unos de los otros.
  • Deben permitir la composición: serán mínimos para que, mediante composición de varios, se consigan servicios genéricos de mayor nivel.
  • Deben ser autónomos: entorno de ejecución propio e independiente para su reutilización.
  • No deben tener estado: no deben guardar ningún tipo de información (evita la inconsistencia).
  • Deben poder ser descubiertos: de tal forma que se evite la creación de un servicio que ya existe.
Los servicios se localizarán en el portfolio de servicio (que muestra la información desde la perspectiva del negocio) y en el catálogo de servicios (parte del portfolio accesible por los clientes). Según ITIL, los servicios pueden ser:
  • De negocio: soporte directo a los procesos de negocio y accesibles por los clientes externos.
  • IT: soporte a los procesos internos del negocio y accesibles por los clientes internos.
  • De infraestructura: más técnicos y de nivel más bajo. Accesibles por los servicios IT.
  • De soporte
Dentro de los servicios, encontramos un tipo denominado "Servicios web". Debe quedar claro que los servicios web no son lo mismo que un SOA, ya que ambos términos suelen confundirse. SOA implica relación con procesos, con la estrategia de negocio e integra distintos tipos de servicios. Los servicios web, por su parte, son un tipo de servicio y forman parte de un SOA.

Estos servicios web pueden ser síncronos (se debe esperar la respuesta de la acción) o asíncronos (se invoca y la respuesta puede producirse de forma posterior).

A la hora de diseñar un BPM o SOA, se puede optar por dos alternativas:
  • Enfoque Bottom-Up: trata de identificar primero los servicios y posteriormente escalar hasta la generación de procesos que utilizarán los servicios a priori detectados y diseñados.
  • Enfoque Top-Down: al contrario que el anterior, identifica los procesos y, a partir de ellos, selecciona los servicios necesarios, tratando de generalizarlos para su uso por diversas tareas y procesos.
A priori, podría parecer que el enfoque Top-Down es más lógico y conveniente, pero existen casos en los que se puede aplicar el enfoque Bottom-Up, si bien es habitual que se hago un uso combinado de ambos.

Entre las similitudes de BPM y SOA:
  • Desarrollan la gestión de servicios y procesos
  • Tienen repositorios de servicios y procesos
  • Tienen la supervisión y gestión de la funcionalidad de servicios y procesos
  • Están basados en eventos
Y sus diferencias son:
  • La simulación es propia del BPM
  • SOA genera funciones más técnicas y de menor nivel que BPM
  • SOA trata los servicios web mientras BPM se ocupa de los procesos de negocio
  • BPM orientado a los usuarios de negocio que SOA
Como es de suponer, la aplicación de BPM y SOA proporciona múltiples ventajas en la organización, entre las que se destacan la agilidad, la flexibilidad, la escalabilidad, la facilidad de mantenimiento y la reducción de costes y tiempos.


No hay comentarios:

Publicar un comentario