Compartir a través de


Ejecutar lógica empresarial durante la sincronización de datos

El framework de control de lógica empresarial te permite escribir un ensamblaje de código administrado que se llama durante el proceso de sincronización de combinación. El ensamblado incluye lógica de negocios que puede responder a una serie de condiciones durante la sincronización: cambios de datos, conflictos y errores. El marco de control de lógica de negocios proporciona un modelo de programación sencillo y los datos que proporciona el proceso de combinación al ensamblado están en forma de un conjunto de datos de ADO.NET, por lo que puede aprovechar el conocimiento de ADO.NET en lugar de aprender una interfaz propietaria. Para más información sobre la programación de controladores de lógica de negocios, consulte:

Usos para controladores de lógica de negocios

El proceso de sincronización de combinación puede invocar controladores de lógica de negocio para realizar:

  • Control de cambios personalizado

  • Resolución de conflictos personalizada

  • Resolución de errores personalizada

Nota:

El controlador de lógica de negocios especificado se ejecuta para cada fila que se sincroniza. La lógica compleja y las llamadas a otras aplicaciones o servicios de red pueden afectar al rendimiento.

Control de cambios personalizado

El controlador de lógica de negocios se puede invocar durante el procesamiento de cambios de datos no conflictivos y puede realizar una de estas tres acciones:

  • Rechazar los datos

    Esto resulta útil para las aplicaciones que no quieren que los cambios se propaguen a un suscriptor determinado o desde este. Por ejemplo, un administrador podría filtrar las inserciones que no pertenecen a la partición del suscriptor o, posiblemente, rechazar las eliminaciones realizadas en un suscriptor. Como otro ejemplo, una aplicación podría rechazar un pedido escrito en un suscriptor porque el inventario ya no está disponible.

  • Aceptar los datos

    Esto es útil para las aplicaciones en las que es necesario revisar los cambios de datos realizados en el publicador o suscriptor antes de permitir que se propaguen. Por ejemplo, una aplicación de nivel medio podría examinar los nuevos pedidos procedentes del campo e integrarlos con un proceso de flujo de trabajo de adquisición en el nivel medio.

  • Aplicación de datos personalizados

    Esto es útil para las aplicaciones que necesitan invalidar valores o operaciones de datos específicos. Por ejemplo, una aplicación podría transformar una eliminación de fila en una actualización especial que establece una columna de estado de la fila en un valor de "eliminado" y, a continuación, realizar un seguimiento de la identidad del cliente que realiza la eliminación. Esto puede ser útil para fines de auditoría o flujo de trabajo.

Resolución de conflictos personalizada

La replicación de mezcla proporciona detección y resolución de conflictos, lo que le permite aceptar una estrategia de resolución predeterminada u optar por una resolución personalizada de los conflictos. Para más información, consulte Replicación de mezcla avanzada: detección y resolución de conflictos. El controlador de lógica de negocios se puede invocar durante el procesamiento de cambios de datos en conflicto y puede realizar una de estas dos acciones:

  • Aceptar resolución predeterminada

    Esto resulta útil para las aplicaciones que podrían necesitar revisar el conflicto, realizar acciones adicionales y, posiblemente, registrar un mensaje de registro de conflictos personalizado.

  • Ejecutar resolución personalizada

    Esto es útil para las aplicaciones que pueden necesitar seleccionar valores de datos específicos de su lógica de negocios y proporcionar el proceso de sincronización con este conjunto de datos personalizado. Por ejemplo, una aplicación podría proporcionar una nueva versión de la fila ganadora combinando valores de los conjuntos de datos publicadores y suscriptores.

Resolución de errores personalizada

La lógica personalizada se puede invocar durante la propagación de cambios que producen errores. La lógica puede realizar una de estas dos acciones:

  • Aceptar resolución de errores predeterminada

    Esto es útil para las aplicaciones que podrían necesitar revisar el error y realizar acciones adicionales y, posiblemente, registrar un mensaje de registro de errores personalizado.

  • Aceptar resolución de errores personalizada

    Esto es útil para las aplicaciones que pueden necesitar seleccionar valores de datos específicos de su lógica de negocios y proporcionar el proceso de sincronización con este conjunto de datos personalizado. Por ejemplo, si el proceso de replicación encuentra una infracción de clave duplicada, el controlador de lógica de negocios podría proporcionar una nueva versión del cambio de datos en el que la clave dejará de entrar en conflicto. Los cambios realizados en el publicador y el suscriptor pueden persistir en la base de datos, y el proceso de replicación no necesita realizar un borrado para compensar una inserción fallida.

Escenarios de implementación para controladores de lógica de negocios

Los controladores de lógica de negocios se pueden implementar en:

  • Distribuidor. Use una suscripción de inserción para que la lógica empresarial se ejecute en el Distribuidor.

  • Suscriptor. Utilice una suscripción de extracción para que la lógica empresarial se ejecute en el suscriptor.

  • Un servidor de Internet Information Services (IIS) si se usa la sincronización web. Use una suscripción de extracción sincronizada con la sincronización web, y el controlador de lógica de negocios se ejecutará en el servidor IIS.

Véase también

Replicación de fusión
Suscribirse a publicaciones
Sincronizar datos
Sincronización web para replicación por mezcla