Condividi tramite


Eseguire il polling di Oracle E-Business Suite usando l'istruzione SELECT

È possibile configurare l'adapter Oracle E-Business per ricevere messaggi periodici di modifica dei dati usando un'istruzione SELECT per eseguire continuamente il polling delle tabelle di interfaccia, delle viste di interfaccia, delle tabelle e delle viste in Oracle E-Business Suite. È possibile specificare un'istruzione SELECT come istruzione di polling eseguita periodicamente dall'adattatore per eseguire il polling di Oracle E-Business Suite. È anche possibile specificare un blocco di codice PL/SQL post-poll eseguito dall'adattatore dopo l'esecuzione dell'istruzione di polling.

Per abilitare il polling, è necessario specificare determinate proprietà di associazione nel WCF-Custom o WCF-OracleEBS porta di ricezione. Per altre informazioni su come l'adattatore supporta il polling, vedere Supporto per le chiamate in ingresso tramite polling. Per informazioni sulla struttura del messaggio SOAP per le operazioni di polling, vedere Schemi messaggio per le operazioni di polling.

Configurazione di un'operazione di polling con le proprietà di associazione dell'adapter Oracle E-Business Suite

La tabella seguente riepiloga le proprietà di associazione dell'adapter Oracle E-Business usate per configurare l'adapter per ricevere messaggi di modifica dei dati. È necessario specificare queste proprietà di associazione durante la configurazione della porta di ricezione nella console di amministrazione di BizTalk Server.

Binding, proprietà Descrizione
InboundOperationType Specifica se si desidera eseguire l'operazione di polling o notifica in ingresso. Il valore predefinito è Polling.
PolledDataAvailableStatement Specifica l'istruzione SQL eseguita dall'adapter per determinare se i dati sono disponibili per il polling. Solo se è disponibile un record, verrà eseguita l'istruzione SELECT specificata per la proprietà di associazione PollingInput .
PollingInterval Specifica l'intervallo, espresso in secondi, in cui l'adapter Oracle E-Business esegue l'istruzione specificata per la proprietà di associazione PolledDataAvailableStatement . Il valore predefinito è 30 secondi. L'intervallo di polling determina l'intervallo di tempo tra i sondaggi successivi. Se l'istruzione viene eseguita entro l'intervallo specificato, l'adattatore rimane in sospensione per il tempo rimanente nell'intervallo.
PollingInput Specifica l'istruzione di polling. Per eseguire il polling usando un'istruzione SELECT, è necessario specificare un'istruzione SELECT per questa proprietà di associazione. Il valore predefinito è Null.

Per abilitare il polling, è necessario specificare un valore per la proprietà di associazione PollingInput . L'istruzione di polling viene eseguita solo se sono disponibili dati per il polling, determinato dalla proprietà di associazione PolledDataAvailableStatement .
PollingAction Specifica l'azione per l'operazione di polling. You can determine the polling action for a specific operation from the metadata you generate for the operation using the Consume Adapter Service Add-in.
PostPollStatement Specifica un blocco di istruzioni eseguito dopo l'esecuzione dell'istruzione specificata dalla proprietà di associazione PollingInput .
PollWhileDataFound Specifica se l'adapter Oracle E-Business ignora l'intervallo di polling ed esegue continuamente l'istruzione di polling, se i dati sono disponibili nella tabella di cui viene eseguito il polling. Se nella tabella non sono disponibili dati, l'adattatore viene ripristinato per eseguire l'istruzione di polling all'intervallo di polling specificato. L'impostazione predefinita è false.

Per una descrizione più completa di queste proprietà, vedere Informazioni sulle proprietà di associazione di BizTalk Adapter per Oracle E-Business Suite. Per una descrizione completa di come usare l'adapter Oracle E-Business per eseguire il polling del database Oracle, leggere altre informazioni.

Come illustra il polling in questo argomento

In questo argomento, per illustrare in che modo l'adapter Oracle E-Business supporta la ricezione di messaggi di modifica dei dati tramite istruzioni SELECT, creare un progetto BizTalk e generare lo schema per l'operazione di polling per la tabella di cui si vuole eseguire il polling. In questo argomento viene generato lo schema per l'operazione di polling per la tabella dell'interfaccia MS_SAMPLE_EMPLOYEE nell'applicazione Libreria oggetti applicazione. Questa tabella viene creata quando si esegue lo script create_apps_artifacts.sql fornito con gli esempi per creare questi oggetti in Oracle E-Business Suite.

Si userà quindi il routing basato sul contenuto (CBR) in BizTalk Server per configurare un'applicazione con una porta di ricezione che riceverà messaggi di polling dalla tabella dell'interfaccia MS_SAMPLE_EMPLOYEE e quindi instradarla a una porta di trasmissione. In questo caso verrà creato un filtro sulla porta di trasmissione che controlla la posizione di ricezione specificata e il messaggio viene instradato alla porta di trasmissione.

Per illustrare un'operazione di polling, eseguire le operazioni seguenti:

  • Specificare un'istruzione SELECT per la proprietà di associazione PolledDataAvailableStatement per determinare dove la tabella di interfaccia sottoposta a polling (MS_SAMPLE_EMPLOYEE) contiene dati. In questo esempio è possibile impostare questa proprietà di associazione come:

    SELECT COUNT (*) FROM MS_SAMPLE_EMPLOYEE  
    

    Ciò garantisce che l'adapter esegua l'istruzione di polling solo quando la tabella dell'interfaccia MS_SAMPLE_EMPLOYEE contiene alcuni record.

  • Specificare un'istruzione SELECT per la proprietà di associazione PollingInput . Questa istruzione recupera tutte le righe nella tabella dell'interfaccia MS_SAMPLE_EMPLOYEE. In questo esempio è possibile impostare questa proprietà di associazione come:

    SELECT * FROM MS_SAMPLE_EMPLOYEE FOR UPDATE  
    

    Nota

    Per informazioni sulla clausola FOR UPDATE usata nell'istruzione SELECT, vedere Eseguire il polling dell'istruzione Oracle E-Business Suite tramite l'istruzione SELECT.

  • Specificare un'istruzione DELETE come parte della proprietà di associazione PostPollStatement . Questa istruzione eliminerà tutti i dati dalla tabella dell'interfaccia di MS_SAMPLE_EMPLOYEE. In questo esempio è possibile impostare questa proprietà di associazione come:

    DELETE FROM MS_SAMPLE_EMPLOYEE  
    

    Una volta eseguita questa operazione, la volta successiva che l'istruzione specificata per PollingInput verrà eseguita, non recupererà alcun dato.

  • Finché non vengono aggiunti altri dati alla tabella dell'interfaccia MS_SAMPLE_EMPLOYEE, non verranno visualizzati messaggi di polling. È quindi necessario ripopolare la tabella dell'interfaccia MS_SAMPLE_EMPLOYEE con nuovi record. A tale scopo, eseguire lo script insert_apps_data.sql fornito con gli esempi. Dopo aver eseguito questo script, l'operazione di polling successiva recupererà i nuovi record inseriti nella tabella.

Come ricevere messaggi di modifica dei dati da Oracle E-Business Suite

L'esecuzione di un'operazione sul database Oracle tramite l'adattatore Oracle E-Business con BizTalk Server comporta le attività procedurali seguenti descritte in Blocchi predefiniti per creare applicazioni Oracle E-Business Suite. Per configurare l'adattatore per eseguire il polling di Oracle E-Business Suite usando un'istruzione SELECT, queste attività sono:

  1. Creare un progetto BizTalk e generare lo schema per l'operazione polling per la tabella di interfaccia di cui si vuole eseguire il polling.

  2. Compilare e distribuire il progetto BizTalk.

  3. Configurare l'applicazione BizTalk creando porte di ricezione e trasmissione. Aggiungere inoltre un filtro sulla porta di trasmissione in modo che controlli la posizione di ricezione specificata nella porta di ricezione e che il messaggio di polling venga instradato alla porta di trasmissione.

    Importante

    Per gli scenari di polling in ingresso è sempre necessario configurare una porta di ricezione unidirezionale. Le porte di ricezione bidirezionali non sono supportate per le operazioni in ingresso.

  4. Avviare l'applicazione BizTalk.

    In questo argomento vengono fornite istruzioni per eseguire queste attività.

Esempio basato su questo argomento

Un esempio, PollingUsingSelectStatement, basato su questo argomento viene fornito anche con bizTalk Adapter Pack. Per altre informazioni, vedere Esempi.

Generazione dello schema

È necessario generare lo schema per l'operazione di polling nella tabella dell'interfaccia MS_SAMPLE_EMPLOYEE nell'applicazione Libreria oggetti applicazione. Eseguire le attività seguenti durante la generazione dello schema usando il componente aggiuntivo Consume Adapter Service .

Compilazione e distribuzione del progetto BizTalk

È ora necessario compilare la soluzione BizTalk e distribuirla in un BizTalk Server. Per informazioni sulla distribuzione della soluzione in BizTalk Server, vedere Distribuzione di assembly BizTalk da Visual Studio in un'applicazione BizTalk.

Configurazione dell'applicazione BizTalk

Dopo aver distribuito il progetto BizTalk, l'applicazione viene elencata nel nodo Applicazioni nella console di amministrazione di BizTalk Server. Per configurare l'applicazione, è necessario usare la console di amministrazione di BizTalk Server. Come parte della configurazione dell'applicazione, è necessario creare una porta di ricezione e una porta di trasmissione nell'applicazione e quindi aggiungere un filtro alla porta di trasmissione in modo che tutti i messaggi dalla porta di ricezione vengano instradati alla porta di trasmissione.

La configurazione di un'applicazione prevede:

  • Selezione di un host per l'applicazione.

  • Creazione di porte di ricezione e trasmissione.

Creazione di una porta di ricezione

È necessario creare un WCF-Custom o WCF-OracleEBS porta di ricezione unidirezionale, che esegue il polling di Oracle usando l'istruzione SELECT specificata per la proprietà di associazione PollingInput . Per informazioni su come creare porte di ricezione, vedere Configurazione manuale di un'associazione di porte fisiche all'adapter Oracle E-Business. Durante la creazione della porta di ricezione, assicurarsi di specificare le proprietà di associazione seguenti.

Per il polling

Binding, proprietà Valore
InboundOperationType Impostare questa opzione su Polling.
PolledDataAvailableStatement Per questo esempio, impostare questa proprietà di associazione su:

SELECT COUNT (*) FROM MS_SAMPLE_EMPLOYEE
PollingAction Recuperare l'azione di polling dallo schema generato per l'operazione Poll nella tabella dell'interfaccia MS_SAMPLE_EMPLOYEE. Per questo esempio, impostare questa proprietà di associazione su InterfaceTables/Poll/FND/APPS/MS_SAMPLE_EMPLOYEE.
PollingInput Per questa proprietà di associazione, specificare un'istruzione SELECT per recuperare tutti i record dalla tabella dell'interfaccia MS_SAMPLE_EMPLOYEE. Per questo esempio, impostare questa proprietà di associazione su:

SELECT * FROM MS_SAMPLE_EMPLOYEE FOR UPDATE
PostPollStatement Specificare l'istruzione post-poll per eliminare tutti i dati dalla tabella dell'interfaccia MS_SAMPLE_EMPLOYEE. Per questo esempio, impostare questa proprietà di associazione su:

DELETE FROM MS_SAMPLE_EMPLOYEE

Per impostazione del contesto dell'applicazione

Se si esegue l'operazione negli artefatti di Oracle E-Business Suite, è necessario specificare i valori per le proprietà di associazione appropriate per impostare il contesto dell'applicazione. Per altre informazioni sul contesto dell'applicazione e sulle proprietà di associazione necessarie per l'impostazione del contesto dell'applicazione, vedere Impostare contesto applicazione.

Per questo esempio, specificare i valori appropriati per le proprietà di associazione oracleUserName, oraclePassword e oracleEBSResponsibility .

Nota

È consigliabile configurare il livello di isolamento delle transazioni e il timeout delle transazioni durante l'esecuzione di operazioni in ingresso usando l'adapter Oracle E-Business. È possibile farlo aggiungendo il comportamento del servizio durante la configurazione della porta di ricezione. Per istruzioni su come aggiungere il comportamento del servizio, vedere Configurare il livello di isolamento delle transazioni e il timeout delle transazioni con Oracle E-Business Suite.

Creazione di una porta di trasmissione

Definire un percorso sul disco rigido e creare una porta di invio FILE corrispondente in cui BizTalk Server verranno eliminati i messaggi da Oracle. Questi messaggi saranno in risposta all'istruzione di polling specificata per la porta di ricezione. Per informazioni su come creare porte di invio, vedere Configurazione manuale di un'associazione di porte fisiche all'adapter Oracle E-Business.

È anche necessario aggiungere un filtro sulla porta di invio per instradare i messaggi dalla posizione di ricezione. Per aggiungere il filtro alla porta di invio:

  1. Fare doppio clic sulla porta di invio per aprire la finestra di dialogo Proprietà porta di invio.

  2. Nella finestra di dialogo Proprietà porta di invio fare clic sulla scheda Filtri .

  3. Specificare i valori seguenti:

    • Nell'elenco Proprietà fare clic su BTS. ReceivePortName.

    • Nell'elenco Operatore fare clic su ==.

    • Nel campo Valore specificare il nome della porta di ricezione.

  4. Nella finestra di dialogo Proprietà porta di invio fare clic su OK.

Avvio dell'applicazione

È necessario avviare l'applicazione BizTalk per eseguire il polling di Oracle E-Business Suite. Per istruzioni sull'avvio di un'applicazione BizTalk, vedere Come avviare un'orchestrazione.

In questa fase assicurarsi di:

  • Il WCF-Custom o WCF-OracleEBS porta di ricezione unidirezionale, che esegue il polling di Oracle usando l'istruzione SELECT specificata per la proprietà di associazione PollingInput , è in esecuzione.

  • La porta di invio FILE, che riceve messaggi dal database Oracle, è in esecuzione.

Esecuzione dell'operazione

Dopo aver eseguito l'applicazione, il set di azioni seguente viene eseguito nella stessa sequenza:

  • L'adapter esegue polledDataAvailableStatement che restituisce un valore positivo che indica l'adapter per eseguire l'istruzione specificata per la proprietà di associazione PollingInput .

  • L'adapter esegue l'istruzione SELECT per la proprietà di associazione PollingInput e restituisce tutte le righe nella tabella dell'interfaccia MS_SAMPLE_EMPLOYEE. La risposta di Oracle E-Business Suite è simile alla seguente:

    <?xml version="1.0" encoding="utf-8" ?>   
    <Poll xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/FND/APPS/MS_SAMPLE_EMPLOYEE">   
      <DATA>   
        <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">   
         <EMP_NO>10002</EMP_NO>   
         <NAME>JEFF PRICE</NAME>   
         <DESIGNATION>MANAGER</DESIGNATION>   
         <SALARY>25000</SALARY>   
         <JOIN_DATE>2007-12-15T00:00:00</JOIN_DATE>   
        </SelectRecord>   
        <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">   
         <EMP_NO>10003</EMP_NO>   
         <NAME>DON HALL</NAME>   
         <DESIGNATION>ACCOUNTANT</DESIGNATION>   
         <SALARY>12000</SALARY>   
         <JOIN_DATE>2005-10-29T00:00:00</JOIN_DATE>   
        </SelectRecord>   
        …        
        <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">   
         …   
        </SelectRecord>   
        …   
      </DATA>   
    </Poll>  
    
  • L'adapter esegue l'istruzione post-poll, che elimina tutti i dati dalla tabella dell'interfaccia MS_SAMPLE_EMPLOYEE.

  • Dopo l'intervallo di polling, l'adapter esegue di nuovo PolledDataAvailableStatement. Poiché la tabella dell'interfaccia MS_SAMPLE_EMPLOYEE non ha record ora, PolledDataAvailableStatement non restituisce un valore positivo e quindi l'adapter non esegue l'istruzione specificata per la proprietà di associazione PollingInput . Di conseguenza, il client dell'adapter non riceve alcun messaggio di polling.

  • Il client dell'adapter non riceverà più messaggi di polling finché alcuni record non vengono inseriti in modo esplicito nella tabella dell'interfaccia MS_SAMPLE_EMPLOYEE. Per inserire altri record, è possibile eseguire lo script insert_apps_data.sql fornito con gli esempi. Dopo aver eseguito questo script, la prossima volta che PolledDataAvailableStatement viene eseguito, restituisce un valore positivo. Di conseguenza, l'adapter esegue di nuovo l'istruzione di polling e i client dell'adapter ricevono di nuovo un messaggio di polling.

Nota

L'adapter Oracle E-Business continuerà a eseguire il polling fino a disabilitare in modo esplicito la porta di ricezione dalla console di amministrazione di BizTalk Server.

Procedure consigliate

Dopo aver distribuito e configurato il progetto BizTalk, è possibile esportare le impostazioni di configurazione in un file XML denominato file binding. Dopo aver generato un file di associazioni, è possibile importare le impostazioni di configurazione dal file in modo che non sia necessario creare le porte di invio e le porte di ricezione. Per altre informazioni sui file di associazione, vedere Riutilizzare le associazioni di adapter con Oracle E-Business Suite.

Vedere anche

Polling di Oracle E-Business Suite usando BizTalk Server