ORDA, acronimo di Object Relational Data Access, è un metodo di accesso ai dati che combina i vantaggi della programmazione orientata agli oggetti con quelli dei database relazionali, consentendo agli sviluppatori di concentrarsi sulla soluzione dei problemi aziendali piuttosto che sulla gestione dell’accesso ai dati.
Sia che siate alle prime armi con ORDA, sia che lo conosciate già e vogliate ampliare le vostre conoscenze, considerate questo post del blog come una mappa per guidarvi nel processo di apprendimento.
Questo blog post include quanto segue:
- Vantaggi di ORDA
- Panoramica di ORDA
- Concetto principale
- API ORDA
- Livello di astrazione ORDA
- Lavorare in remoto
- Ottimizzazione delle richieste
- Sistema di permessi
- Condivisione dei dati tra i processi
Senza ulteriori indugi, andiamo al sodo!
Perché dovrei interessarmi a ORDA?
Prima di passare ai dettagli tecnici, elenchiamo alcuni dei vantaggi di ORDA:
Tutto è un oggetto
ORDA è un mondo in cui tutto è un oggetto, compreso il database.
Questo approccio consente di accedere all‘intero database 4D utilizzando un approccio orientato agli oggetti, che facilita il lavoro con i dati e può contribuire a ridurre la complessità del codice. ORDA mappa i dati a concetti del mondo reale, in modo che l’uso dei dati diventi semplice ed elimini la necessità di una comprensione approfondita della struttura relazionale.
Codice orientato al business con le classi
ORDA è dotato di classi dedicate al modello dei dati. Grazie alle classi, la complessità dell’implementazione fisica dei dati può essere nascosta e l’applicazione può esporre facilmente i servizi, essere più gestibile, più facile da mantenere e integrarsi perfettamente con altre applicazioni.
Prestazioni fuori dagli schemi
ORDA può contribuire a migliorare le prestazioni delle applicazioni fornendo diverse tecniche di ottimizzazione, come i contesti e il caricamento pigro. Queste tecniche possono contribuire a ridurre il numero di query al database che devono essere eseguite, con conseguenti tempi di risposta più rapidi per le applicazioni. La parte migliore? È tutto automatico; a differenza di SQL o di uno strumento ORM, non è necessaria alcuna programmazione.
Maggiore scalabilità
ORDA può contribuire a rendere le applicazioni più scalabili grazie al supporto di architetture di database distribuite. Ciò significa che i dati possono essere distribuiti su più server di database, il che può contribuire a migliorare le prestazioni e a gestire quantità di dati più significative.
Aperto ed estensibile
ORDA consente di creare una perfetta integrazione tra sistemi diversi. Può essere combinato con il server REST per esporre la logica aziendale con un’API controllata (attraverso le vostre classi) per altri strumenti, come framework web come Angular o React.
Dopo aver appreso alcuni dei vantaggi di ORDA e di come questa tecnologia possa influire positivamente sulla vostra applicazione, passiamo ai dettagli tecnici.
Panoramica globale di ORDA
Questo schema mostra una panoramica globale dell’utilizzo di ORDA:
- ORDA fornisce API per lavorare con i dati e un robusto livello di astrazione che sarà esposto come API aziendali.
- È disponibile un sistema completo di autorizzazioni per filtrare l’accesso ai dati.
- Con ORDA è possibile lavorare con il server REST utilizzando archivi di dati remoti o API REST.
- È possibile utilizzare ORDA se si lavora in modalità client-server.
- Il codice ORDA può essere utilizzato anche in un’applicazione web (4DACTION, 4D tags).
Questo diagramma dovrebbe fornire una panoramica del modo in cui ORDA si collega alle diverse parti di 4D. Una volta che l’idea è chiara, seguite i passaggi seguenti per iniziare il vostro viaggio di apprendimento.
Che il viaggio di apprendimento abbia inizio!
Fase 1 – Concetti principali
I concetti principali di ORDA possono essere scoperti qui.
Innanzitutto, bisogna familiarizzare con i termini datastore, dataclass, entity e entity selections. Comprendete il significato di questi concetti, poiché li vedrete spesso quando lavorerete con ORDA.
passo 2 – API ORDA
In secondo luogo, si esaminano le API orientate agli oggetti di ORDA e si scopre come è possibile gestire i dati con tali API.
Ad esempio, l’API più utilizzata è query() per eseguire una query sul database.
Per aiutarvi a scoprire ogni API, ecco un elenco di post del blog con applicazioni demo con cui potete giocare.
- Interrogare il database con un approccio orientato agli oggetti
- Andare avanti e indietro tra le selezioni correnti in ORDA
- Azioni CRUD
- Operazioni logiche
- Gestire le entità
- Lavorare con oggetti e collezioni
- Calcolo di statistiche
- Ordinare per formula
- Eseguire query con formule
- Segnaposto denominati per i percorsi degli attributi
- Segnaposto denominati
- Selezione delle entità: metodi extract() e refresh()
- Metodi membri per ottenere informazioni sulla struttura
- Confronto tra due selezioni di entità
- Meccanismi di blocco ottimistici
- Bloccare le entità
- Scrivere codice generico
- Esempio di codice generico
- Scheda informativa ORDA
scoprire il potere delle relazioni con orda
Come abbiamo detto in precedenza, ORDA è un metodo di accesso ai dati che combina la programmazione orientata agli oggetti con i vantaggi dei database relazionali.
Se volete approfondire e scoprire tutti i vantaggi che potete trarre dalle relazioni utilizzando ORDA, ecco una serie di dimostrazioni in cui imparerete a risparmiare molte righe di codice e a costruire un’interfaccia user-friendly.
Collegamento con il codice 4D classico
Se utilizzate ancora il codice 4D classico (che tutti conosciamo e amiamo), potete mescolarlo con il codice ORDA, se necessario.
Questo è utile per introdurre progressivamente i concetti di ORDA nella vostra applicazione.
Per maggiori dettagli, consultate questo post del blog.
Fase 3 – Strato di astrazione ORDA.
Per andare avanti con ORDA, si può sfruttare il livello di astrazione.
In questo livello, si implementa tutta la logica aziendale attraverso le classi del modello di dati ORDA.
La gestione delle classi rappresenta un passo avanti nella programmazione orientata agli oggetti. Ogni classe può accogliere la logica aziendale in funzioni.
Scoprite i vantaggi degli attributi calcolati e degli alias. È facile impostare un attributo calcolato definendo la sua formula di calcolo e tutta la sua logica di business. Oppure definire un alias come qualsiasi altro attributo del modello di dati.
Pertanto, gli sviluppatori consumeranno questo livello di astrazione invece di gestire il livello di implementazione fisica.
passo 4 – Lavorare in remoto
Ora è il momento della parte divertente 🙂
client-server
È possibile utilizzare ORDA in modalità client-server. Utilizzate il comando ds per ottenere l’oggetto datastore e iniziare a lavorare con i dati.
Ecco ulteriori dettagli sulle caratteristiche specifiche per lavorare in C/S.
datastore remoto
Se si lavora in Client Server, si è limitati al database corrente, che richiede una connessione di rete permanente.
Grazie al datastore remoto, un’applicazione può ottenere dati da un altro database 4D remoto esposto su un server 4D!
Questa funzione copre molti casi d’uso:
- organizzare le applicazioni per lavorare offline e sincronizzare i dati locali solo quando i dati remoti sono raggiungibili
- pubblicare i dati su più server e passare da uno all’altro quando necessario
- suddividere il modello di dati in diversi database( ad esempio, dati locali e dati internazionali). In questo modo è possibile avere i dati distribuiti in luoghi diversi e comunque accessibili attraverso un unico codice client 4D (metodi di progetto e oggetti modulo).
Leggete questi post del blog per saperne di più:
API REST
Le API del server REST si basano sui concetti di ORDA.
Ecco alcuni preziosi post del blog per imparare a usare le API REST.
fase 5 – ottimizzazione delle richieste
Quando lavorate in remoto con ORDA, sappiate che le richieste vengono ottimizzate automaticamente per chiedere al server solo gli attributi necessari. Inoltre, è possibile personalizzare le proprie regole di ottimizzazione per migliorare le prestazioni.
Per saperne di più passo dopo passo, ecco un elenco di post del blog.
- Utilizzare ORDA per aumentare le prestazioni
- Controllo completo sulle richieste REST
- Ottimizzazione delle richieste e dimostrazione
- Registrazione delle richieste
Ed ecco una dimostrazione video dal vivo realizzata durante il Summit 2020
passo 6 – Sistema di permessi per filtrare l’accesso ai dati
Filtrare l’accesso ai dati è una funzione indispensabile per impedire l’accesso di malintenzionati alla vostra applicazione.
Dalla v19R8, potete usufruire di un sistema potente e completamente personalizzabile per proteggere i vostri dati da utenti non autorizzati. Si tratta di un sistema per proteggere i dati a seconda di chi vi accede e di quali dati vi accedono.
Copre tutti i processi web, come le richieste REST, le richieste ricevute su un datastore remoto e i processi web come 4DACTION o 4D tag.
Leggete questo post del blog per saperne di più.
Per concludere
Ricordate che ORDA è uno strumento potente che può rendere il vostro processo di sviluppo e l’accesso ai dati più veloce ed efficiente.
Ci auguriamo che questo post vi sia stato utile. Non esitate a porre domande sul forum.
Saremo felici di aiutarvi con ORDA!