Salve a tutti! Sto sviluppando, per un esame, un applicativo su ambiente distribuito basato sull'architettura client server e SOAP web service, e ho un po di dubbi su come realizzarlo. Innanzitutto il progetto l'ho strutturato così:
il client (scritto in PHP) si connette al web service utilizzando SOAP, il web service a sua volta si connette al server, in altre parole il web service fa da intermediario tra client e server. Il primo dubbio è quale tipo di connessione posso utilizzare per connettere il server al web service, pensavo a le socket solo che aprire una socket TCP è costoso in termini di prestazioni, anche se efficiente in termini di sicurezza ( a maggior ragione se la socket è di classe SSLSocket) altrimenti pensavo di integrare il web service sul server, come un application server tipo glassfish.
Il secondo dubbio riguarda la connessione tra il server e il database MySQL. Poiché l'ambiente è multithreading pensavo di utilizzare il pattern Singleton, definisco una classe che apre un unica connessione al database condivisa tra i vari thread e ciascun thread mantiene il suo stato di connessione, in modo tale che una volta terminato il lavoro, il thread termina senza chiudere la connessione condivisa. Però non saprei come implementare questa soluzione, anche perché ho realizzato due server. Il server principale accetta connessioni con il client e offre servizi tipo registrare l'utente, chat con gli altri utenti (client) ecc. poi quando un utente desidera acquistare un articolo il server principale trasferisce la connessione con il client al server sicuro (basato su SSLSocket) che si dovrà connettere allo stesso database.