Architettura
L'architettura del CMS è di tipo monolitico, mentre quella che implementa i servizi digitali è organizzata a microservizi, sebbene l'originale monolite in symfony abbia ancora rilevanti responsabilità
Last updated
L'architettura del CMS è di tipo monolitico, mentre quella che implementa i servizi digitali è organizzata a microservizi, sebbene l'originale monolite in symfony abbia ancora rilevanti responsabilità
Last updated
Documentazione Opencity Italia
In questo e nei diagrammi che seguono è stato seguito il Modello C4 per la rappresentazione dei diagrammi architetturali.
L'architettura del CMS è una classica architettura monolitica con un core in PHP e una persistenza principale (PostgreSQL) a cui si affiancano un motore di ricerca (Solr) e un layer di cache http (Varnish)
L'architettura ha subito varie trasformazioni nel tempo e non può dirsi ancora definitiva, ma alcune caratteristiche sono ormai consolidate:
la decomposizione in microservizi con storage indipendenti e API ReST
il sistema di scambio di messaggi basato su Kafka per rendere asincrone le interazioni tra i microservizi
Questa parte del sistema ha la maggior parte delle responsabilità relative alle pratiche al sistema di appuntamenti. E' costitutito da un core in symfony e da alcuni servizi al contorno che svolgono funzioni specifiche.
Kafka API, è una istanza del server open-source Vector fornisce una interfaccia HTTP per Kafka
Gotenberg è un tool opensource che la piattaforma utilizza per la creazione dei PDF
Form Server è la nostra implementazione del server open-source Form.io, di cui usiamo nel core le librerie Javascript per il rendering delle form.
Form Builder è una Single-Page-App in angular che include la libreria di Form.io per la creazione delle form. E' un servizio dedicato agli amministratori della piattaforma per la gestione di una libreria di componenti condivisi e riusabili dagli Enti nella creazione dei loro moduli: anagrafiche, definizione di immobili, autoveicoli etc...
TBD
TBD