Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Applicazione di esempio: progettazione

Vediamo come progettare e realizzare un'applicazione di esempio su Jelastic, creando web API con Node.js per l'accesso ad un database NoSQL (MongoDB).
Vediamo come progettare e realizzare un'applicazione di esempio su Jelastic, creando web API con Node.js per l'accesso ad un database NoSQL (MongoDB).
Link copiato negli appunti

Per esemplificare i concetti visti sinora in questa guida, realizziamo un'applicazione di esempio. Creeremo un API server che dia accesso ad un database di proverbi regionali italiani.

Ogni proverbio sarà memorizzato nel servizio strutturato su tre campi:

  • proverbio: il testo da memorizzare
  • significato: il significato espresso sinteticamente in italiano
  • regione: la regione di provenienza.

Il formato con cui le API dialogheranno con i client sarà JSON, pertanto un proverbio sarà espresso nella seguente forma:

{
    "proverbio": "'E figlie so' ppiezz' 'e core",
    "significato": "I figli sono pezzi di cuore",
    "regione": "campania"
}

Tratteremo analogamente oggetti multipli in un'unica risposta e queste comporranno un array di oggetti JSON:

[
   {
    "proverbio":"Va in piazza e pija consijo, aritorna a casa e ffa come te pare",
    "significato":"Ascolta i consigli di tutti ma poi fai come preferisci",
    "regione":"lazio"
   },
   {
    "proverbio":"A chi tocca nun se 'ngrugna",
    "significato":"Inutile prendersela se capita una sventura, poteva capitare a un altro",
    "regione":"lazio"
   }
]

Le funzionalità che le API offrono sono indicate nella seguente tabella.

Metodo HTTP Endpoint Descrizione
GET / Offre un messaggio di benvenuto invitando ad utilizzare le API
GET /proverbi Restituisce, in formato JSON, l'elenco completo dei proverbi
nel servizio
GET /proverbi/:regione Restituisce, in formato JSON, l'elenco dei proverbi relativi
ad una regione. Ad esempio, /proverbi/lazio restituisce
l'elenco dei proverbi attribuito alle province del Lazio
POST /proverbi Permette l'inserimento di un nuovo proverbio nel servizio. Un
proverbio va fornito come oggetto JSON nel formato indicato in
precedenza

Strumenti che utilizzeremo

Per lo sviluppo abbiamo scelto di utilizzare una piattaforma basata su Node.js e MongoDB. Node.js mette a disposizione in proprio l'Application Server, e noi realizzeremo le funzionalità in ECMAScript/Javascript. MongoDB si occuperà di memorizzare gli oggetti JSON che gli passeremo e, alla struttura vista in precedenza, aggiungerà di suo un ulteriore campo denominato _id contenente l'identificativo univoco dell'elemento. Per esemplificare, la forma finale del primo proverbio (una volta salvato su database MongoDB) somiglierà alla seguente:

{
    "_id": "5e96de07380bf01d124a862b",
    "proverbio": "'E figlie so' ppiezz' 'e core",
    "significato": "I figli sono pezzi di cuore",
    "regione": "campania"
}

L'architettura sarà costituita da due nodi, ma della loro impostazione se ne occuperà Jelastic stesso. Non dovremo fare altro che creare un nuovo environment, scegliendo Node.js con integrazione di MongoDB come supporto di persistenza.

La struttura del database in MongoDB sarà basata su un'unica collection: chi fosse abituato al paradigma relazionale può immaginare qualcosa di simile ad un'unica tabella, dove ogni record è occupato da un proverbio. Ogni oggetto nella collection sarà un proverbio, e su di questa verranno svolte le varie operazioni di lettura e modifica.

Come si evince dalla tabella precedente, sono previste quattro operazioni: tre di lettura ed una di modifica, ma solo due delle chiamate GET verranno esperite sul database.

Sviluppo e deploy

Per quanto riguarda sviluppo e deploy, tra le varie opportunità offerte da Jelastic, abbiamo scelto di realizzare l'applicazione in locale e seguire la via dell'upload. Pertanto, dovremo "zippare" il codice in un unico archivio e caricato tramite il nostro account. Il modo in cui va predisposto il pacchetto, e quali file includere, dipende dal linguaggio scelto e dell'applicazione. Nel nostro caso sarà sufficiente includere il file package.json e lo script con il codice: al momento dell'esecuzione del deploy, Jelastic preparerà l'ambiente per noi.

Per la sperimentazione dell'app, si potranno scegliere varie opzioni. Considerando che l'applicazione è costituita da due nodi, potremo sperimentare i loro funzionamenti singolarmente, oppure in modo integrato. Approfondiremo questi aspetti a partire dalla prossima lezione.

Ti consigliamo anche