consiglio architettura applicazione distribuita
braidiano non è online. Ultima attività: 31/08/2007 16.42.48braidiano
Inserito il: 29 agosto 2007 12.21
5 messaggi dal 02 mar 2006
Ciao a tutti,

dovrei realizzare un'applicazione distribuita, di gestione aziendale (magazzino, contabilità, fatturazione, vendita a banco etc..)
Il cliente ha una sede centrale e varie filiali ove si effettua la vendita, l'emissione delle fatture, etc. Dalla sede centrale vengono amministrate alcune tabelle, quali articoli, categorie articoli, causali di magazzino e tutte le tabelle che devono essere uguali per tutte le filiali.
Oltre a questo, ogni filiale dovrebbe essere in grado di sincronizzare con database della sede centrale alcuni record, quali per esempio le transazioni di vendita e i carichi/scarichi di magazzino.
Una caratteristica fondamentale del software è che deve essere asincrono e poter lavorare anche in assenza di connettività dalla filiale verso la sede centrale.

veniamo alla domanda

che architettura mi consigliate?
io ho pensato ad un database server per ogni filiale, ed uno nella sede centrale.
ma come gestire la sincronia delle tabelle che devono essere uguali dalla sede centrale verso le filiali e come comunicare in sede le transazioni di vendita?

Replica di Sql Server? Webservices? chiedo un consiglio a voi!

Grazie anticipatamente
Saluti!
Re: consiglio architettura applicazione distribuita
laurar81 non è online. Ultima attività: 08/04/2008 10.00.26laurar81
Inserito il: 29 agosto 2007 13.21
188 messaggi dal 13 dic 2005
Una applicazione WEB???

Il server WEB ed il data base sono nella sede principale e le filiali si connettono tramite pagine web....non so se c'è un motivo per il quale non hai optato a questa soluzione!
Re: consiglio architettura applicazione distribuita
m.casati non è online. Ultima attività: 12/05/2008 9.04.50m.casati
Inserito il: 29 agosto 2007 14.15
contributi / Top Poster / Community manager / www.guru4.net / Blog / 2119 messaggi dal 13 giu 2001
laurar81 ha scritto:
Una applicazione WEB???
non so se c'è un motivo per il quale non hai optato a questa soluzione!


Probabilmente perché dice esplicitamente che:

Una caratteristica fondamentale del software è che deve essere asincrono e poter lavorare anche in assenza di connettività dalla filiale verso la sede centrale.


Data questa premessa bisogna escludere l'applicazione web, i web services e qualunque cosa preveda un unico database centralizzato.

Puoi pensare a soluzioni in grado di lavorare in doppia modalità: connessa (agendo direttamente sul db centrale) e disconnessa (se il db centrale non è disponibile viene usato un db locale che poi verrà sincronizzato appena ripristinata la connettività).
Non è comunque una soluzione semplice da realizzare, specie se:
- vuoi avere i dati nel db centrale il più "freschi" possibile
- prevedi consistenti attività in modalità disconnessa
- in modalità disconnessa ti servono i dati aggiornati dal db centrale
- prevedi molte attività concorrenziali (ad esempio 2 utenti che modifichino lo stesso dato; una volta passi che notifichi "il dato è stato variato da un altro utente" ma non puoi innescare una corsa a "il primo che salva vince" )

Per l'ipotesi di replica di sql server... non sono abbastanza dba per rispondere

Matteo Casati
GURU4.net | iFX+
Re: consiglio architettura applicazione distribuita
braidiano non è online. Ultima attività: 31/08/2007 16.42.48braidiano
Inserito il: 29 agosto 2007 15.11
5 messaggi dal 02 mar 2006
grazie laurar81, ma un'applicazione web non va bene proprio perchè si deve poter lavorare in modalità disconnessa.

Per quanto riguarda il database centralizzato purtroppo non va bene neanche, perchè le filiali devono lavorare su un database in rete locale, per poi sincronizzare solo certi dati (es. le giacenze di magazzino) in modalità asincrona (per motivi di prestazioni. Ogni filiale ha almeno una decina di punti cassa, far lavorare tutti realtime richiederebbe troppa banda verso la sede centrale, ed in caso di assenza di connettività, l'intera filiale sarebbe impossibilitata a lavorare..)

Per questi motivi ho pensato che in ogni filiale ci debba essere un database server locale, sul quale lavorano i punti cassa di quella filiale. Ogni x tempo (non so, magari ad intervalli di 1 ora) un servizio si occupa di sincronizzare i dati (es. giancenze di magazzino) verso il database della sede principale.

Modificato da braidiano il 29 agosto 2007 15.16 -
Re: consiglio architettura applicazione distribuita
laurar81 non è online. Ultima attività: 08/04/2008 10.00.26laurar81
Inserito il: 29 agosto 2007 17.13
188 messaggi dal 13 dic 2005
Ma ogni filiale ha un magazzino/deposito proprio...mi spego meglio:
ogni filiale poò movimentare le giacenze presenti nel proprio magazzino o anche quelle delle altre filiali???
Re: consiglio architettura applicazione distribuita
braidiano non è online. Ultima attività: 31/08/2007 16.42.48braidiano
Inserito il: 29 agosto 2007 19.10
5 messaggi dal 02 mar 2006
si ogni filiale ha un magazzino proprio. E' possibile che vengano movimentati dei gli articoli tra una filiale ed un 'altra, ma con documento di trasporto, quindi come se fosse una movimentazione con un qualsiasi altro soggetto esterno.
Re: consiglio architettura applicazione distribuita
laurar81 non è online. Ultima attività: 08/04/2008 10.00.26laurar81
Inserito il: 30 agosto 2007 10.19
188 messaggi dal 13 dic 2005
Tralasciando il problema tecnico dovrasti fare molta attenzione a quello logistico: per il magazzino non dovrasti avere problemi ma ho un dubbio sull'emissione delle fatture in quanto deve rispettare una progressione numerica.

Per l'apsetto tecnico potresti inserire, su ogni tabella, un campo flag importato; scrivere un servizio windows (schedulato o sempre attivo a seconda delle tue esigenze) che legge i dati di tutte le tabelle dove il flag importato è 0 e trasmette i dati alle filiali.

Per un mio cliente che aveva la necessità di trasferire i dati da un sistema ad un altro (ha molte sedi in tutta italia) ho utilizzato questa tecnica e sono molto contenti del risultato ottenuto; il mio servizio trasmette in tempo reale e quando non c'è connessione i dati si accumulano e quando la connessione riprende i dati vengono trasmessi.
Re: consiglio architettura applicazione distribuita
braidiano non è online. Ultima attività: 31/08/2007 16.42.48braidiano
Inserito il: 30 agosto 2007 11.38
5 messaggi dal 02 mar 2006
per l'emissione delle fatture non c'è problema, in quanto ogni filiale ha una propria serie di numerazione. Es. Fattura n.1/FIL1 , fattura n.433/FIL2 .. e così anche per gli altri documenti.

penso un pò sul al servizio.. grazie ed al flag.. mi ferma un pò il fatto delle chivi primarie che potrebbero creare problemi, in quanto, l'articolo con ID=1 nella sede principale, avrà stesso ID in un'altra filiale? .. un'alternativa alla quale ho pensato potrebbe essere quella di generare le PK a mano, in modo che siano uguali in tutti i db per la medesima entità..

a qualcuno viene in mente qualche altra alternativa?


Pagine: [1] 2 Avanti >>
| Torna al forum
Vai a:

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums