PDA

View Full Version : Unica applicazione, più server che si collegano


bouncey2k
29-11-2013, 22:12
Salve a tutti, non so proprio in quale categoria scrivere, ed ho optato per PHP

Ho un applicazione fatta in PHP/HTML/JS + MySQL residente su www.miosito.it

Questa applicazione dovrebbero utilizzarla più aziende, ognuna con il loro sito per l'applicazione:
- azienda 1 - miosito1.it = applicazione + db mysql personale
- azienda 2 - miosito2.it = applicazione + db mysql personale
- azienda 3 - miosito3.it = applicazione + db mysql personale
etc...

In questo caso dovrei copiare il contenuto dell'applicazione su ogni sito e qualora debba fare una modifica (es: per risolvere un bug) dovrei caricare i file ogni volta su tutti i server.

Esiste un modo/tecnica per avere l'applicazione su solo server e collegarla a DB diversi per far accedere le aziende dai propri siti web?

(Non posso creare un'unica schermata di login per tutte le aziende, poiché ogni azienda vuole il suo sito con il suo dominio, quindi creare un menu a tendina delle aziende nella pagina di login non è fattibile).

Spero di essere stato chiaro.

Braccop
29-11-2013, 22:54
si, puo' essere fatto in vari modi, non c'e' una "tecnica" o un modo specifico.

ma se il problema e' solo il fastidio di dover effettuare il rilascio su N server/host beh, non so se il gioco vale la candela

airon
29-11-2013, 23:13
Tutto dipende da come hai strutturato la tua app perchè questi concetti prendono il nome di app multi-site.

In sintesi:
Un unico server (il tuo), dove risiedono i file (alcuni comuni, altri possono anche essere specifici per "cliente").
Ogni dominio/azienda/cliente lavorerà sul proprio DB.
Il dominio dell'azienda dovrà puntare al tuo server con i vhost configurati a dovere.

In soldoni:
Lato pura programamzione si tratta di imbastire un sistema di routing basato sul dominio. Tutti i principali framework PHP ti permettono di farlo, farselo da soli, beh rinunciaci, non è banale e nemmeno conviene.

bouncey2k
29-11-2013, 23:29
si, puo' essere fatto in vari modi, non c'e' una "tecnica" o un modo specifico.
Ad esempio?

Esistono applicazioni usate da n-mila aziende al mondo e nessuna si scandalizza se hanno la stessa finestra di login.

In teoria hanno vita propria le applicazioni, ma queste sono tutte uguali. Ad ogni modo avevo già teorizzato questa idea, ma come ho già specificato ho trovato diversi contrasti e non posso permettermi di perdere clienti. Quindi se non esiste un modo sono costretto a caricare l'applicazione su server diversi ogni volta.

Come dici te, avere un menu a tendina con l'elenco delle aziende e a seconda delle aziende collegare il relativo DB, sarebbe la cosa migliore... ma non posso farlo:muro: Le aziende vogliono la pagina di login con utente e password e stop: non vogliono vedere scritte inerenti altre aziende (menu a tendina).

bouncey2k
30-11-2013, 00:06
Tutto dipende da come hai strutturato la tua app perchè questi concetti prendono il nome di app multi-site.

In sintesi:
Un unico server (il tuo), dove risiedono i file (alcuni comuni, altri possono anche essere specifici per "cliente").
Ogni dominio/azienda/cliente lavorerà sul proprio DB.
Il dominio dell'azienda dovrà puntare al tuo server con i vhost configurati a dovere.

In soldoni:
Lato pura programamzione si tratta di imbastire un sistema di routing basato sul dominio. Tutti i principali framework PHP ti permettono di farlo, farselo da soli, beh rinunciaci, non è banale e nemmeno conviene.

Grazie per la risposta.
L'unica cosa diversa per ogni azienda è il DB.
Mi puoi spiegare un po' più nel dettaglio?

dierre
01-12-2013, 20:10
Grazie per la risposta.
L'unica cosa diversa per ogni azienda è il DB.
Mi puoi spiegare un po' più nel dettaglio?

http://en.wikipedia.org/wiki/Multitenancy is what you are looking for...