Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez configurer l’adaptateur Oracle E-Business pour recevoir des messages périodiques de modification des données à l’aide de procédures stockées pour interroger en permanence la base de données Oracle. Vous pouvez spécifier une procédure stockée comme instruction d’interrogation que l’adaptateur exécute régulièrement pour interroger la base de données Oracle.
Pour activer l’interrogation, vous devez spécifier certaines propriétés de liaison sur le port de réception WCF-Custom ou WCF-OracleEBS. Pour plus d’informations sur la façon dont l’adaptateur prend en charge le sondage, consultez Prise en charge des appels entrants à l’aide du sondage. Pour plus d’informations sur la structure du message SOAP pour les opérations d’interrogation, consultez Schémas de message pour les opérations d’interrogation.
Configuration d'une opération de sondage avec les propriétés de liaison de l'adaptateur Oracle E-Business
Le tableau suivant récapitule les propriétés de liaison d’adaptateur Oracle E-Business que vous utilisez pour configurer l’adaptateur pour recevoir des messages de modification de données. Vous devez spécifier ces propriétés de liaison lors de la configuration du port de réception WCF-Custom ou WCF-OracleEBS dans la console Administration de BizTalk Server.
Propriété de liaison | Descriptif |
---|---|
InboundOperationType | Spécifie si vous souhaitez effectuer une opération d’interrogation ou de notification entrante. La valeur par défaut est sondage. |
PolledDataAvailableStatement | Spécifie l’instruction SQL exécutée par l’adaptateur pour déterminer si des données sont disponibles pour l’interrogation. Uniquement si un enregistrement est disponible, la procédure stockée que vous avez spécifiée pour la propriété de liaison PollingInput est exécutée. |
PollingInterval | Spécifie l’intervalle, en secondes, auquel l’adaptateur Oracle E-Business exécute l’instruction spécifiée pour la propriété de liaison PolledDataAvailableStatement . La valeur par défaut est de 30 secondes. L’intervalle d’interrogation détermine l’intervalle de temps entre les sondages successifs. Si l’instruction est exécutée dans l’intervalle spécifié, l’adaptateur est en veille pendant la durée restante de l’intervalle. |
PollingInput | Spécifie l’instruction d’interrogation. Pour interroger à l’aide d’une procédure stockée, vous devez spécifier l’intégralité du message de requête relatif à cette propriété de liaison. Le message de demande doit être identique à celui que vous envoyez à l’adaptateur pour appeler la procédure stockée en tant qu’opération sortante. La valeur par défaut est Null. Vous devez spécifier une valeur pour la propriété de liaison PollingInput pour activer l’interrogation. L’instruction d’interrogation est exécutée uniquement s’il existe des données disponibles pour l’interrogation, qui est déterminée par la propriété de liaison PolledDataAvailableStatement . |
PollingAction | Spécifie l’action de l’opération d’interrogation. Vous pouvez déterminer l'action de sondage pour une opération spécifique à partir des métadonnées que vous générez pour l'opération en utilisant le complément Consume Adapter Service Add-in. |
Déclaration post-sondage | Spécifie un bloc d’instructions exécuté après l’exécution de l’instruction spécifiée par la propriété de liaison PollingInput . |
PollWhileDataFound | Spécifie si l’adaptateur Oracle E-Business ignore l’intervalle d’interrogation et exécute en permanence l’instruction d’interrogation, si les données sont disponibles dans la table interrogée. Si aucune donnée n’est disponible dans la table, l’adaptateur rétablit l’exécution de l’instruction d’interrogation à l’intervalle d’interrogation spécifié. La valeur par défaut est false. |
Pour obtenir une description plus complète de ces propriétés, lisez à propos de l’adaptateur BizTalk pour les propriétés de liaison d'Oracle E-Business Suite. Pour obtenir une description complète de l’utilisation de l’adaptateur Oracle E-Business pour interroger la base de données Oracle, lisez les sections suivantes.
Comment ce sujet démontre le sondage
Dans cette rubrique, pour montrer comment l’adaptateur Oracle E-Business prend en charge la réception de messages de modification de données à l’aide de procédures stockées, créez un projet BizTalk et générez un schéma pour la procédure stockée que vous souhaitez utiliser pour interroger la base de données Oracle. Dans cette rubrique, nous utilisons la procédure stockée GET_ACTIVITYS pour interroger la table ACCOUNTACTIVITY. Cette procédure stockée est disponible avec le package ACCOUNT_PKG. Vous pouvez exécuter les scripts SQL fournis avec les exemples pour créer ces objets dans la base de données.
Remarque
L’orchestration de cette rubrique interroge la table ACCOUNTACTIVITY, qui est une table de base de données créée en exécutant les scripts fournis avec les exemples. Vous devez effectuer des procédures similaires comme décrit dans cette rubrique pour interroger toute autre table, y compris les tables d’interface.
Pour illustrer une opération d’interrogation, nous procédons comme suit :
Spécifiez une instruction SELECT pour la propriété de liaison PolledDataAvailableStatement pour déterminer où la table interrogée (ACCOUNTACTIVITY) contient des données. Dans cet exemple, vous pouvez définir cette propriété de liaison comme suit :
SELECT COUNT (*) FROM ACCOUNTACTIVITY
Cela garantit que l’adaptateur exécute l’instruction d’interrogation uniquement lorsque la table ACCOUNTACTIVITY contient des enregistrements.
Exécutez une procédure stockée, GET_ACTIVITYS, en fournissant le message de requête dans le cadre de la propriété de liaison PollingInput . Cette procédure stockée récupère toutes les lignes de la table ACCOUNTACTIVITY et vous obtenez un message de réponse de l’adaptateur.
EXÉCUTEz un bloc PL/SQL dans le cadre de la propriété de liaison PostPollStatement . Cette instruction déplace toutes les données de la table ACCOUNTACTIVITY vers une autre table de la base de données. Une fois que cela se produit, la prochaine fois que PollingInput est exécuté, il n’extrait aucune donnée et, par conséquent, la procédure stockée GET_ACTIVITYS retourne un message de réponse vide.
Tant que d’autres données ne sont pas ajoutées à la table ACCOUNTACTIVITY, vous continuerez à recevoir des messages de réponse vides. Par conséquent, vous devez remplir à nouveau la table ACCOUNTACTIVITY avec de nouveaux enregistrements. Pour ce faire, exécutez le script more_activity_data.sql fourni avec les exemples. Après avoir exécuté ce script, la prochaine opération d’interrogation récupérera les nouveaux enregistrements insérés dans la table.
Comment recevoir des messages de modification des données d’Oracle
L’exécution d’une opération sur une base de données Oracle à l’aide de l’adaptateur Oracle E-Business avec BizTalk Server implique les tâches procédurales suivantes décrites dans Les blocs de construction pour créer des applications Oracle E-Business Suite. Pour configurer l’adaptateur pour interroger la base de données Oracle à l’aide d’une procédure stockée, ces tâches sont les suivantes :
Créez un projet BizTalk et générez un schéma pour la procédure stockée que vous souhaitez utiliser pour l’interrogation.
Créez un message dans le projet BizTalk pour recevoir des messages à partir de la base de données Oracle.
Créez une orchestration pour recevoir des messages de la base de données Oracle et enregistrez-les dans un dossier.
Générez et déployez le projet BizTalk.
Configurez l’application BizTalk en créant des ports d’envoi et de réception physiques.
Important
Pour les scénarios d’interrogation entrant, vous devez toujours configurer un port de réception unidirectionnel. Les ports de réception bidirectionnels ne sont pas supportés pour les opérations entrantes.
Démarrez l’application BizTalk.
Cette rubrique fournit des instructions pour effectuer ces tâches.
Exemple basé sur cette rubrique
Un exemple, PollingUsingStoredProc, basé sur cette rubrique, est également fourni avec le pack d’adaptateurs BizTalk. Pour plus d’informations, consultez Exemples.
Génération d’un schéma
Vous devez générer le schéma pour l’opération de GET_ACTIVITYS. Effectuez les tâches suivantes lors de la génération du schéma en utilisant le complément Adapter Service.
Sélectionnez le type de contrat en tant que service (opération entrante).
Générez le schéma pour la procédure GET_ACTIVITYS .
Pour plus d’informations sur la génération d’un schéma, consultez Parcourir, Rechercher et obtenir des métadonnées pour les opérations Oracle E-Business.
Définition des messages et des types de messages
Le schéma que vous avez généré précédemment décrit les « types » requis pour les messages dans l’orchestration. Un message est généralement une variable, dont le type est défini par le schéma correspondant. Une fois le schéma généré, vous devez le lier aux messages de la vue Orchestration du projet BizTalk.
Pour cette rubrique, vous devez créer un message pour recevoir des messages d’Oracle.
Effectuez les étapes suivantes pour créer des messages et les lier au schéma.
Pour créer des messages et créer un lien vers le schéma
Ajoutez une orchestration au projet BizTalk. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet BizTalk, pointez sur Ajouter, puis cliquez sur Nouvel élément. Tapez un nom pour l’orchestration BizTalk, puis cliquez sur Ajouter.
Ouvrez la fenêtre d’affichage orchestration du projet BizTalk, si elle n’est pas déjà ouverte. Cliquez sur Affichage, pointez sur Autres fenêtres, puis cliquez sur Mode Orchestration.
Dans l’affichage Orchestration, cliquez avec le bouton droit sur Messages, puis cliquez sur Nouveau message.
Cliquez avec le bouton droit sur le message nouvellement créé, puis sélectionnez Fenêtre Propriétés.
Dans le volet Propriétés de Message_1, procédez comme suit :
Utiliser cette option Pour ce faire Identificateur Tapez Recevez. Type de message Dans la liste déroulante, développez Schémas, puis sélectionnez Polling.OracleEBSBindingSchema, où Polling est le nom de votre projet BizTalk. OracleEBSBindingSchema est le schéma de réponse généré pour la procédure stockée GET_ACTIVITYS .
Important: Étant donné que l’interrogation est une opération unidirectionnelle, le schéma généré par l’adaptateur ne contient pas de nœud de réponse, et il n’existe donc qu’un seul nœud racine dans le schéma. Si vous utilisez ces schémas pour un type de message, vous devez identifier le schéma par le nom de fichier du schéma généré.
Par exemple, si vous créez un schéma pour une opération bidirectionnelle, les nœuds du fichier de schéma avec un nomOracleEBSBindingSchema
peuvent ressembler à « Demande » et « Réponse ». Si vous souhaitez créer un message dans l’orchestration qui correspond au schéma de requête, vous pouvez identifier le schéma dans la liste en recherchantOracleEBSBindingSchema.Request
. Toutefois, dans le cas d’une opération d’interrogation, étant donné que le seul nœud est « Poll », il n’est pas facile d’identifier le schéma auquel vous souhaitez mapper, car les schémas avec des nœuds uniques ne sont pas répertoriés comme <nom_fichier_>schéma.<rootnodename>. Au lieu de cela, ces schémas sont répertoriés uniquement par le nom de fichier. Dans ce cas, la seule façon d’identifier le schéma est par le nom de fichier de schéma, par exemple OracleEBSBindingSchema.Le module complémentaire du service d'adaptateur Consommation génère un schéma pour les opérations entrantes et sortantes de la procédure stockée GET_ACTIVITYS. Vous devez utiliser le schéma pour l’opération entrante pour :
Cartographiez le message créé dans le cadre de l’orchestration.
Pour récupérer l’action que vous devez spécifier pour la propriété de binding PollingAction lors de l'exécution.
Vous devez utiliser le schéma pour l’opération sortante pour obtenir le message de requête que vous devez spécifier dans le cadre de la propriété de liaison PollingInput .
Configuration de l’orchestration
Vous devez créer une orchestration BizTalk pour utiliser BizTalk Server pour recevoir des messages de modification de données basés sur l’interrogation à partir d’Oracle. Dans cette orchestration, l’adaptateur reçoit la réponse en exécutant la procédure stockée pour laquelle vous avez spécifié le message de requête dans le cadre de la propriété de liaison PollingInput . Le message de réponse de la procédure stockée est enregistré dans un emplacement FILE. Une orchestration classique pour interroger la base de données Oracle contient les éléments suivants :
Recevoir et envoyer des formes pour recevoir des messages d’Oracle et les envoyer à un port FILE, respectivement.
Port de réception unidirectionnel pour recevoir des messages de la base de données Oracle.
Important
Pour les scénarios d’interrogation entrant, vous devez toujours configurer un port de réception unidirectionnel. Les ports de réception bidirectionnels ne sont pas supportés pour les opérations entrantes.
Port d’envoi unidirectionnel pour envoyer des réponses d’interrogation à partir d’une base de données Oracle.
Un exemple d’orchestration ressemble à ce qui suit.
Ajout de formes de message
Veillez à spécifier les propriétés suivantes pour chacune des formes de message. Les noms répertoriés dans la colonne Shape sont les noms des formes de message comme indiqué dans l’orchestration précédemment mentionnée.
Forme | Type de forme | Propriétés |
---|---|---|
RecevoirMessage | Recevoir | - Définir Name sur ReceiveMessage - Définir Activer sur True |
SaveMessage | Envoyer | - Définir Name sur SaveMessage |
Ajout de ports
Veillez à spécifier les propriétés suivantes pour chacun des ports logiques. Les noms répertoriés dans la colonne Port sont les noms des ports, comme indiqué dans l’orchestration.
Port | Propriétés |
---|---|
OracleReceivePort | - Définir l’identificateur à OracleReceivePort - Définir le type sur OracleReceivePortType - Définir le modèle de communication sur unidirectionnel - Définir la direction de communication sur recevoir |
EnregistrerMessagePort | - Définir l’identificateur sur SaveMessagePort - Définir Type sur SaveMessagePortType - Définir le modèle de communication sur unidirectionnel - Définir le sens de communication sur Envoyer |
Spécifier des messages pour les formes d’action et se connecter aux ports
Le tableau suivant spécifie les propriétés et leurs valeurs que vous devez définir pour spécifier des messages pour les formes d’action et lier les messages aux ports. Les noms répertoriés dans la colonne Shape sont les noms des formes de message comme indiqué dans l’orchestration mentionnée précédemment.
Forme | Propriétés |
---|---|
RecevoirMessage | - Définir Message sur Recevoir - Définir l’opération sur OracleReceivePort.Polling.Request |
SaveMessage | - Définissez Message sur Recevoir - Définir l’opération sur SaveMessagePort.Polling.Request |
Une fois que vous avez spécifié ces propriétés, les formes de message et les ports sont connectés et votre orchestration est terminée.
Vous devez maintenant générer la solution BizTalk et la déployer sur un serveur BizTalk. Pour plus d’informations, consultez Génération et exécution d’orchestrations.
Configuration de l’application BizTalk
Une fois que vous avez déployé le projet BizTalk, l’orchestration que vous avez créée précédemment est répertoriée sous le volet Orchestrations dans la console Administration de BizTalk Server. Vous devez utiliser la console Administration de BizTalk Server pour configurer l’application. Pour un guide pas à pas, consultez Procédure : déploiement d’une application BizTalk de base.
La configuration d’une application implique :
Sélection d’un hôte pour l’application.
Associez les ports que vous avez créés dans votre orchestration aux ports physiques dans la console d'administration de BizTalk Server. Pour cette orchestration, vous devez :
Définissez un emplacement sur le disque dur et un port FILE correspondant où l’orchestration BizTalk supprime les messages d’Oracle. Ces messages seront une réponse à la déclaration de sondage que vous spécifiez pour le port de réception.
Définissez un port de réception à sens unique physique WCF-Custom ou WCF-OracleEBS. Ce port interroge la base de données Oracle. Pour plus d’informations sur la création de ports de réception, consultez Configurer manuellement une liaison de port physique sur l’adaptateur Oracle E-Business. Veillez à spécifier les propriétés de liaison suivantes pour le port de réception.
Propriété de liaison Valeur InboundOperationType Définissez cette option sur Sondage. PolledDataAvailableStatement Pour cet exemple, définissez cette propriété de liaison sur :
SELECT COUNT (*) FROM ACCOUNTACTIVITY
Cela garantit que l’adaptateur exécute l’instruction d’interrogation uniquement lorsque la table ACCOUNTACTIVITY contient des enregistrements.PollingAction Récupérez l’action d’interrogation à partir du schéma généré pour le message entrant pour la procédure GET_ACTIVITYS. Pour cet exemple, définissez cette propriété de liaison sur PollingPackageApis/APPS/ACCOUNT_PKG/GET_ACTIVITYS. PollingInput Pour cette propriété de liaison, spécifiez le message de requête pour appeler la procédure stockée GET_ACTIVITYS. Vous pouvez obtenir le message de requête à partir du schéma pour l’opération sortante générée par le module complémentaire Consume Adapter Service. Vous devez fournir l’intégralité du message XML en tant qu’entrée pour cette propriété de liaison. Pour cet exemple, définissez cette propriété de liaison sur :
<GET_ACTIVITYS xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/PackageApis/APPS/ACCOUNT_PKG"> <INRECS>OPEN ? FOR SELECT * FROM ACCOUNTACTIVITY</INRECS> </GET_ACTIVITYS>
La procédure stockée GET_ACTIVITYS prend un curseur REF d’entrée en tant que paramètre.Déclaration post-sondage Spécifiez l’instruction post-sondage pour déplacer toutes les données de la table ACCOUNTACTIVITY vers une autre table. Pour cet exemple, définissez cette propriété de liaison sur :
BEGIN ACCOUNT_PKG.PROCESS_ACTIVITY(); END;
Pour plus d’informations sur les différentes propriétés de liaison, consultez En savoir plus sur l’adaptateur BizTalk pour les propriétés de liaison Oracle E-Business Suite.
Important
Si vous interrogez une table d’interface, vous devez définir le contexte de l’application en spécifiant les propriétés de liaison requises. Pour plus d’informations sur la définition du contexte d’application, consultez Définir le contexte d’application.
Remarque
Nous vous recommandons de configurer le niveau d’isolation des transactions et le délai d’expiration des transactions lors de l’exécution d’opérations entrantes à l’aide de l’adaptateur Oracle E-Business. Vous pouvez le faire en ajoutant le comportement du service lors de la configuration du port de réception WCF-Custom ou WCF-OracleEBS. Pour obtenir des instructions sur l’ajout du comportement du service, consultez Configurer le niveau d’isolation des transactions et le délai d’expiration des transactions avec Oracle E-Business Suite.
Démarrage de l’application
Vous devez démarrer l’application BizTalk pour interroger la base de données Oracle. Pour obtenir des instructions sur le démarrage d’une application BizTalk, consultez Guide pratique pour démarrer une orchestration.
À ce stade, assurez-vous que :
Le port de réception unidirectionnel WCF-Custom ou WCF-OracleEBS, qui interroge Oracle à l’aide de la procédure stockée spécifiée pour la propriété de liaison PollingInput, est en cours d’exécution.
Le port d’envoi FILE, qui reçoit des messages de la base de données Oracle, est en cours d’exécution.
L’orchestration de BizTalk pour l’opération est en cours.
Exécution de l’opération
Après avoir exécuté l’application, l’ensemble d’actions suivant a lieu, dans la même séquence :
L’adaptateur exécute PolledDataAvailableStatement qui retourne une valeur positive indiquant que l’adaptateur doit exécuter l’instruction spécifiée pour la propriété de liaison PollingInput .
L’adaptateur exécute la procédure stockée GET_ACTIVITYS spécifiée pour la propriété de liaison PollingInput et retourne toutes les lignes de la table ACCOUNTACTIVITY. La réponse de la base de données Oracle ressemble à ce qui suit :
<?xml version="1.0" encoding="utf-8" ?> <GET_ACTIVITYS xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/PollingPackageApis/APPS/ACCOUNT_PKG"> <OUTRECS> <OUTRECSRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/ReferencedRecordTypes/APPS/ACCOUNT_PKG/GET_ACTIVITYS/APPS/GET_ACTIVITYS"> <TID>1</TID> <ACCOUNT>100001</ACCOUNT> <AMOUNT>500</AMOUNT> <DESCRIPTION /> <TRANSDATE>2008-06-21T15:52:19</TRANSDATE> <PROCESSED>n</PROCESSED> </OUTRECSRecord> <OUTRECSRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/ReferencedRecordTypes/APPS/ACCOUNT_PKG/GET_ACTIVITYS/APPS/GET_ACTIVITYS"> ...... ...... </OUTRECSRecord> ...... ...... </OUTRECS> </GET_ACTIVITYS>
L’adaptateur exécute l’instruction post-sondage, qui déplace toutes les données de la table ACCOUNTACTIVITY vers une autre table.
Après l’intervalle d’interrogation, l’adaptateur exécute à nouveau PolledDataAvailableStatement. Étant donné que la table ACCOUNTACTIVITY n’a pas d’enregistrements maintenant, PolledDataAvailableStatement ne retourne pas de valeur positive et, par conséquent, l’adaptateur n’exécute pas l’instruction spécifiée pour la propriété de liaison PollingInput . Par conséquent, le client d’adaptateur ne reçoit aucun message d’interrogation.
Le client de l’adaptateur n’obtient pas plus de messages d’interrogation tant que certains enregistrements ne sont pas explicitement insérés dans la table ACCOUNTACTIVITY. Pour insérer d’autres enregistrements, vous pouvez exécuter le script more_activity_data.sql fourni avec les exemples. Une fois que vous avez exécuté ce script, la prochaine fois que PolledDataAvailableStatement est exécuté, il retourne une valeur positive. Par conséquent, l’adaptateur exécute à nouveau l’instruction d’interrogation et les clients de l’adaptateur reçoivent à nouveau un message d’interrogation.
Remarque
L’adaptateur Oracle E-Business continuera à interroger jusqu’à ce que vous désactiviez explicitement le port de réception à partir de la console Administration de BizTalk Server.
Meilleures pratiques
Une fois que vous avez déployé et configuré le projet BizTalk, vous pouvez exporter les paramètres de configuration vers un fichier XML appelé fichier de liaisons. Une fois que vous avez généré un fichier de liaisons, vous pouvez importer les paramètres de configuration à partir du fichier afin que vous n’ayez pas besoin de créer les ports d’envoi et de recevoir des ports pour la même orchestration. Pour plus d’informations sur les fichiers de liaison, consultez Réutiliser les liaisons d’adaptateur SQL.
Voir aussi
Interroger Oracle E-Business Suite en utilisant BizTalk Server