Arquitectura de procesos

El sistema de administración de procesos de Dynamics 365 Customer Engagement (on-premises) incluye servicios web de Dynamics 365 Customer Engagement, complementos, formularios y otros componentes.

Diagrama de la arquitectura de proceso

En el siguiente diagrama se muestra la arquitectura del sistema de alto nivel de Dynamics 365 Customer Engagement (on-premises) y se resaltan las partes del sistema que son específicas de procesos.

Arquitectura de proceso.

Este diagrama muestra la arquitectura de proceso de Dynamics 365 Customer Engagement (on-premises) incluidos los componentes internos, los componentes externos, la infraestructura y los datos.

Componentes internos. Los componentes internos que apoyan el modelo de programación del proceso de Dynamics 365 Customer Engagement (on-premises) incluyen servicios web, plataforma compartida y lógica de negocios. La plataforma compartida está formada por los componentes comunes de Dynamics 365 Customer Engagement (on-premises) que proporcionan el registro, la memoria caché de metadatos y servicios de acceso a los datos. La lógica de negocios contiene la implementación de la lógica de negocios para las entidades de negocios de Dynamics 365 Customer Engagement (on-premises).

Componentes externos. Los componentes externos son los siguientes:

  • Modelo de objetos de Windows Workflow Foundation, que contiene un conjunto de clases utilizadas para crear y analizar definiciones de proceso de flujo de trabajo en formato XAML.

  • Ejecución de Windows Workflow Foundation, que contiene un conjunto de clases utilizadas para ejecutar procesos de flujo de trabajo.

Infraestructura de proceso. La infraestructura de proceso de Dynamics 365 Customer Engagement (on-premises) consta de los siguientes componentes:

  • Modelo de la entidad de proceso, que contiene un conjunto de clases que utilizan el modelo de objetos de Windows Workflow Foundation y exponen las actividades del flujo de trabajo de Dynamics 365 Customer Engagement (on-premises).

  • Lógica de negocios del proceso, que implementa la lógica de negocios para las entidades específicas por procesos.

  • Ejecución del proceso, que proporciona servicios de ejecución del flujo de trabajo, como hospedaje y persistencia del flujo de trabajo.

Datos del proceso. El modelo de programación del proceso de Dynamics 365 Customer Engagement (on-premises) admite los siguientes datos:

  • Datos profesionales, que contiene información asociada con las entidades de Dynamics 365 Customer Engagement (on-premises).

  • Datos de configuración del proceso, que incluye definiciones del proceso de flujo de trabajo, procesos compilados de flujo de trabajo y configuraciones del proceso de flujo de trabajo.

  • Datos de tiempo de ejecución del proceso, que se necesitan para ejecutar los procesos de flujo de trabajo e implementar las características del proceso de flujo de trabajo, como la persistencia y las notificaciones.

El proceso y el modelo de evento unificado

Dynamics 365 Customer Engagement (on-premises) usa un modelo de evento unificado que se utiliza tanto en los complementos (llamadas) como en los procesos. Este subsistema de procesamiento de eventos agrega más flexibilidad a la ejecución de procesos y complementos ya que introduce el modelo de ejecución de canalización.

Con este modelo, los procesos y complementos se ejecutan basándose en el registro, el tipo de mensaje y un conjunto predefinido de parámetros configurables. Las operaciones de la plataforma principal participan en la secuencia de ejecución para dar lugar a un modelo de ejecución mucho más confiable y extensible.

Ciclo de vida del proceso

El ciclo de vida de un proceso describe las transiciones de estado, desde la creación hasta la ejecución. Un proceso puede estar en uno de los siguientes estados: Listo, Suspendido, Bloqueado y Completado. Los eventos que se producen en toda la duración del proceso dan lugar a una transición de un estado a otro.

Flujos de trabajo

El ciclo de vida de un flujo de trabajo es el siguiente:

  1. Cuando crea un flujo de trabajo, se encuentra en el estado Borrador. Debe activar el flujo de trabajo para poder ejecutarlo. Cuando activa un flujo de trabajo, este se suscribe a eventos de Dynamics 365 Customer Engagement (on-premises) específicos. Cuando estos eventos se desencadenan en la plataforma, se crea una instantánea de las dependencias y los parámetros de entrada del flujo de trabajo y se agrega una nueva operación asincrónica al administrador de cola del servicio asincrónico. La operación asincrónica representa un trabajo de ejecución del flujo de trabajo y espera la ejecución en la cola con el estado Listo.

  2. Cuando se procesa la operación asincrónica, el motor de tiempo de ejecución de Windows Workflow Foundation crea una instancia de flujo de trabajo, asociada con esta operación, y su estado cambia de Lista a Bloqueada.

  3. La operación asincrónica se actualiza con el estado del estado de la instancia de flujo de trabajo en cada transición. Cuando la operación asincrónica está bloqueada, el motor de tiempo de ejecución de Windows Workflow Foundation coloca la instancia de flujo de trabajo en el estado Suspendida y la quita de la memoria. Cuando se cumplen las condiciones del estado Suspendida, la instancia de flujo de trabajo se carga nuevamente en la memoria.

  4. La ejecución del flujo de trabajo se reanuda al colocar la instancia de flujo de trabajo en un estado Lista y, a continuación, en un estado Bloqueada. En el caso sencillo, la instancia de flujo de trabajo pasa a un estado Completada cuando todas las actividades del flujo de trabajo se completaron correctamente.

El usuario también puede cambiar el estado de las operaciones asincrónicas. Por ejemplo, un usuario puede reiniciar explícitamente una operación asincrónica que se encuentra en un estado Suspendida.

Diálogos

El ciclo de vida de un diálogo es el siguiente:

  1. Cuando crea un diálogo, se encuentra en el estado Borrador. Debe activar el diálogo para poder ejecutarlo. Un diálogo se puede ejecutar desde su formulario y cuadrícula de la entidad principal o usando directamente la dirección URL del diálogo. Para obtener más información, consulte Iniciar un diálogo mediante una dirección URL.

  2. Cada vez que se ejecuta un diálogo, se crea una instancia de la sesión del proceso para el diálogo. A medida que progresa con la ejecución del diálogo, la entidad de la sesión del proceso se actualiza con las acciones realizadas durante la ejecución del diálogo.

  3. Si la ejecución del diálogo se completa correctamente, se crea el registro correspondiente de la sesión del proceso con el estado Completado. Si cancela el diálogo sin completarlo, se crea el registro correspondiente de la sesión del proceso con el estado Incompleto.

El proceso y el servicio asincrónico: para flujos de trabajo únicamente

El servicio asincrónico le permite ejecutar, supervisar y administrar diferentes operaciones de ejecución prolongada, como procesos de importación masiva, correo masivo y flujo de trabajo. Para mejorar el rendimiento, la escalabilidad y la confiabilidad de Dynamics 365 Customer Engagement (on-premises), estas operaciones se ejecutan asincrónicamente. Esto significa que una operación solicitada no se procesa instantáneamente, sino que se agrega a una cola y la procesa Dynamics 365 Customer Engagement (on-premises) en un momento adecuado.

Cuando se genera un evento en la canalización de la plataforma de Dynamics 365 Customer Engagement (on-premises), todos los flujos de trabajo asociados con el evento son ejecutados mediante el servicio asincrónico. Los controladores de eventos del flujo de trabajo se agregan a la cola asincrónica y se procesan de acuerdo con el orden de ejecución del evento.

Nota

Si un trabajo del sistema asincrónico (flujo de trabajo) produce error varias veces de forma consecutiva, Customer Engagement comienza a posponer la ejecución de ese trabajo concreto durante intervalos de tiempo cada vez más largos para permitir que el administrador de Customer Engagement investigue y resuelva el problema. Una vez que el trabajo empieza a realizarse correctamente, volverá a ejecutarse normalmente.

Persistencia y cierre del proceso: para flujos de trabajo únicamente

Un flujo de trabajo puede ser una operación empresarial de ejecución prolongada que podría tardar horas, semanas o meses para completarse. Puede estar realmente inactivo durante largos períodos a la espera de entradas de los usuarios u otros sistemas.

Para mejorar el rendimiento, la escalabilidad y la confiabilidad de Dynamics 365 Customer Engagement (on-premises), las operaciones de ejecución prolongada, como los flujos de trabajo, usan el servicio asincrónico.

El servicio asincrónico, como el host del motor de tiempo de ejecución de Windows Workflow Foundation, no siempre puede almacenar en caché y mantener activos todos los objetos que se acumulan durante la actividad continua del flujo de trabajo. En ciertas condiciones, como cuando se produce el reinicio o cierre cuando se está ejecutando un flujo de trabajo, el motor de tiempo de ejecución del flujo de trabajo utiliza un servicio de persistencia para guardar el estado de la instancia de flujo de trabajo en el disco. El servicio de persistencia también se invoca cuando se presentan otras condiciones, como cuando un flujo de trabajo queda inactivo y está a la espera de que se produzca algún evento externo. La persistencia de estas instancias de flujo de trabajo inactivas permite usar menos memoria y mejora la escalabilidad en gran medida. Si se cierra un servidor que está ejecutando el servicio asincrónico o se bloquea el flujo de trabajo durante la ejecución, el flujo de trabajo se puede reiniciar desde el último punto de persistencia una vez que se reinicie el servidor. Cuando el flujo de trabajo deja de estar inactivo, el estado de la instancia de flujo de trabajo se restaura en la memoria al estado del último punto de persistencia.

Más información: Persistencia de flujo de trabajo

Consulte también

Servicio asincrónico
Marco de trabajo de eventos
Procesos en Dynamics 365 Customer Engagement (on-premises)