Un servicio de entidad de negocio consta de múltiples fases de servicio. Puede configurar una fase de servicio para invocar una llamada externa y desencadenar un evento admitido.
Las fases de servicio se activan en el siguiente orden:
BeforeEverything. Invoca una llamada externa y activa un evento admitido antes de realizar la lógica del servicio, como validación, localización y proyección. Un caso de uso de ejemplo podría implicar la configuración de esta fase de servicio para cambiar el comportamiento de fusión predeterminado para evitar la fusión de un atributo de dos entidades de negocio. Por ejemplo, durante una fusión de dos o más registros de persona, puede evitar la fusión de los registros de números de teléfono secundarios de un registro de persona principal.
La proyección es el proceso de añadir información de referencia cruzada a respuestas de servicios de entidades de negocio específicas. Puede considerar la proyección como un posible paso adicional que ocurre antes o después de una fase de servicio en particular.
BeforeValidate. Invoca una llamada externa y activa un evento admitido antes de validar los datos de entrada. Un caso de uso de ejemplo puede implicar que configure esta fase de servicio para validar la lógica antes de validar los datos de entrada cuando persiste una entidad de negocio. Por ejemplo, la validación de la dirección o el número de teléfono que se produce en un servicio externo de terceros antes de conservar un registro de persona.
AfterValidate. Invoca una llamada externa y activa un evento admitido inmediatamente después de validar los datos de entrada. Un caso de uso de ejemplo puede implicar que configure esta fase de servicio para validar la lógica después de validar los datos de entrada cuando persiste una entidad de negocio. Por ejemplo, la validación de la dirección o el número de teléfono que se produce en un servicio externo de terceros después de conservar un registro de persona.
Cuando se activa el servicio AfterValidate, los datos de entrada pueden ser diferentes porque la fase de servicio anterior modificó o procesó los datos.
AfterEverything. Invoca una llamada externa y activa un evento admitido después de realizar la lógica del servicio, como validación, localización y proyección. Un caso de uso de ejemplo puede implicar que configure esta fase de servicio para activar la notificación después de que el servicio realice toda la lógica. Por ejemplo, enviar una notificación por correo electrónico después de una fusión exitosa de dos o más registros de persona.
Cuando se activa la fase de servicio AfterEverything, una llamada externa tiene acceso a los datos de la respuesta del servicio y no a los datos de entrada.
Servicios que admiten las fases del servicio
Puede utilizar los siguientes servicios internos que admiten las fases del servicio:
WriteCO
Persiste y actualiza las entidades de negocio. El servicio WriteCO admite las siguientes fases de servicio:
BeforeEverything
BeforeValidate
AfterValidate
AfterEverything
Estas fases de servicio se activan antes, durante y después de que persista una entidad de negocio.
WriteView
Persiste y actualiza las vistas de entidad de negocio. El servicio WriteView admite las siguientes fases de servicio:
BeforeEverything
BeforeValidate
AfterValidate
AfterEverything
Estas fases de servicio se activan antes, durante y después de que persista una entidad de negocio.
El servicio WriteView activa todas las fases del servicio WriteCO compatibles en el siguiente orden:
WriteView.BeforeEverything
WriteView.BeforeValidate
WriteView.AfterValidate
WriteCO.BeforeEverything
WriteCO.BeforeValidate
WriteCO.AfterValidate
WriteCO.AfterEverything
WriteView.AfterEverything
ReadCO
Recupera entidades de negocio. El servicio ReadCO admite las siguientes fases de servicio:
BeforeEverything
AfterEverything
Estas fases de servicio se activan antes y después de la lectura de una entidad de negocio.
ReadView
Recupera vistas de entidad de negocio. El servicio ReadView admite las siguientes fases de servicio:
BeforeEverything
AfterEverything
Estas fases de servicio se activan antes y después de la lectura de una vista de entidad de negocio.
El servicio ReadView activa todas las fases del servicio ReadCO compatibles en el siguiente orden:
ReadView.BeforeEverything
ReadCO.BeforeEverything
ReadCO.AfterEverything
ReadView.AfterEverything
PreviewMergeCO
Recupera el resultado de la vista previa de la fusión de varias entidades de negocio. El servicio PreviewMergeCO admite las siguientes fases de servicio:
BeforeEverything
AfterEverything
Estas fases de servicio se activan antes y después de la generación de la vista previa de una entidad de servicio fusionada.
MergeCO
Fusiona múltiples entidades de negocio. El servicio MergeCO admite las siguientes fases de servicio:
BeforeEverything
AfterEverything
Estas fases de servicio se activan antes y después de la fusión de una entidad de negocio.