Prise en charge des appels entrants avec l’interrogation
L’adaptateur Microsoft BizTalk pour Oracle E-Business Suite permet aux programmes clients de recevoir des messages d’Oracle E-Business Suite les informant des modifications apportées aux données dans Oracle E-Business Suite. L’adaptateur Oracle E-Business prend en charge la réception de messages « basés sur l’interrogation » dans lesquels l’adaptateur exécute une instruction SQL, une procédure stockée, une fonction ou une procédure spécifiée dans un package, récupère les données et fournit le résultat au client à intervalles réguliers.
Notes
Vous pouvez également définir le contexte des applications pour l’opération d’interrogation dans l’adaptateur Oracle E-Business. Il est obligatoire de définir le contexte des applications pour l’opération d’interrogation si l’opération est effectuée sur une table d’interface ou une vue d’interface. Pour plus d’informations sur le contexte des applications et la façon de le définir, consultez Définir le contexte de l’application.
Une opération d’interrogation classique utilisant l’adaptateur Oracle E-Business implique les éléments suivants :
Les clients de l’adaptateur doivent spécifier
Polling
comme opération entrante dans la propriété de liaison InboundOperationType . La valeur par défaut de cette propriété de liaison est Polling.Les clients de l’adaptateur doivent spécifier une instruction SELECT pour la propriété de liaison PolledDataAvailableStatement afin de déterminer s’il existe des données disponibles pour l’interrogation. Si la première colonne de la première ligne du premier jeu de résultats retourné lors de l’exécution de cette instruction contient une valeur entière positive, une date est disponible pour l’interrogation.
Les clients d’adaptateur doivent spécifier un intervalle d’interrogation pour la propriété de liaison PollingInterval afin de définir l’intervalle en secondes auquel l’instruction spécifiée dans la propriété de liaison PolledDataAvailableStatement est exécutée. À la fin de chaque intervalle d’interrogation, l’instruction des données interrogées disponibles est exécutée et le jeu de résultats est retourné.
Les clients de l’adaptateur doivent spécifier une instruction SELECT ou une procédure stockée pour la propriété de liaison PollingInput . Si vous souhaitez interroger une table ou une vue, vous devez spécifier une instruction SELECT pour cette propriété de liaison. Si vous souhaitez interroger à l’aide d’une procédure stockée, vous devez spécifier l’intégralité du message de demande pour cette propriété de liaison.
L’instruction dans la propriété de liaison PollingInput est exécutée uniquement si des données sont disponibles pour l’interrogation, ce qui est déterminé par la propriété de liaison PolledDataAvailableStatement à l’étape 2.
Les clients de l’adaptateur doivent spécifier une action pour l’opération d’interrogation dans la propriété de liaison PollingAction . L’action d’interrogation d’une opération spécifique est déterminée à partir des métadonnées générées pour l’opération à l’aide du complément Consume Adapter Service.
Les clients de l’adaptateur peuvent utiliser la propriété de liaison PollWhileDataFound pour ignorer l’intervalle d’interrogation et interroger en continu les données, au fur et à mesure qu’elles sont disponibles.
Important
Si vous définissez la valeur de la propriété de liaison PollWhileDataFound sur True, les clients d’adaptateur interrogent en continu les données d’Oracle et, dans le processus, ouvrent et ferment les connexions à la base de données Oracle dans une boucle. Étant donné que la vitesse à laquelle les connexions sont ouvertes par ODP.NET est supérieure à celle des connexions fermées, les connexions sont épuisées après un certain temps et une exception est levée. Pour contourner ce problème, assurez-vous que la valeur de UseOracleConnectionPool est définie sur True et qu’une valeur appropriée est mentionnée dans la propriété de liaison IncrPoolSize pour contrôler le nombre de connexions qui peuvent être ouvertes par les clients de l’adaptateur.
Les clients de l’adaptateur peuvent spécifier une instruction post-interrogation, un bloc Oracle PL/SQL, pour la propriété de liaison PostPollStatement . L’instruction spécifiée dans cette propriété de liaison est exécutée après l’exécution de l’instruction spécifiée dans la propriété de liaison PollingInput .
Notes
L’adaptateur exécute l’instruction spécifiée dans les propriétés de liaison PollingInput et PostPollStatement dans une transaction. Pour plus d’informations sur les transactions dans l’adaptateur Oracle E-Business, consultez Comment l’adaptateur gère-t-il les transactions ?.
L’adaptateur supprime toutes les réponses d’interrogation vides provenant d’Oracle E-Business Suite.
L’illustration ci-dessous fournit des informations sur le flux de travail d’interrogation dans l’adaptateur Oracle E-Business. Deux scénarios pour le flux de travail d’interrogation sont illustrés :
Lorsque la valeur de PollWhileDataFound est définie sur « False » (paramètre par défaut).
Lorsque la valeur de PollWhileDataFound est définie sur « True ».
Différences entre l’interrogation et la notification
Bien que l’interrogation et la notification soient à la fois des opérations entrantes et informent les clients de l’adaptateur des modifications de données dans la base de données Oracle, le tableau suivant répertorie certaines différences entre les deux. Les différences suivantes vous aideront à choisir une opération en fonction de vos besoins :
Interrogation | Notification |
---|---|
L’interrogation est prise en charge pour toutes les versions de base de données Oracle prises en charge par l’adaptateur Oracle E-Business. | La notification est uniquement prise en charge pour la base de données Oracle versions 10.2 et ultérieures. |
Vous pouvez configurer l’intervalle d’interrogation pour case activée les données disponibles pour l’interrogation à intervalles réguliers ou instantanément lorsque les données sont disponibles. Pointe: L’interrogation peut vous donner un meilleur débit dans les scénarios où les modifications de données se produisent en continu, et vous ne souhaitez pas être averti de chaque modification au fur et à mesure qu’elle se produit. Au lieu de cela, vous spécifiez un intervalle d’interrogation après lequel vous souhaitez être informé de toutes les modifications qui se sont produites depuis la dernière notification de modification. | La notification de modification des données est toujours instantanée. |
L’interrogation est lancée par l’adaptateur. L’adaptateur exécute une instruction SQL pour vérifier si les données sont disponibles pour l’interrogation, puis lance l’interrogation en exécutant l’instruction d’interrogation si certaines données sont disponibles pour l’interrogation. | La notification est lancée par la base de données Oracle. L’instruction de notification émise par l’adaptateur indique simplement à la base de données de lancer la notification en cas de modification du jeu de résultats de l’instruction. La notification est une fonctionnalité de la base de données Oracle. |
Vous pouvez utiliser l’instruction d’interrogation pour lire ou mettre à jour des données dans la base de données Oracle. | Vous pouvez utiliser l’instruction de notification pour lire uniquement les données d’une base de données Oracle. |
L’interrogation vous informe des données réelles qui ont changé. | La notification informe uniquement du type de modification dans les données, telles que Insert, Update et Delete. |
Le cas échéant, consultez les références suivantes :
Pour les propriétés de liaison liées à l’interrogation, consultez En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour Oracle E-Business Suite.
Réception de messages basés sur l’interrogation à l’aide de BizTalk Server, consultez Interroger Oracle E-Business Suite à l’aide de BizTalk Server.
Voir aussi
Quelles opérations peuvent être effectuées à l’aide de l’adaptateur ?