Compartir vía


Procesar mensajes de notificación para completar tareas específicas en Oracle Database mediante BizTalk Server

Puede usar el adaptador de Oracle Database para recibir notificaciones de cambios en las tablas de base de datos de Oracle. Sin embargo, el adaptador solo le envía una notificación de que algunos registros se insertaron, actualizaron o eliminaron en una determinada tabla de base de datos. Las propias aplicaciones cliente deben controlar cualquier procesamiento posterior a esos registros. En este tema se presenta una descripción basada en escenarios sobre cómo procesar los registros de la tabla en función del tipo de notificación recibido de la base de datos de Oracle.

Escenarios para realizar acciones posteriores después de recibir notificaciones

A continuación se muestran un par de escenarios en los que los clientes del adaptador deben realizar determinadas tareas posteriores a la notificación.

  • Escenario 1. Considere un escenario en el que el cliente del adaptador debe realizar determinadas tareas en función del tipo de notificación que reciba de la base de datos de Oracle. Por ejemplo, la aplicación cliente debe actualizar los registros de la tabla "A" si los registros se insertan en la tabla "B". Del mismo modo, la aplicación cliente debe eliminar registros de la tabla "A" si los registros se eliminan de la tabla "B".

    En este escenario, desde el mensaje de notificación recibido, los clientes del adaptador deben extraer el tipo de notificación para decidir si la notificación era para una operación de inserción o una operación de eliminación. Una vez comprobado el tipo de notificación, los clientes del adaptador deben realizar acciones posteriores para insertar o actualizar las tablas pertinentes.

  • Escenario 2. Considere un escenario en el que la ubicación de recepción que recibe mensajes de notificación para los cambios en una tabla deja de funcionar. Mientras la ubicación de recepción está inactiva, algunos registros se agregan a la tabla. Sin embargo, para estos registros, el cliente del adaptador no recibe ninguna notificación. Cuando se realiza una copia de seguridad de la ubicación de recepción, el adaptador notifica al cliente mediante el envío de un mensaje específico y, a continuación, la aplicación cliente debe buscar todos los registros que se insertaron en la tabla de base de datos mientras la ubicación de recepción estaba inactiva.

    En este escenario, desde el mensaje de notificación recibido, los clientes del adaptador deben extraer la información relacionada con si la notificación es para un cambio en una tabla de base de datos o para el inicio de la ubicación de recepción. Si la notificación es para el inicio de la ubicación de recepción, los clientes del adaptador deben implementar la lógica para procesar los registros que podrían haberse insertado, actualizado o eliminado mientras la ubicación de recepción estaba inactiva.

Nota:

Estos son solo algunos escenarios de ejemplo que se enumeran para comprender mejor cómo usar la característica de notificación en el adaptador de base de datos de Oracle. Sin embargo, el conjunto básico de tareas necesarias para extraer el tipo de notificación recibido será similar para todos los escenarios. En este tema se proporcionan instrucciones sobre cómo extraer el tipo de notificación de un mensaje de notificación.

Cómo muestra este tema la recepción de mensajes de notificación

En este tema, para mostrar cómo procesar los mensajes de notificación para realizar tareas posteriores, consideramos un escenario básico en el que un cliente de adaptador usa la aplicación de BizTalk para recibir mensajes de notificación para los cambios en la tabla ACCOUNTACTIVITY. Una vez recibida la notificación, el cliente filtra el tipo de notificación recibida y realiza la acción posterior. Para demostrar un escenario muy básico, consideremos que el cliente del adaptador copia los mensajes de notificación en diferentes carpetas en función del tipo de notificación recibido. Por lo tanto:

  • Si el mensaje de notificación es para una operación de inserción o actualización, el cliente del adaptador copia el mensaje en la carpeta C:\TestLocation\UpsertNotification.

  • Si el mensaje de notificación es para cualquier otra operación, por ejemplo, Eliminar, el cliente del adaptador copia el mensaje en la carpeta C:\TestLocation\OtherNotificaiton.

    Para lograrlo como parte de una aplicación de BizTalk, la orquestación debe contener lo siguiente:

  • Puerto de recepción unidireccional para recibir mensajes de notificación.

  • Una forma de expresión que contiene una consulta XPath para extraer la información sobre el tipo de mensaje de notificación recibido.

  • Una forma "Decidir" para incluir un bloque de decisión en la orquestación. En este bloque de decisión, la aplicación decide qué operaciones posteriores realizar en función del mensaje de notificación recibido.

  • Dos puertos de envío unidireccionales que finalmente reciben los mensajes de notificación.

Configuración de notificaciones con las propiedades de vinculación de Oracle Database

En la tabla siguiente se resumen las propiedades de enlace del adaptador de base de datos de Oracle que se usan para configurar la recepción de notificaciones de la base de datos de Oracle. Debe especificar estas propiedades de enlace al configurar el puerto de recepción en la consola de administración de BizTalk Server.

Nota:

Puede especificar estas propiedades de enlace al generar el esquema para la operación de notificación , aunque no sea obligatorio. Si lo hace, el archivo de enlace de puertos que el Complemento de Servicio para Consumir Adaptadores genera como parte de la generación de metadatos también contiene los valores que especifique para las propiedades de enlace. Más adelante puede importar este archivo de enlace en la consola de administración de BizTalk Server para crear el puerto de recepción personalizado de WCF o WCF-OracleDB con las propiedades de enlace ya establecidas. Para obtener más información sobre la creación de un puerto WCF personalizado o WCF-OracleDB utilizando el archivo de enlace, consulte Configurar un enlace de puerto físico mediante un archivo de enlace de puerto para Oracle Database.

Propiedad de enlace Descripción
InboundOperationType Especifica la operación de entrada que desea realizar. Para recibir mensajes de notificación, establézcalo en Notificación.
NotificationPort Especifica el número de puerto que ODP.NET debe abrir para escuchar la notificación de cambio de base de datos de Oracle.
NotificationStatement Especifica la instrucción SELECT que se utiliza para registrar las notificaciones de consulta. El adaptador obtiene un mensaje de notificación solo cuando cambia el conjunto de resultados de la instrucción SELECT especificada.
NotifyOnListenerStart Especifica si el adaptador envía una notificación a los clientes del adaptador cuando se inicia el agente de escucha.

Para obtener una descripción más completa de estas propiedades, vea Trabajar con propiedades de enlace. Para obtener una descripción completa de cómo usar el adaptador de Oracle Database para recibir notificaciones de la base de datos de Oracle, lea más información.

Cómo recibir mensajes de notificación de oracle Database

Realizar una operación en la base de datos de Oracle mediante el adaptador de base de datos de Oracle con BizTalk Server implica las tareas de procedimientos descritas en Bloques de creación para desarrollar aplicaciones de BizTalk con Oracle Database. Para configurar el adaptador para recibir mensajes de notificación, estas tareas son:

  1. Cree un proyecto de BizTalk y, a continuación, genere el esquema para la operación de entrada Notificación. Opcionalmente, puede especificar valores para las propiedades de enlace InboundOperationType, NotificationPort y NotificationStatement .

  2. Cree un mensaje en el proyecto de BizTalk para recibir notificaciones de la base de datos de Oracle.

  3. Cree una orquestación como se describe en la sección anterior.

  4. Compile e implemente el proyecto de BizTalk.

  5. Configure la aplicación de BizTalk mediante la creación de puertos de envío y recepción físicos.

    Nota:

    Para las operaciones entrantes, como la recepción de mensajes de notificación, solo debe configurar un puerto de recepción unidireccional WCF-Custom o WCF-OracleDB. Los puertos de recepción bidireccionales no se admiten para las operaciones entrantes.

  6. Inicie la aplicación de BizTalk.

    En este tema se proporcionan instrucciones para realizar estas tareas.

Generar esquema

Debe generar el esquema para la operación entrante Notificación. Consulte Recuperación de metadatos para las operaciones de Oracle Database en Visual Studio para obtener más información sobre cómo generar el esquema. Realice las siguientes tareas al generar el esquema. Omita el primer paso si no desea especificar las propiedades de enlace en tiempo de diseño.

  1. Especifique un valor para las propiedades de enlace InboundOperationType, NotificationPort y NotificationStatement al generar el esquema. Para obtener más información sobre esta propiedad de enlace, vea Trabajar con propiedades de enlace. Para obtener instrucciones sobre cómo especificar propiedades de enlace, consulte Configuración de las propiedades de enlace para Oracle Database.

  2. Seleccione el tipo de contrato como Servicio (operaciones de entrada).

  3. Generar esquema para la operación de notificación .

Definición de mensajes y tipos de mensajes

El esquema que generó anteriormente describe los "tipos" necesarios para los mensajes de la orquestación. Normalmente, un mensaje es una variable, el tipo para el que se define mediante el esquema correspondiente. Una vez generado el esquema, debe vincularlo a los mensajes de la vista Orquestación del proyecto de BizTalk.

Para este tema, debe crear un mensaje para recibir notificaciones de la base de datos de Oracle.

Realice los pasos siguientes para crear mensajes y vincularlos al esquema.

  1. Agregue una orquestación al proyecto de BizTalk. En el Explorador de soluciones, haga clic con el botón derecho en el nombre del proyecto de BizTalk, seleccione Agregar y, a continuación, haga clic en Nuevo elemento. Escriba un nombre para la orquestación de BizTalk y, a continuación, haga clic en Agregar.

  2. Abra la ventana de vista de orquestación del proyecto de BizTalk, si aún no está abierta. Haga clic en Ver, seleccione Otras ventanas y, a continuación, haga clic en Vista de orquestación.

  3. En la vista Orquestación, haga clic con el botón derecho en Mensajes y, a continuación, haga clic en Nuevo mensaje.

  4. Haga clic con el botón derecho en el mensaje recién creado y, a continuación, seleccione Ventana Propiedades.

  5. En el panel Propiedades de Message_1, haga lo siguiente:

    Usa esto Para
    Identificador Escriba NotifyReceive.
    Tipo de mensaje En la lista desplegable, expanda Esquemas y seleccione Process_Notification.OracleDBBinding.Notification, donde Process_Notification es el nombre del proyecto de BizTalk. OracleDBBinding es el esquema generado para la operación de notificación .

Configuración de la orquestación

Debe crear una orquestación de BizTalk para usar BizTalk Server para recibir mensajes de notificación de la base de datos de Oracle y, a continuación, realizar tareas basadas en el tipo de notificación recibida. En esta orquestación, el adaptador recibe el mensaje de notificación en función de la instrucción SELECT especificada para la propiedad de enlace NotificationStatement. La consulta xpath especificada en la forma Expresión extrae el tipo de notificación en una variable, por ejemplo , NotificationType. La forma Decidir usa el valor de esta variable para decidir sobre el tipo de notificación recibidas y toma el "camino" adecuado para realizar operaciones posteriores. Como se mencionó en la sección anterior, la orquestación realizará las siguientes operaciones en función del tipo de mensaje de notificación recibido.

  • Si el mensaje de notificación es para una operación de inserción o actualización, el cliente del adaptador copia el mensaje en la carpeta C:\TestLocation\UpsertNotification.

  • Si el mensaje de notificación es para cualquier otra operación, por ejemplo, Eliminar, el cliente del adaptador copia el mensaje en la carpeta C:\TestLocation\OtherNotificaiton.

    Por lo tanto, la orquestación debe contener lo siguiente:

  • Puerto de recepción unidireccional para recibir mensajes de notificación.

  • Una forma de expresión que contiene una consulta XPath que se utiliza para extraer el tipo de notificación recibida.

  • Una forma "Decidir" para incluir un bloque de decisión en la orquestación. En este bloque de decisión, la aplicación decide qué operaciones posteriores realizar en función del mensaje de notificación recibido.

  • Dos puertos de envío unidireccionales que finalmente reciben los mensajes de notificación.

  • Recibe forma.

    Una orquestación de ejemplo es similar a la siguiente.

    Orquestación para realizar la tarea posterior a la notificación

Agregar formas de mensaje

Asegúrese de especificar las siguientes propiedades para cada una de las formas de mensaje. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje tal como se muestran en la orquestación recién mencionada.

Forma Tipo de forma Propiedades
RecibirNotificación Recibir - Establecer nombre en ReceiveNotification

- Establecer Activar en True

Agregar una forma de expresión

El propósito de incluir una forma de expresión en la orquestación es tener una consulta xpath para extraer el tipo de mensaje de notificación recibido. Antes de crear una consulta xpath, echemos un vistazo al formato de un mensaje de notificación. Un mensaje de notificación típico es similar al siguiente:

<?xml version="1.0" encoding="utf-8" ?>
<Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
  <Details>
    <NotificationDetails>
      <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
      <Info>1</Info>
      <QueryId>0</QueryId>
    </NotificationDetails>
  </Details>
  <Info>Insert</Info>
  <ResourceNames>
    <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
  </ResourceNames>
  <Source>Data</Source>
  <Type>Change</Type>
</Notification>

Como ve, la información sobre el tipo de notificación está disponible dentro de la <info> etiqueta, dentro de la etiqueta primaria <Notification> . Así que, como parte de esta forma de expresión debes:

  • Cree una variable que contenga el valor dentro de la <Info> etiqueta y establezca su tipo en System.String. Para obtener más información sobre la creación de variables, consulte Uso de variables en orquestaciones.

    En este tema, asigne un nombre a la variable NotificationType.

  • Cree una consulta xpath para extraer el valor de la <etiqueta Info> . La consulta xpath será similar a la siguiente:

    NotificationType = xpath(NotifyReceive,"string(/*[local-name()='Notification']/*[local-name()='Info']/text())");
    

    En esta consulta xpath, NotifyReceive es el mensaje que creó para recibir mensajes de notificación. El extracto de la string función indica que la consulta debe extraer el valor dentro de la <Info> etiqueta , que a su vez está dentro de la <Notification> etiqueta . Por último, el valor extraído por la consulta se asigna a la variable NotificaitonType .

Agregar una forma de decisión

El propósito de agregar una forma Decidir es incluir un bloque de decisión en la orquestación para decidir qué operaciones posteriores realizar en función del tipo de mensaje de notificación recibido. La decisión se toma sobre la base del valor de la variable NotificationType . En este tema, la orquestación toma una decisión basada en el tipo de mensaje de notificación recibido. Por lo tanto, la condición de la forma Regla se especifica de la siguiente manera:

NotificationType.Equals("Insert") | NotificationType.Equals("Update")

Esta condición sugiere que si el valor de la variable NotificaitonType es Insert o Update, la orquestación realizará un conjunto de tareas. Si el valor de la variable NotificationType es cualquier otra cosa, la orquestación realizará otro conjunto de tareas.

Como se mencionó en las secciones anteriores, para demostrar un enfoque sencillo, la orquestación copiará mensajes en diferentes carpetas en función del tipo de mensaje de notificación. Por lo tanto, dentro de los bloques Regla y Else, debe agregar formas Send para enviar los mensajes a diferentes puertos. Para este tema, asigne el nombre SendUpsertNotification a la forma de envío en el bloque de regla y SendOtherNotification a la forma de envío en el bloque de otro.

Agregar puertos

Ahora debe agregar los siguientes puertos lógicos a la orquestación:

  • Puerto de recepción unidireccional para recibir mensajes de notificación de la base de datos de Oracle.

  • Puerto de envío unidireccional para enviar mensajes de notificación para operaciones de inserción y actualización a una carpeta específica.

  • Puerto de envío unidireccional para enviar mensajes de notificación para cualquier otra operación a una carpeta específica.

    Asegúrese de especificar las siguientes propiedades para cada uno de los puertos lógicos. Los nombres enumerados en la columna Puerto son los nombres de los puertos tal como aparecen en la orquestación.

Puerto Propiedades
OracleNotifyPort - Establecer identificador en OracleNotifyPort

- Configura el tipo en OracleNotifyPortType

- Establecer el patrón de comunicación en unidireccional

- Establecer la dirección de comunicación para recibir
NotificationUpsertPort - Establecer identificador en NotificationUpsertPort

- Establece Tipo en NotificationUpsertPortType

- Establecer el patrón de comunicación en unidireccional

- Establecer la dirección de comunicación en Enviar
OtroPuertoDeNotificación - Establece identificador en OtherNotificationPort

- Establecer Tipo en OtroTipoDePuertoDeNotificación

- Establecer el patrón de comunicación en unidireccional

- Establecer la dirección de comunicación en Enviar

Especificar mensajes para formas de acción y conectarse a puertos

En la tabla siguiente se especifican las propiedades y sus valores que se deben establecer para especificar mensajes para las formas de acción y para vincular los mensajes a los puertos. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje tal como se muestran en la orquestación mencionada anteriormente.

Forma Propiedades
RecibirNotificación - Establecer Mensaje en NotifyReceive

- Configurar Operation como OracleNotifyPort.Notify.Request
EnviarNotificaciónDeInserciónActualización - Establecer Mensaje en NotifyReceive

- Establecer la operación en NotificationUpsertPort.Upsert.Request
EnviarOtraNotificación - Establecer mensaje en Seleccionar

- Establecer la operación en OtherNotificationPort.Other.Request

Una vez que haya especificado estas propiedades, las formas de mensaje y los puertos están conectados y se completa la orquestación.

Ahora debe compilar la solución de BizTalk e implementarla en un servidor de BizTalk Server. Para obtener más información, vea Compilar y ejecutar orquestaciones.

Configuración de la aplicación de BizTalk

Después de implementar el proyecto de BizTalk, la orquestación que creó anteriormente aparece en el panel Orquestaciones de la consola de administración de BizTalk Server. Debe usar la consola de administración de BizTalk Server para configurar la aplicación. Para ver un tutorial, consulte Tutorial: Implementación de una aplicación básica de BizTalk.

La configuración de una aplicación implica:

  • Selección de un host para la aplicación.

  • Asignación de los puertos que creó en la orquestación a puertos físicos en la consola de administración de BizTalk Server. Para esta orquestación, debes:

    • Defina un puerto de recepción unidireccional físico WCF-Custom o WCF-OracleDB. Este puerto escucha las notificaciones procedentes de la base de datos de Oracle. Para obtener información sobre cómo crear puertos de recepción, consulte Configuración manual de un enlace de puerto físico al adaptador de base de datos de Oracle. Asegúrese de especificar las siguientes propiedades de enlace para el puerto de recepción.

      Importante

      No es necesario realizar este paso si especificó las propiedades de enlace en tiempo de diseño. En tal caso, puede crear un puerto de recepción personalizado de WCF o WCF-OracleDB, con las propiedades de enlace necesarias establecidas, mediante la importación del archivo de enlace creado por el complemento Consumir servicio de adaptador. Para obtener más información, consulte Configuración de un enlace de puerto físico mediante un archivo de enlace de puerto.

      Propiedad de enlace Importancia
      InboundOperationType Establézcalo en Notificación.
      NotificationPort Especifica el número de puerto que ODP.NET debe abrir para escuchar la notificación de cambio de base de datos de Oracle. Establézcalo en el mismo número de puerto que debe haber agregado a la lista de excepciones del Firewall de Windows. Para obtener instrucciones sobre cómo agregar puertos a la lista de excepciones de Firewall de Windows, consulte https://go.microsoft.com/fwlink/?LinkID=196959.

      Importante: Si estableces esto en el valor predeterminado de -1, tendrás que deshabilitar completamente firewall de Windows para recibir mensajes de notificación.
      NotificationStatement Establézcalo en:

      SELECT TID,ACCOUNT,PROCESSED FROM SCOTT.ACCOUNTACTIVITY WHERE PROCESSED = ‘n’

      Nota: Debe especificar el nombre de la tabla junto con el nombre del esquema. Por ejemplo: SCOTT.ACCOUNTACTIVITY.
      NotifyOnListenerStart Establézcalo en True.

      Para obtener más información sobre las distintas propiedades de enlace, vea Trabajar con propiedades de enlace.

      Nota:

      Se recomienda configurar el nivel de aislamiento de transacciones y el tiempo de espera de la transacción mientras se realizan operaciones entrantes mediante el adaptador de base de datos de Oracle. Para ello, agregue el comportamiento del servicio al configurar el puerto de recepción WCF-Custom o WCF-OracleDB. Para obtener instrucciones sobre cómo agregar el comportamiento del servicio, consulte Configurar el nivel de aislamiento de transacción y el tiempo de espera de transacción con oracle Database.

    • Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde la orquestación de BizTalk quitará los mensajes de notificación de la base de datos de Oracle para operaciones de inserción y actualización. Configure este puerto para quitar mensajes de notificación en la carpeta C:\TestLocation\UpsertNotification.

    • Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde la orquestación de BizTalk quitará los mensajes de notificación de la base de datos de Oracle para todas las demás operaciones. Configure este puerto para quitar mensajes de notificación en la carpeta C:\TestLocation\OtherNotification.

Iniciar la aplicación

Debe iniciar la aplicación de BizTalk para recibir mensajes de notificación de la base de datos de Oracle y para realizar las operaciones De selección y actualización posteriores. Para obtener instrucciones sobre cómo iniciar una aplicación de BizTalk, vea Cómo iniciar una orquestación.

En esta fase, asegúrese de:

  • El puerto de recepción unidireccional WCF-Custom o WCF-OracleDB, que recibe los mensajes de notificación desde la base de datos Oracle, está en funcionamiento.

  • Los dos puertos FILE de envío, que reciben mensajes de la base de datos de Oracle, están en ejecución.

  • La orquestación de BizTalk para la operación se está ejecutando.

Ejecución de la operación

Después de iniciar la orquestación de BizTalk, se realiza el siguiente conjunto de acciones:

  • Dado que la propiedad de enlace NotifyOnListenerStart está establecida en True, recibirá el siguiente mensaje:

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Info>ListenerStarted</Info>
      <Source>OracleDBBinding</Source>
      <Type>Startup</Type>
    </Notification>
    

    Tenga en cuenta que el valor de la <Info> etiqueta es "ListnerStarted". Por lo tanto, este mensaje se recibe en la carpeta C:\TestLocation\OtherNotification.

  • Inserte un registro en la tabla ACCOUNTACTIVITY. Recibirá un mensaje de notificación similar al siguiente:

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Details>
        <NotificationDetails>
          <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
          <Info>1</Info>
          <QueryId>0</QueryId>
        </NotificationDetails>
      </Details>
      <Info>Insert</Info>
      <ResourceNames>
        <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
      </ResourceNames>
      <Source>Data</Source>
      <Type>Change</Type>
    </Notification>
    

    Tenga en cuenta que el valor de la <Info> etiqueta es "Insert". Por lo tanto, este mensaje se recibe en la carpeta C:\TestLocation\UpsertNotification.

  • Actualice un registro en la tabla ACCOUNTACTIVITY. Recibirá un mensaje de notificación similar al siguiente:

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Details>
        <NotificationDetails>
          <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
          <Info>32</Info>
          <QueryId>0</QueryId>
        </NotificationDetails>
      </Details>
      <Info>Update</Info>
      <ResourceNames>
        <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
      </ResourceNames>
      <Source>Data</Source>
      <Type>Change</Type>
    </Notification>
    

    Tenga en cuenta que el valor de la <Info> etiqueta es "Update". Por lo tanto, este mensaje se recibe en la carpeta C:\TestLocation\UpsertNotification.

  • Elimine un registro de la tabla ACCOUNTACTIVITY. Recibirá un mensaje de notificación similar al siguiente:

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Details>
        <NotificationDetails>
          <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
          <Info>16</Info>
          <QueryId>0</QueryId>
        </NotificationDetails>
      </Details>
      <Info>Delete</Info>
      <ResourceNames>
        <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
      </ResourceNames>
      <Source>Data</Source>
      <Type>Change</Type>
    </Notification>
    

    Tenga en cuenta que el valor de la <Info> etiqueta es "Delete". Por lo tanto, este mensaje se recibe en la carpeta C:\TestLocation\OtherNotification.

Procedimientos recomendados

Después de implementar y configurar el proyecto de BizTalk, puede exportar los valores de configuración a un archivo XML denominado archivo de enlace. Una vez que genere un archivo de enlace, puede importar los valores de configuración del archivo, de modo que no sea necesario crear los puertos de envío y recibir puertos para la misma orquestación. Para obtener más información sobre la vinculación de archivos, consulte Reutilizar vinculaciones del adaptador de base de datos de Oracle.

Realizar operaciones complejas después de recibir mensajes de notificación

Para simplificar y comprender mejor, la orquestación de este tema copia los mensajes en diferentes carpetas en función del tipo de notificación. Sin embargo, en escenarios reales es posible que quiera realizar operaciones más complejas. Puede realizar procedimientos similares como se proporciona en este tema y compilarlos para realizar las operaciones que desee. Por ejemplo, puede cambiar la orquestación para insertar registros en otra tabla si recibe un mensaje de notificación de una operación de inserción en la tabla ACCOUNTACTIVITY. En tal caso, puede realizar los cambios adecuados dentro de la figura Decide.

Véase también

Recepción de notificaciones de cambios de base de datos de Oracle mediante BizTalk Server