Condivisione Database Server/Client

di il
3 risposte

Condivisione Database Server/Client

Sto cercando una soluzione ottimale che mi permetta di far comunicare una Client-Application e un sito web a un database.

Purtoppo su internet ho trovato poca roba e spiegata in maniera molto complicata. Da solo sono arrivato a questa conclusione:




Per fare in modo che i dati disponibili nel database siano disponibili sia per una client-application che dal web tramite una interfaccia grafica, esistono diverse soluzioni, ognuna con dei vantaggi e degli svantaggi.

DATABASE SUL SERVER
----------------------------------------------
In tal caso il database risiederà nella rete internet (con adeguate procedure di protezione).
.: Vantaggi:.
Database unico che non necessita di sincronizzazione dati tra client e server
.: Svantaggi :.
In caso di assenza della rete internet non è possibile utilizzare la client-application
Rallentamento nella lettura/scrittura dei dati

2 DATABASES SINCRONIZZATI oGNI 30 MINUTI (tempo gestibile)
----------------------------------------------
.: Vantaggi :.
Anche in mancanza di rete si può continuare a leggere/scrivere dati nel database
Velocità di lettura/scrittura dati adeguata
.: Svantaggi :.
Possono avvenire dei problemi al momento della sincronizzazione dei dati.
(ad esempio nel caso dell'e-commerce se si hanno a disposizione 10 oggetti e questi vengono venduti tramite
la web-application del client, i dati nella rete riguardanti quella vendita non vengono variati prima della
sincronizzazione, quindi rimangono ancora disponibili i 10 oggetti anche se in realtà non lo sono più).

CLIENT APPLICATION SUL SERVER
----------------------------------------------
.: Vantaggi :.
Anche in mancanza di rete si può continuare a leggere/scrivere dati nel database dalla web-application
.: Svantaggi :.
In caso in cui il computer viene spento o si blocchi o manchi la rete non sarà possibile utilizzare
i dati nel database da internet
In caso in cui ci sia una notevole mole di dati in lettura da internet il pc viene rallentato

Ora io vorrei sapere:
1) è giusto quello che ho scritto?
2) qual'è la migliore soluzione e quale usano la maggior parte di programmi client/server?

3 Risposte

  • Re: Condivisione Database Server/Client

    Non si può fare quello che scrivi, almeno credo!!

    Linux è il Migliore!!!
  • Re: Condivisione Database Server/Client

    Come sarebbe a dire "è impossibile"... ma dai!!! ne esistono a migliaia di programmi di questo genere... cerco qualcuno che ne capasca qualcosa sul serio per un cosiglio...
  • Re: Condivisione Database Server/Client

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Non si può fare quello che scrivi, almeno credo!!
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    Micvallerini ma cambia mestiere che è meglio o al massimo non postare se non sei sicuro. Perchè poi c'è il rischio che una persona alle prime armi come te, legge la tua risposta e se la beve così com'è. Poi dicono che le informazioni su internet non dovrebbero essere controllate.

    Comunque tornando alla questione del topic:

    farulla praticamente hai trovato le possibili soluzioni: bravo. Quello che hai scritto è giusto (parlo almeno delle prime 2, la 3 non tanto l'ho capita sinceramente).

    Hai mai sentito parlare di Database Distribuiti (DB Clustering) questa è una possibile soluzione. Un'altra soluzione potrebbe essere utilizzare una soluzione di tipo SOA (Service Oriented Applicazion). Te lo dico così come spunto di riflessione.

    Sia le soluzioni 1 e 2 sono valide ma dipende da cosa ci vuoi fare: i vantaggi e gli svantaggi gli hai scritti tu quindi valuta tu stesso.

    Secondo il mio parere avere un database condiviso è sempre meglio se hai a che fare con applicazioni transazionali tipo una di e-commerce.. Se invece non hai questo tipo di esigenza vai con la sincronizzazione (soluzione 2).

    Ma di soluzioni ce ne sono veramente tante: in questo caso dipende anche dalla infrastruttura che hai a dispozione.

    Ad esempio potresti pensare di far diventare l'elaboratore dove gira l'applicazione client un web server (quindi web server in casa e mi raccomando ai firewall) per poter esporre la parte web al pubblico. In questo modo hai:
    1- il database condiviso (per di più in casa)
    2- puoi usare il software client anche off-line
    3- non hai problemi di sincronizzazione
    4- la cosa più grave che ti può succedere è che la linea manca e il tuo sito web diventa irrangiungibile.

    Bhè questo è un primo scenario semplice, ma potresti creare addirittura una rete interna con 3 elaboratori (per sicurezza).

    1- server con db
    2- pc con applicazione client che si connette a 1
    3- server con applicaizone web esposta al pubblico che si connette anch'essa a 1.

    Con questa soluzione hai i dati del DB protetti, perchè l'unica cosa esposta è pc con la web application.

    Spero di essere stato chiaro.

    Fammi sapere




    EJB or not EJB! This is my question

    Modificato da: karma81 il 09/09/2006 alle 16:30:29

    Modificato da: karma81 il 09/09/2006 alle 16:40:52
Devi accedere o registrarti per scrivere nel forum
3 risposte