JUGPD DAY 2024 #2

Posted by Lucio Benfante Sat, 02 Nov 2024 16:27:00 GMT

Quando: sabato 9 Novembre 2024, dalle 10.00 alle 13.00

Dove: Agriturismo Scacchiera, Via Rovetta, 38 35127 PADOVA (Padova), località San Gregorio (www.agriturismoscacchiera.it)

Programma

  • Assemblea ordinaria 2024 dellassociazione JUG Padova
  • Applicazioni e database multi-tenant con JOOQ e PostgreSQL (Lucio Benfante)
  • PostgreSQL e la sicurezza orizzontale

Per chi vorrà, al termine delle presentazioni sarà possibile continuare la discussione durante il pranzo.

Registrati all’evento

Per permetterci una migliore organizzazione dell’evento registrati al più presto :

https://mobilizon.it/events/82b87de2-1731-486c-abe2-177f4386559f

Note

La partecipazione è, come sempre, libera e gratuita.

Pubblicizza questo evento

Aiutaci a pubblicizzare questo evento:

  • nella tua social network preferita
  • sui forum e mailing list che segui
  • ai tuoi amici e colleghi

Applicazioni e database multi-tenant con Jooq e PostgreSQL (Lucio Benfante)

“Software multitenancy is a software architecture in which a single instance of software runs on a server and serves multiple tenants. Systems designed in such manner are “shared” (rather than “dedicated” or “isolated”). A tenant is a group of users who share a common access with specific privileges to the software instance. With a multitenant architecture, a software application is designed to provide every tenant a dedicated share of the instance—including its data, configuration, user management, tenant individual functionality and non-functional properties. Multitenancy contrasts with multi-instance architectures, where separate software instances operate on behalf of different tenants. (https://en.wikipedia.org/wiki/Multitenancy)”

Come si evince dalla definizione, lo sviluppo di un’applicazioni che ne supporti l’uso da parte di più tenant, comporta scelte architetturali nei vari livelli dell’applicazione, da quello legato alla gestione dei dati, a quello relativo alle funzionalità dell’applicazione stessa, fino alla gestione degli utenti stessi.

Durante questo incontro, esamineremo brevemente le diverse possibili scelte che potremmo adottare per lo sviluppo di un database che supporti un’applicazione con esigenze di multi-tenancy, cercando di valutarne le conseguenze sullo sviluppo e l’operatività dell’applicazione stessa.

Esamineremo poi l’architettura e il codice di un’applicazione multi-tenant che sto sviluppando, in cui è stato scelto PostgreSQL come DBMS e Jooq come libreria di accesso ai dati, considerandone alcune caratteristiche che appunto favoriscono lo sviluppo di tali applicazioni.

PostgreSQL e la sicurezza orizzontale

Postgres ci permette di controllare l’accesso al database, allo schema, alle tabelle e colonne ma, dalla versione 9.5, con le row security policy, anche alle righe di cui è composta una tabella.

Ognuno di noi che si è cimentato in un’applicazione multi-tenant (o multi societaria che dir si voglia) si è trovato davanti al problema di non far “vedere” ad un tenant i dati di un altro tenant.

Postgres, con le row security policy, ci offre una soluzione flessibile ed elegante e al tempo stesso economica da implementare.

Nella sessione andremo a vedere come sfruttare questo strumento.

RELATORI

Lucio Benfante

Dal 1996 lavoro come libero professionista nel campo dello sviluppo software e della formazione professionale.

Quando posso condivido il codice che sviluppo in modalità open-source: potete trovarlo all’interno dei miei repository e organization in GitHub (https://github.com/benfante)

Sono un socio fondatore e attuale presidente del Java User Group (JUG) Padova (www.jugpadova.it).

Nel tempo libero amo cucinare (iononcucino.blogspot.com), praticare la corsa (https://runkeeper.com/user/benfante) e cantare nel Gruppo Vocale Novecento (www.gvnovecento.it).

Andrea Adami

Nei primi anni 80 ho trovato sotto l’albero di natale un Commodore 64 ed è stato amore a prima vista.

Ho imparato a conoscere i sistemi operativi mainframe IBM, quelli di rete e dei personal computer ed anche i sistemi embedded sia per la domotica che per l’automazione industriale.

Ho usato molti linguaggi e strumenti di sviluppo, diversi application manager, database a indici e gerarchici fino ai moderni database relazionali.

La necessità di sfruttare l’hardware e il sistema operativo mi porta a sviluppare il mio lato sistemistico.

Dinamiche personali mi fanno fare un’esperienza di gestione manageriale per poi proseguire creandone una mia e sviluppando la cultura aziendale: economica, amministrativa, fiscale ed infine finanziaria.

Nel corso degli anni ho affiancato la passione per la programmazione con la progettazione di soluzioni e la consulenza direzionale.

Nel 2010 Ho conseguito il brevetto per il volo libero da diporto sportivo con il nulla osta della questura di Verona.

Nel mio tempo libero mi appassiona costruire e far volare aeromodelli.

Posted in ,  | Tags ,  | no comments