Un servicio de mensajería impulsado por procesos ( PDMS ) es un servicio que está orientado a procesos e intercambia mensajes / llamadas de datos. Un PDMS es un servicio en el que los trabajos y los desencadenantes se pueden juntar para crear un flujo de trabajo para un mensaje.
Las plataformas de mensajería se consideran elementos clave de la infraestructura de Internet [¿ por quién? ] . Un concepto que antes abarcaba principalmente el correo electrónico y la mensajería instantánea ha evolucionado para abarcar el correo electrónico multimedia complejo, la mensajería instantánea y la infraestructura de mensajería fija y móvil relacionada. Podría decirse que todo lo que se transmite por Internet y los enlaces de telecomunicaciones inalámbricas son mensajes.
PDMS intercambia mensajes con el propósito de todo tipo de llamadas de mensajes / datos entre sistemas, aplicaciones o seres humanos que se basan en cadenas de procesos impulsadas por eventos . [1]
Estructura
Un servicio de mensajería impulsado por procesos es un servicio en el que los trabajos y los desencadenantes se pueden juntar para crear un flujo de trabajo para un mensaje y el flujo de trabajo puede verse como un proceso.
Se ejecuta un flujo de trabajo cuando se solicita un desencadenador. El disparador provoca la activación de uno o más trabajos que, a su vez, pueden ejecutar más trabajos. El flujo de trabajo seguirá activo incluso cuando se hayan ejecutado todos los trabajos, pero no ocurre nada hasta que se vuelve a activar. [2]
Flujos de trabajo
Un flujo de trabajo en PDMS se utiliza para agrupar activadores y / o trabajos para lograr un flujo de acciones y eventos que se pueden invocar una y otra vez sin repetir la configuración. Un flujo de trabajo es un contenedor. Un proceso de flujo de trabajo es un contenedor para un grupo de estados y acciones de flujo de trabajo, como mover un registro de un estado a otro. [3] Además de activadores y trabajos, puede contener grupos o artefactos. Los elementos que pueden incluirse en el flujo de trabajo están disponibles para todos los activadores y trabajos dentro del flujo de trabajo.
El concepto de flujo de trabajo puede verse como una plantilla para una parte o un proceso empresarial completo. Los flujos de trabajo se pueden activar por varias razones diferentes, un ejemplo de las cuales podría ser si algo sucediera en el dominio o si hubiera una llamada explícita para invocar.
El flujo de trabajo estará en un estado pendiente de ejecución cuando el flujo de trabajo, sus activadores y sus trabajos estén activos.
Cuando se crean, los flujos de trabajo requieren que se agregue primero el último trabajo, lo que significa que los trabajos deben enumerarse en orden inverso de ejecución. Los trabajos y los activadores también requieren la lista secuencial inversa de pedidos cuando se crean. [4]
Trabajos
Un trabajo crea algo como una tarea (p. Ej., Enviar un mensaje) o afecta a objetos estándar (p. Ej., Metadatos de forma en una unidad). Es una tarea que describe lo que debe hacer el sistema y puede ser varias cosas. Un trabajo, cuando se activa, puede llevar a la ejecución de otro trabajo (por ejemplo: entrega de mensajes). Representa lo que hace un sistema con los datos, una actividad dentro del dominio del sistema.
Los trabajos proporcionan un medio para encapsular un proceso. Un trabajo es una configuración que representa las opciones de entrada, los pasos del proceso, una expresión de filtro que coincide con los nodos donde se ejecutarán esos pasos y los parámetros de control de ejecución que especifican si los pasos se ejecutan en paralelo. Uno podría encontrar que ciertas ejecuciones de comandos se realizan repetidamente y, tal vez, representan lo que se ha convertido en un procedimiento de rutina. Los procesos de rutina deben encapsularse y convertirse en la base de otros procedimientos de rutina.
Disparadores
Un disparador, lo que inicia / ejecuta un flujo de trabajo, solicita la ejecución de acciones. Los componentes del objeto que definen la lógica empresarial y el comportamiento se denominan activadores. Puede crear y configurar cualquier número de activadores para realizar validaciones, notificaciones, manipulación de datos y otras actividades automatizadas y programáticas al crear, actualizar y eliminar registros. [5]
Procesos
Un proceso comienza en algún punto del sistema. Por ejemplo, cuando un desencadenador ejecuta una instancia de un flujo de trabajo.
Un servicio de mensajería impulsado por procesos se utiliza a menudo cuando se gestionan procesos empresariales más o menos complejos.
Con una plataforma de mensajería impulsada por procesos bien desarrollada, todos los activadores y trabajos pueden exponerse en una API pública (interfaz de programación de aplicaciones), y luego será posible crear el proceso en la API.
Tecnología / programación
PDMS se basa en una arquitectura dirigida por eventos, mientras que el patrón arquitectónico puede aplicarse mediante el diseño y la implementación de aplicaciones y sistemas que transmiten eventos entre componentes y servicios de software débilmente acoplados . A diferencia de los sistemas de información tradicionales que funcionan emitiendo solicitudes y esperando respuestas, los sistemas controlados por eventos están diseñados para procesar los eventos a medida que ocurren, lo que permite que el sistema observe, reaccione dinámicamente y emita datos personalizados según el destinatario y la situación. [2]
Áreas aplicables
Las áreas donde se puede utilizar PDMS son Sistema a Sistema, A2P con la diferencia de que se pueden incluir otros tipos de mensajes en el PDMS, Aplicación a Aplicación, Sistema a Persona, M2M y todo tipo de mensajes / llamadas de datos entre sistemas, aplicaciones y / o personas basadas en procesos impulsados por eventos .
Ver también
Referencias
- ^ Hommes, Lambertus Johannes (2004). "7" (PDF) . La evaluación de técnicas de modelado de procesos de negocio . [Sl: sn] págs. 138-187. ISBN 90-9017698-5.
- ^ a b Opher Etzion, Peter Niblett (septiembre de 2007). Procesamiento de eventos en acción 1er . Greenwich, CT, EE. UU .: Manning Publications Co. ISBN 978-1935182214.
- ^ Progress Software Corporation. "Rollbase en acción" (PDF) . Capítulo 10 . pag. 6.
- ^ UWE, ZDUN; CARSTEN, SCHAHRAM (19 de septiembre de 2007). "HENTRICH, DUSTDAR" (PDF) . Modelado de arquitecturas impulsadas por procesos y orientadas a servicios utilizando patrones y primitivas de patrones . Nueva York: ACM, Inc. 1 (3): 23–27.
- ^ "10" (PDF) . Rollbase en acción . Progress Software Corporation. págs. 266-289.