Unterstützung für eingehende Aufrufe durch Abrufe

Der Microsoft BizTalk-Adapter für Oracle E-Business Suite ermöglicht Es Clientprogrammen, Nachrichten von Oracle E-Business Suite zu empfangen, die sie über Änderungen an Daten in Oracle E-Business Suite informieren. Der Oracle E-Business-Adapter unterstützt das Empfangen von "abrufbasierten" Nachrichten, wobei der Adapter eine angegebene SQL-Anweisung, eine gespeicherte Prozedur, eine Funktion oder eine Prozedur innerhalb eines Pakets ausführt, die Daten abruft und das Ergebnis in regelmäßigen Abständen dem Client zur Verfügung stellt.

Hinweis

Sie können auch den Anwendungskontext für den Abfragevorgang im Oracle E-Business-Adapter festlegen. Es ist obligatorisch, den Anwendungskontext für den Abrufvorgang festzulegen, wenn der Vorgang für eine Schnittstellentabelle oder Schnittstellenansicht ausgeführt wird. Informationen zum Anwendungskontext und zum Festlegen finden Sie unter Festlegen des Anwendungskontexts.

Ein typischer Abrufvorgang mit dem Oracle E-Business-Adapter umfasst Folgendes:

  1. Die Adapterclients müssen als eingehender Vorgang in der InboundOperationType-Bindungseigenschaft angebenPolling. Der Standardwert für diese Bindungseigenschaft ist Polling.

  2. Die Adapterclients müssen eine SELECT-Anweisung für die Bindungseigenschaft PolledDataAvailableStatement angeben, um zu bestimmen, ob Daten zum Abruf verfügbar sind. Wenn die erste Spalte der ersten Zeile des ersten Resultsets, die bei der Ausführung dieser Anweisung zurückgegeben wird, einen positiven ganzzahligen Wert enthält, steht ein Datum für die Abrufe zur Verfügung.

  3. Die Adapterclients müssen ein Abrufintervall für die PollingInterval-Bindungseigenschaft angeben, um das Intervall in Sekunden zu definieren, in dem die in der PolledDataAvailableStatement-Bindungseigenschaft angegebene Anweisung ausgeführt wird. Am Ende jedes Abrufintervalls wird die verfügbare Anweisung der abgerufenen Daten ausgeführt, und das Resultset wird zurückgegeben.

  4. Die Adapterclients müssen eine SELECT-Anweisung oder eine gespeicherte Prozedur für die PollingInput-Bindungseigenschaft angeben. Wenn Sie eine Tabelle oder Sicht abfragen möchten, müssen Sie eine SELECT-Anweisung für diese Bindungseigenschaft angeben. Wenn Sie mit einer gespeicherten Prozedur abfragen möchten, müssen Sie die gesamte Anforderungsnachricht für diese Bindungseigenschaft angeben.

    Die Anweisung in der PollingInput-Bindungseigenschaft wird nur ausgeführt, wenn Daten für den Abruf verfügbar sind, was durch die PolledDataAvailableStatement-Bindungseigenschaft in Schritt 2 bestimmt wird.

  5. Die Adapterclients müssen eine Aktion für den Abrufvorgang in der PollingAction-Bindungseigenschaft angeben. Die Abrufaktion für einen bestimmten Vorgang wird anhand der Metadaten bestimmt, die für den Vorgang mithilfe des Add-Ins Adapterdienst nutzen generiert wurden.

  6. Die Adapterclients können die PollWhileDataFound-Bindungseigenschaft verwenden, um das Abrufintervall zu ignorieren und fortlaufend Daten abzurufen, sofern verfügbar.

    Wichtig

    Wenn Sie den Wert der PollWhileDataFound-Bindungseigenschaft auf True festlegen, rufen die Adapterclients kontinuierlich Daten von Oracle ab und öffnen und schließen verbindungen mit der Oracle-Datenbank in einer Schleife. Da die Rate, mit der Verbindungen von ODP.NET geöffnet werden, größer als die zu schließenden Verbindungen ist, sind die Verbindungen nach einiger Zeit erschöpft, und es wird eine Ausnahme ausgelöst. Stellen Sie zur Umgehung sicher, dass der Wert von UseOracleConnectionPool auf True festgelegt ist und ein entsprechender Wert in der Bindungseigenschaft IncrPoolSize erwähnt wird, um die Anzahl der Verbindungen zu steuern, die von den Adapterclients geöffnet werden können.

  7. Die Adapterclients können eine Post-Poll-Anweisung, einen Oracle PL/SQL-Block, für die PostPollStatement-Bindungseigenschaft angeben. Die in dieser Bindungseigenschaft angegebene Anweisung wird ausgeführt, nachdem die in der PollingInput-Bindungseigenschaft angegebene Anweisung ausgeführt wurde.

    Hinweis

    Der Adapter führt die Anweisung aus, die in den Bindungseigenschaften PollingInput und PostPollStatement in einer Transaktion angegeben ist. Weitere Informationen zu Transaktionen im Oracle E-Business-Adapter finden Sie unter Wie behandelt der Adapter Transaktionen?.

    Der Adapter unterdrückt alle leeren Abrufantworten, die aus der Oracle E-Business Suite stammen.

    Die folgende Abbildung enthält Informationen zum Abrufworkflow im Oracle E-Business-Adapter. Zwei Szenarien für den Abrufworkflow werden veranschaulicht:

  8. Wenn der Wert von PollWhileDataFound auf "False" (Standardeinstellung) festgelegt ist.

  9. Wenn der Wert von PollWhileDataFound auf "True" festgelegt ist.

    Polling Scenario (PollWhileDataFound=False)Polling Scenario (PollWhileDataFound = True)

Unterschiede zwischen Abruf und Benachrichtigung

Obwohl Abrufe und Benachrichtigungen beide eingehende Vorgänge sind und die Adapterclients über die Datenänderungen in der Oracle-Datenbank informieren, sind in der folgenden Tabelle einige Unterschiede aufgeführt. Die folgenden Unterschiede helfen Ihnen bei der Entscheidung für einen Vorgang je nach Ihren Anforderungen:

Abruf Benachrichtigung
Die Abfrage wird für alle Oracle-Datenbankversionen unterstützt, die vom Oracle E-Business-Adapter unterstützt werden. Benachrichtigungen werden nur für Oracle-Datenbankversionen 10.2 und höher unterstützt.
Sie können entweder das Abrufintervall so konfigurieren, dass in regelmäßigen Abständen die für den Abruf verfügbaren Daten überprüft werden, oder sofort, wenn die Daten verfügbar sind. Tipp: Die Abfrage kann ihnen einen besseren Durchsatz in Szenarien bieten, in denen die Daten ständig geändert werden, und Sie möchten nicht über jede Änderung benachrichtigt werden, wenn dies geschieht. Stattdessen geben Sie ein Abrufintervall an, nach dem Sie über alle Änderungen benachrichtigt werden möchten, die seit der letzten Änderungsbenachrichtigung aufgetreten sind. Die Datenänderungsbenachrichtigung erfolgt immer sofort.
Die Abfrage wird vom Adapter initiiert. Der Adapter führt eine SQL-Anweisung aus, um zu überprüfen, ob Daten für Abrufe verfügbar sind, und initiiert dann die Abfrage, indem die Abrufanweisungen ausgeführt werden, wenn einige Daten für den Abruf verfügbar sind. Die Benachrichtigung wird von der Oracle-Datenbank initiiert. Die vom Adapter ausgestellte Benachrichtigungsanweisung weist die Datenbank lediglich an, eine Benachrichtigung für den Fall zu initiieren, dass das Resultset der Anweisung geändert wird. Die Benachrichtigung ist ein Feature der Oracle-Datenbank.
Sie können die Abfrage-Anweisung verwenden, um Daten in der Oracle-Datenbank zu lesen oder zu aktualisieren. Sie können die Benachrichtigungsanweisung verwenden, um nur Daten in einer Oracle-Datenbank zu lesen.
Das Abfragen informiert Sie über die tatsächlichen Daten, die sich geändert haben. Die Benachrichtigung informiert nur über den Typ der Änderung in den Daten, z. B. Einfügen, Aktualisieren und Löschen.

Weitere Informationen:

Weitere Informationen

Welche Vorgänge können mit dem Adapter ausgeführt werden?