Compartir vía


Compatibilidad para las llamadas entrantes mediante sondeo

El adaptador de Microsoft BizTalk para Oracle E-Business Suite permite a los programas cliente recibir mensajes de Oracle E-Business Suite informándoles de cambios en los datos de Oracle E-Business Suite. El adaptador de Oracle E-Business admite la recepción de mensajes "basados en sondeos" en los que el adaptador ejecuta una instrucción SQL especificada, un procedimiento almacenado, una función o un procedimiento dentro de un paquete, recupera los datos y proporciona el resultado al cliente a intervalos regulares de tiempo.

Nota

También puede establecer el contexto de las aplicaciones para la operación de sondeo en el adaptador de Oracle E-Business. Es obligatorio establecer el contexto de las aplicaciones para la operación poll si la operación se realiza en una tabla de interfaz o una vista de interfaz. Para obtener información sobre el contexto de las aplicaciones y cómo establecerla, consulte Establecer contexto de aplicación.

Una operación de sondeo típica mediante el adaptador de Oracle E-Business implica lo siguiente:

  1. Los clientes del adaptador deben especificar Polling como la operación de entrada en la propiedad de enlace InboundOperationType . El valor predeterminado de esta propiedad de enlace es Polling.

  2. Los clientes del adaptador deben especificar una instrucción SELECT para la propiedad de enlace PolledDataAvailableStatement para determinar si hay datos disponibles para el sondeo. Si la primera columna de la primera fila del primer conjunto de resultados devuelto en la ejecución de esta instrucción contiene un valor entero positivo, hay una fecha disponible para el sondeo.

  3. Los clientes del adaptador deben especificar un intervalo de sondeo para la propiedad de enlace PollingInterval para definir el intervalo en segundos en que se ejecuta la instrucción especificada en la propiedad de enlace PolledDataAvailableStatement . Al final de cada intervalo de sondeo, se ejecuta la instrucción de datos de sondeo disponible y se devuelve el conjunto de resultados.

  4. Los clientes del adaptador deben especificar una instrucción SELECT o un procedimiento almacenado para la propiedad de enlace PollingInput . Si desea sondear una tabla o vista, debe especificar una instrucción SELECT para esta propiedad de enlace. Si desea sondear mediante un procedimiento almacenado, debe especificar todo el mensaje de solicitud para esta propiedad de enlace.

    La instrucción de la propiedad de enlace PollingInput solo se ejecuta si hay datos disponibles para el sondeo, que viene determinado por la propiedad de enlace PolledDataAvailableStatement en el paso 2.

  5. Los clientes del adaptador deben especificar una acción para la operación de sondeo en la propiedad de enlace PollingAction . La acción de sondeo de una operación específica se determina a partir de los metadatos generados para la operación mediante el complemento Consumir servicio de adaptador.

  6. Los clientes del adaptador pueden usar la propiedad de enlace PollWhileDataFound para omitir el intervalo de sondeo y sondear continuamente los datos, como y cuando estén disponibles.

    Importante

    Si establece el valor de la propiedad de enlace PollWhileDataFound en True, los clientes del adaptador sondean continuamente los datos de Oracle y, en el proceso, abren y cierran las conexiones a la base de datos de Oracle en un bucle. Dado que la velocidad a la que se abren las conexiones mediante ODP.NET es mayor que las conexiones que se cierran, las conexiones se agotan después de algún tiempo y se produce una excepción. Como solución alternativa, asegúrese de que el valor de UseOracleConnectionPool está establecido en True y se menciona un valor adecuado en la propiedad de enlace IncrPoolSize para controlar el número de conexiones que pueden abrir los clientes del adaptador.

  7. Los clientes del adaptador pueden especificar una instrucción posterior al sondeo, un bloque PL/SQL de Oracle, para la propiedad de enlace PostPollStatement . La instrucción especificada en esta propiedad de enlace se ejecuta después de ejecutar la instrucción especificada en la propiedad de enlace PollingInput .

    Nota

    El adaptador ejecuta la instrucción especificada en las propiedades de enlace PollingInput y PostPollStatement en una transacción. Para obtener más información sobre las transacciones en el adaptador de Oracle E-Business, consulte ¿Cómo controla el adaptador las transacciones?.

    El adaptador suprime las respuestas de sondeo vacías procedentes de Oracle E-Business Suite.

    En la ilustración siguiente se proporciona información sobre el flujo de trabajo de sondeo en el adaptador de Oracle E-Business. Se muestran dos escenarios para el flujo de trabajo de sondeo:

  8. Cuando el valor de PollWhileDataFound se establece en "False" (valor predeterminado).

  9. Cuando el valor de PollWhileDataFound se establece en "True".

    Escenario de sondeo (PollWhileDataFound=False)Polling Scenario (PollWhileDataFound = True)

Diferencias entre sondeo y notificación

Aunque el sondeo y la notificación son operaciones entrantes e informan a los clientes del adaptador sobre los cambios de datos en la base de datos de Oracle, en la tabla siguiente se enumeran algunas diferencias entre los dos. Las siguientes diferencias le ayudarán a decidir una operación en función de sus requisitos:

Sondeo Notificación
El sondeo es compatible con todas las versiones de base de datos de Oracle compatibles con el adaptador de Oracle E-Business. La notificación solo se admite para las versiones 10.2 y posteriores de la base de datos de Oracle.
Puede configurar el intervalo de sondeo para comprobar los datos disponibles para el sondeo a intervalos regulares o de forma instantánea como y cuando los datos están disponibles. Propina: El sondeo puede proporcionar un mejor rendimiento en escenarios en los que los cambios de datos se producen continuamente y no desea recibir notificaciones de cada cambio como y cuando se produce. En su lugar, especifique un intervalo de sondeo después del cual desea recibir una notificación de todos los cambios que se han producido desde la última notificación de cambio. La notificación de cambio de datos siempre es instantánea.
El adaptador inicia el sondeo. El adaptador ejecuta una instrucción SQL para validar si los datos están disponibles para el sondeo y, a continuación, inicia el sondeo ejecutando la instrucción de sondeo si hay algunos datos disponibles para el sondeo. La base de datos de Oracle inicia la notificación. La instrucción de notificación emitida por el adaptador simplemente indica a la base de datos que inicie la notificación en caso de que haya un cambio en el conjunto de resultados de la instrucción. La notificación es una característica de la base de datos de Oracle.
Puede usar la instrucción de sondeo para leer o actualizar datos en la base de datos de Oracle. Puede usar la instrucción de notificación para leer solo los datos de una base de datos de Oracle.
El sondeo le informa sobre los datos reales que han cambiado. La notificación solo informa sobre el tipo de cambio en los datos, como Insertar, Actualizar y Eliminar.

Para más información acerca de:

Consulte también

¿Qué operaciones se pueden realizar mediante el adaptador?