Porta Lorenzo – Classe 5FIN A.S. 2025/2026

Progetto "Analisi Chimica"

Descrizione e funzionalità

AnalisiChimica è un'applicazione Client/Server in linguaggio Java che permette di analizzare formule chimiche e calcolare la composizione percentuale in massa di ciascun elemento presente in un composto.

Il server

Il server, ricevuta una formula chimica (es: H2O, H2SO4, CaCl2, ecc...) è in grado di separare i singoli elementi e calcolare la massa molecolare per poi ricavarne la composizione percentuale in massa di ciascun elemento.
L'applicazione conosce tutti i 118 elementi chimici della Tavola Periodica degli Elementi e li organizza in un file di testo in formato CSV.

Il client

L'applicazione comprende anche un client a riga di comando che semplifica l'interazione dell'utente con il servizio attraverso una procedura guidata e una semplice forma di validazione lato client della formula chimica che si desidera analizzare.

La comunicazione tra client e server è protetta tramite il protocollo TLS (v1.3) adottando le cyphersuite raccomandate da AgID per le applicazioni moderne.

Diagramma temporale

Di seguito si riporta il diagramma temporale relativo all'interazione tra client e server basata sulle specifiche di un protocollo di comunicazione definito ad-hoc.
diagramma temporale

Distribuzione

L'applicativo è distribuito nei seguenti formati:

Note sulla distribuzione:

Per il corretto funzionamento degli applicativi è necessario fornire il file di keystore del server e il file di truststore del client (formato .jks).

Scaricando il codice sorgente del progetto troverete i due file già generati, con un certificato autofirmato per il server, nella cartella del progetto.

Scaricando invece la distribuzione in archivio JAR dovrete provvedere a generare il keystore del server e a importare il suo certificato nel truststore del client prima di eseguire l'applicazione.