Nota

Esegui la migrazione delle API da Oracle API Gateway a Oracle Cloud Infrastructure API Gateway

Introduzione

Oracle API Gateway è una piattaforma on-premise molto diffusa utilizzata dalle aziende che in passato volevano esporre i propri sistemi legacy tramite API per l'integrazione con applicazioni Web, mobile o persino client-server.

In questa esercitazione viene descritto un modo per eseguire la migrazione delle API implementate in Oracle API Gateway a una tecnologia più moderna e scalabile, all'interno degli standard cloud nativi e che può essere utilizzata in ambienti ibridi (cloud o on-premise). La proposta prevede di accelerare questa migrazione a Oracle Cloud Infrastructure API Gateway (OCI API Gateway).

Il servizio OCI API Gateway ti consente di pubblicare nella tua rete interfacce API con endpoint privati accessibili che puoi esporre con indirizzi IP pubblici se vuoi che accettino il traffico Internet. Gli endpoint supportano la convalida delle API, la trasformazione delle richieste e delle risposte, il CORS, l'autenticazione e l'autorizzazione e la limitazione delle richieste.

Il servizio OCI API Gateway ti consente di creare uno o più gateway API in una subnet regionale per elaborare il traffico del client API e instradarlo ai servizi backend. Puoi utilizzare un singolo gateway API per collegare più servizi backend (come OCI Load Balancer, istanze di OCI Compute e OCI Functions) in un unico endpoint API consolidato. Puoi accedere al servizio OCI API Gateway per definire i gateway API e le distribuzioni API utilizzando OCI Console e l'API REST.

Il servizio OCI API Gateway è integrato con Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), che fornisce una facile autenticazione con la funzionalità di identità OCI nativa.

Questa esercitazione consente di preparare gli artifact per la migrazione al gateway API OCI e deve essere utilizzata insieme a questa altra esercitazione: Implementare un'automazione per distribuire una specifica OpenAPI nel gateway API OCI.

Nota:

Strategia per eseguire la migrazione da Oracle API Gateway a OCI API Gateway

Questa strategia non consente la migrazione direttamente al gateway API OCI in quanto si tratta di tecnologie leggermente diverse. Sebbene Oracle API Gateway disponga di meccanismi per creare mapping tra i percorsi e i relativi criteri, generando regole di trattamento complesse per autorizzazione/autenticazione, HEADER, orchestrazioni di chiamate con regole business e altre complessità di un'API. OCI API Gateway funziona solo come gateway API, consentendo l'elaborazione di HEADER, stabilendo alcuni principi di timeout e limitazione, ma senza grandi complessità. Lo strumento si propone di essere più semplice e delimita le sue funzionalità proprio perché fa parte di una gamma di servizi che completano le altre funzionalità che sono state escluse.

Obiettivi

Task 1: Esportare le API di Oracle API Gateway

Oracle API Gateway può esportare tutte le definizioni in un file XML. Questo artifact verrà utilizzato per accelerare il processo di migrazione. Per ulteriori informazioni su come esportare le definizioni delle interfacce API in Oracle API Gateway, vedere Esportazione della configurazione del gateway API.

Verrà visualizzato un file XML che conterrà tutte le definizioni API.

img_1.png

img.png

img_2.png

Task 2: Convertire il codice XML di Oracle API Gateway in una specifica Swagger

Il file XML di Oracle API Gateway verrà utilizzato per convertirlo in un file Swagger YAML.

  1. Modificare il nome file della variabile nel file XML di Oracle API Gateway esportato ed eseguire il file Python seguente: generate_swagger.py.

    img_3.png

    img_4.png

    img_5.png

    Riceverai file con estensione YAML. Ogni file è una definizione Swagger per un'API definita in Oracle API Gateway.

    Alcune righe sono commentate nella definizione Swagger. Queste righe rappresentano l'orchestrazione di Oracle API Gateway in ogni API. Ciò consente di pianificare e costruire l'orchestrazione in Oracle Integration.

  2. Modificare il file Python map_details.py in modo da includere il file di definizione XML di Oracle API Gateway e un nome file per le definizioni di mapping di output.

    img_6.png

    Dopo aver eseguito questo codice Python, si otterranno definizioni più dettagliate per ogni passo di orchestrazione menzionato in Swagger.

    img_7.png

Task 3: distribuire Swagger nel gateway API OCI

Con il file Swagger, possiamo importare in OCI API Gateway attraverso un processo di automazione. Tutti i file YAML generati dal codice Python possono essere distribuiti nel gateway API OCI con questo progetto. Per ulteriori informazioni, vedere Implementare un'automazione per distribuire una specifica OpenAPI nel gateway API OCI.

Questo progetto importerà la specifica Swagger generata qui e distribuirà le API da utilizzare. Sarà necessario regolare manualmente i backend come parte di questa documentazione.

Task 4: Implementare l'orchestrazione in Oracle Integration

In questo task è necessario analizzare caso per caso e implementare l'orchestrazione, le regole aziendali e le convalide.

Prima di tutto, dobbiamo analizzare ogni passo delle API in Oracle API Gateway. Alcuni passi sono regole e orchestrazioni aziendali e devono far parte di un'implementazione in Oracle Integration. Questa implementazione può essere esposta nel gateway API OCI, seguendo quindi gli stessi processi eseguiti in Oracle API Gateway.

Tuttavia, in Oracle Integration non è necessario implementare diversi passi, alcuni dei quali:

I processi di autenticazione e autorizzazione possono e devono essere implementati nel livello Gateway API OCI. Esistono diversi modi per implementare questa funzionalità, tra gli altri tramite JWT, OAuth2; oltre a consentire la personalizzazione, vedere Passaggio dei token alle funzioni del responsabile autorizzazioni per aggiungere autenticazione e autorizzazione alle distribuzioni API.

L'elaborazione HEADER (così come i parametri QUERY e BODY) può essere eseguita nello stesso gateway API OCI. L'elaborazione può essere effettuata sia in RICHIESTA che in RISPOSTA.

I log possono essere gestiti anche nel gateway API OCI, ma è sempre consigliabile registrare l'intero circuito, ovvero, se sono presenti implementazioni in Oracle Integration, provare a implementare anche i log in tale posizione.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.