Per Iniziare
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Inizia ora
Diventa Partner certificato e scopri tutti i benefici del Partner Program.
Scopri il nostro programma
Il database è uno dei componenti chiave di ogni applicazione. Le moderne applicazioni cloud devono gestire un ingente traffico e hanno bisogno di database ad alte prestazioni per gestire grandi quantità di dati in un tempo ragionevole. In questo scenario sono emersi database come MongoDB che offrono una vasta gamma di soluzioni, praticamente per ogni settore e caso d’uso.
I dati archiviati sul database spesso devono essere condivisi con diversi servizi e applicazioni. Questa condivisione è generalmente in carico a un servizio dedicato che legge i dati dal database e li espone in diversi modi, ad esempio via API. Questo tipo di servizio è generalmente chiamato CRUD service, e verrà spiegato nel dettaglio più avanti.
In Mia‑Platform ci siamo affidati a MongoDB da diversi anni, perciò abbiamo creato un CRUD Service appositamente studiato per comunicare con MongoDB. Il nostro CRUD Service per MongoDB è stato ben recepito dai nostri clienti, e nel corso del tempo abbiamo continuato a migliorarlo. Adesso, dopo diversi anni di funzionamento in ambienti di produzione in vari settori, abbiamo deciso di rilasciarlo in open‑source in modo che chiunque possa beneficiarne.
In questo articolo forniremo una spiegazione generale di cosa sono i CRUD services, elencheremo le principali funzionalità e i vantaggi del CRUD Service sviluppato da Mia‑Platform, e illustreremo perché la partnership con MongoDB è stata fondamentale per questo progetto.
La sinergia tra Mia‑Platform e MongoDB consente agli utenti di creare rapidamente moderne applicazioni cloud‑native, garantendo al contempo la migliore esperienza possibile. Entrambi sono costruiti da sviluppatori per sviluppatori. Mentre Mia‑Platform Console fornisce tutti gli strumenti necessari per progettare, sviluppare e rilasciare la tua applicazione, MongoDB si occupa dei dati e della loro gestione.
MongoDB offre un database ad alte prestazioni che ci ha permesso di costruire uno strumento utilissimo e potente come Mia‑Platform Fast Data. Per questo siamo soliti consigliare caldamente MongoDB ai nostri clienti: la sua affidabilità e velocità aiuta le aziende di qualunque settore a scalare ed evolversi velocemente.
Come anticipato, un CRUD service espone i dati di un database, solitamente via API. L’acronimo CRUD è formato dalle parole Create, Read, Update e Delete, che sono le azioni che possono essere eseguite sulle risorse usando, ad esempio, i rispettivi metodi HTTP (POST
, GET
, PUT
, DELETE
). Grazie a un CRUD Service altri servizi all’interno dell’organizzazione possono accedere a uno specifico database senza doverne conoscere le specifiche.
Senza un CRUD service tutti i servizi che avrebbero bisogno di accedere ai dati dovrebbero essere configurati con tutti i dettagli richiesti per connettersi al database (come ad esempio l’URL, la chiave ID, ecc). Questo può introdurre della complessità aggiuntiva, in quanto alcuni servizi potrebbero dover accedere soltanto a un sottoinsieme dei dati e dovrebbero essere configurati di conseguenza. Inoltre, nel caso in cui si decidesse di cambiare il database (ad esempio passando da un’istanza on‑premise di MongoDB a MongoDB Atlas) bisognerebbe aggiornare le informazioni su ogni singolo servizio.
Tramite un CRUD Service il database è disaccoppiato in modo efficace dai servizi e dalle applicazioni. Invece di avere complesse istruzioni per interagire direttamente con il database, i servizi devono soltanto eseguire una semplice chiamata HTTP al CRUD Service, che inoltrerà la richiesta al database e fornirà una risposta. Questo permette anche di utilizzare strumenti come Rönd, che consente di eseguire controlli di sicurezza e di definire le query prima che la richiesta arrivi al CRUD Service. Rönd è un progetto open‑source rilasciato e mantenuto da Mia‑Platform e distribuisce l’applicazione di policy di sicurezza sulle API. Inoltre, permette di filtrare i dati o le proprietà delle risposte: in questo modo è possibile personalizzare facilmente il sottoinsieme di dati a cui ciascun servizio può accedere, semplicemente assegnando ogni servizio a un particolare ruolo o gruppo.
Per ragioni di sicurezza, per esporre dati all’esterno dell’organizzazione è raccomandato l’utilizzo di un API Gateway. Qui sotto forniamo una rappresentazione grafica di un CRUD Service all’interno di un’architettura di esempio.
Adesso che è più chiaro cosa sono i CRUD service, possiamo spiegare meglio le funzionalità particolari del nostro servizio.
Il nostro CRUD Service è progettato appositamente per interagire con MongoDB ed è scritto in JavaScript e TypeScript. Lo scopo è astrarre le collection (cioè un insieme di documenti) di MongoDB e di esporle tramite API RESTful in modo semplice, scalabile e sicuro. Data la sua grande flessibilità il CRUD Service può essere implementato in ogni genere di prodotto.
Il CRUD Service garantisce diversi benefici e vantaggi, ed è una delle ragioni principali per la quale abbiamo deciso di rilasciarlo open‑source. Elenchiamo qui sotto alcune delle sue principali funzionalità:
Se tutto questo ti ha incuriosito, non vediamo l’ora di saperlo! Il nostro CRUD Service è la migliore soluzione che puoi trovare per lavorare con MongoDB, e ora che è open-source puoi provarlo tu stesso.
Dai un’occhiata alla repository GitHub: la documentazione è invece disponibile a questo link. Inoltre, invitiamo caldamente a contribuire attivamente al progetto e a partecipare nella community. Ecco una breve lista di cose che puoi fare per contribuire:
Da questo momento il CRUD Service si aggiunge agli altri progetti open-source mantenuti e supportati da Mia‑Platform. Per scoprire di più a riguardo, dai un’occhiata a questa pagina.