Modalità Multi-Tenant
GovWay supporta nativamente il multi-tenant grazie al quale è possibile gestire più domini. Una API che deve essere erogata su più domini viene registrata solamente una volta e può poi essere implementata da tutti i soggetti dei vari domini gestiti. Un applicativo client, per indirizzare una specifica API di un dominio, deve semplicemente indicare il nome del soggetto nella url di invocazione. Una rappresentazione di uno scenario multi-tenant è mostrata nella Fig. 960.
Di seguito vengono descritti i passi necessari a gestire più domini (multi-tenant) su GovWay al fine di erogare l’API già registrata nell’esempio descritto nella sezione Erogazione API REST all’interno di un ulteriore dominio gestito dal soggetto Ente2.
Abilitazione Multi-Tenant
GovWay viene installato per default con la funzionalità multi-tenant disabilitata e quindi l’unico dominio gestito è quello del soggetto fornito in fase di installazione. Per abilitare il multi-tenant accedere alla sezione “Configurazione” e selezionare la voce “Generale”. Nella maschera visualizzata selezionare il valore “abilitato” nella sezione “Multi-Tenant”.
Registrazione nuovo Soggetto
Accedere alla sezione “Soggetti” e selezionare il pulsante “Aggiungi”. Fornire i seguenti dati:
Dominio: selezionare la voce “Interno”.
Nome: indicare il nome del Soggetto che rappresenta il nuovo dominio in gestione, ad esempio “Ente2”.
Descrizione: opzionalmente è possibile fornire una descrizione generica del soggetto.
Selezione del Dominio da gestire
Sia nella console di gestione (govwayConsole) che nella console di monitoraggio (govwayMonitor), una volta abilitato il Multi-Tenant, prima di procedere con qualsiasi operazione deve essere selezionato il soggetto per cui si intende gestire il dominio attraverso l’apposito menù situato in alto a destra nell’intestazione delle console.
Registrazione Erogazione
Procedere con la registrazione della API “PetStore v2” così come già descritto nella sezione Erogazione API REST. Accedere alla sezione “Erogazioni” e selezionare il pulsante “Aggiungi”. Fornire i seguenti dati:
Nome: selezionare l’API precedentemente registrata “PetStore v2”.
Controllo degli Accessi - Accesso API: per esporre l’API in modo che sia invocabile da qualunque client in forma anonima selezionare lo stato “pubblico”.
Connettore - Endpoint: indicare la base uri dove viene erogata l’API nel dominio interno. Per il nostro esempio utilizzare sempre la url:
https://petstore.swagger.io/v2
Effettuato il salvataggio, l’API erogata sarà consultabile all’interno dell’elenco delle erogazioni. Accedendo al dettaglio si potrà conoscere l”url di invocazione che deve essere comunicata ai client che desiderano invocare l’API.
Nota
Nome del Soggetto presente nella url di invocazione
Come si può vedere dalla Fig. 964 il soggetto Ente2 compare nella url indicata.
Invocazione API tramite GovWay
Al termine di questi passi di configurazione il servizio REST sarà raggiungibile dai client utilizzando l’url di invocazione:
http://host:port/govway/Ente2/PetStore/v1/<uri-risorsa>
curl -v -X PUT "http://127.0.0.1:8080/govway/Ente2/PetStore/v1/pet" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "id": 3, "category": { "id": 22, "name": "dog" }, "name": "doggie", "photoUrls": [ "http://image/dog.jpg" ], "tags": [ { "id": 23, "name": "white" } ], "status": "available" }'
Consultazione Tracce
La consultazione delle tracce per ogni dominio gestito è identica a quanto descritto nella sezione Erogazione API REST, previa selezione del soggetto in gestione tramite il menù situato in alto a destra.