Qualche mese fa abbiamo annunciato che Qodly Studio è ora disponibilesu per tutti i nostri partner Silver (e superiori).
Qodly Studio per 4D è completamente integrato in 4D, consentendo a 4D Server di ospitare la vostra applicazione sia con pagine desktop che web.
Qodly Studio è accessibile anche su Qodly, come parte della nuova offerta SaaS di 4D. Questa innovativa soluzione ibrida low-code è progettata specificamente per le applicazioni aziendali basate su browser web.
Anche se avete già costruito applicazioni utilizzando la piattaforma Qodly, abbiamo altre buone notizie! Con 4D 20R5 potete ora utilizzare l’API REST di un’applicazione Qodly per lavorare senza problemi con i vostri dati.
Continuate a leggere per saperne di più.
principi fondamentali
il sistema di ruoli e privilegi
Questa funzione si basa su un meccanismo di chiavi API legato al sistema di ruoli e privilegi fornito in 4D 19 R8. Si tratta di un sistema potente e completamente personalizzabile per proteggere i dati da utenti non autorizzati. L’accesso ai dati viene concesso in base a chi vi accede e a quali dati vi accede. Ciò avviene tramite l’impostazione diruoli.
Prima di iniziare, è necessario acquisire alcune conoscenze di base su questa funzione.
gestire le chiavi API nella dashboard di qodly
Nella dashboard di Qodly viene fornito un URL endpoint per l’accesso REST.
È anche possibile generare una chiave API e associarla a un ruolo. Questa chiave API fornisce l’accesso REST ai dati esposti nell’applicazione Qodly e consente di eseguire tutte le azioni consentite per il ruolo associato.
Consultate anche la documentazione di Qodly per conoscere le altre funzionalità relative alle chiavi API (impostare una data di scadenza, autorizzare alcuni IP client, … ecc).
Utilizzare l’API REST di un’applicazione Qodly
È possibile puntare all’API REST della propria applicazione Qodly da:
- un’applicazione 4D Server (utilizzando il comando Open datastore o la classe HTTPRequest )
- qualsiasi applicazione di terze parti che supporti le richieste REST
scenario
Consideriamo un’applicazione Qodly che gestisce i prodotti, esponendo una classe di dati del prodotto. Un’applicazione 4D Server(Factory) deve utilizzare l’API REST per leggere o creare i prodotti. L’applicazione Qodly Products è protetta da accessi non autorizzati attraverso il sistema di ruoli e privilegi.
preparare l’accesso all’API REST
Per prima cosa, impostare i ruoli che sono autorizzati a eseguire azioni specifiche su dati definiti utilizzando l’interfaccia Ruoli e privilegi di Qodly Studio.
La lettura della classe di dati del prodotto è consentita al ruolo Employee grazie al livello di privilegio‘semplice‘ che possiede.
Per consentire a un’applicazione client di utilizzare l’API REST dell’applicazione Qodly Products, abbiamo generato sulla dashboard Qodly Products una chiave API associata al ruolo Employee:
utilizzare l’API REST dell’app Qodly Products in un’applicazione 4D Server con il comando open datastore
Nell’applicazione client 4D Server(Factory), è necessario visualizzare l’elenco dei prodotti.
Ecco il codice 4D:
Form.products:=ds.getProducts("Employee")
Ed ecco la classe DataStore:
Class extends DataStoreImplementation
exposed Function getProductsDatastore($apiKey : Text; $id : Text) : 4D.DataStoreImplementation
//End point URL given on the Qodly dashboard
var $connect : Object:={hostname: "https://xxx-yyyyyyyy-zzzz-xxxx-yyyy-zzzzzzzzzzzz.xx-yyy.acme.com"; tls: True}
var $theRemoteDS : 4D.DataStoreImplementation
$connect["api-key"]:=$apiKey
$theRemoteDS:=Open datastore($connect; $id)
return $theRemoteDS
exposed Function getProducts($role : Text) : 4D.EntitySelection
var $apiKey : Text
var $theRemoteDS : 4D.DataStoreImplementation
$apiKey:="82c0abfe-0628-4446-b890-9add5509335c"
$theRemoteDS:=This.getProductsDatastore($apiKey; $role)
return $theRemoteDS.product.all()
Nella funzione getProducts(), utilizziamo la chiave API corrispondente al ruolo Employee.
Grazie alla funzione getProductsDatastore(), otteniamo l’oggetto datastore corrispondente all’applicazione Products Qodly. Su questa istanza di Products viene aperta una sessione. Essa contiene i privilegi del ruolo Employee.
In questo modo, con questo oggetto datastore, possiamo eseguire tutte le azioni consentite per il ruolo Employee.
Nota:
– la chiave API deve essere indicata una sola volta (come proprietà “api-key” nell’oggetto connect) quando si chiama il comando Open datastore
– l’URL dell’endpoint indicato nella dashboard Qodly dell’istanza Products viene utilizzato come hostname.
– Per una rapida comprensione, abbiamo utilizzato la chiave API come valore codificato nel codice. Per motivi di sicurezza, dovrebbe trovarsi in un file protetto dall’esterno (non sincronizzato su GitHub, per esempio).
Ecco il risultato dell’applicazione 4D Server:
utilizzare l’API di riposo dell’applicazione qodly prodotti Da qualsiasi applicazione che utilizza richieste REST
L’esempio seguente mostra come utilizzare Postman per eseguire richieste REST mirate all’API REST di un’applicazione Qodly. L’HDI allegato mostra anche come eseguire tali richieste utilizzando la classe HTTPRequest, JavaScript o altre tecnologie.
Si noti che la chiave API deve essere passata nell’intestazione “api-key” per ogni richiesta REST.
Gli esempi sopra riportati presentano alcuni dati in lettura, ma è anche possibile creare, aggiornare o cancellare dati utilizzando l’API REST.
Per saperne di più
Guardate il video allegato per un esempio completo, dalla creazione di una demo sandbox su Qodly all’utilizzo dell’API REST.
Visitate il sito web di Qodly per saperne di più e rimanere aggiornati sulle nuove funzionalità!