Attualmente sto lavorando per sostituire un gruppo di applicazioni legacy. Il primo si sta avvicinando al rilascio, il che significa che inizierò il secondo.
Ogni applicazione riguarda una parte specifica di un processo di vendita. Acquisizione iniziale da parte dei clienti (con dati di clienti potenzialmente molto piccoli, molti dei quali facoltativamente volutamente), fino all'effettivo processo di quotazione / vendita, e poi a un'applicazione che mostra come riportare i clienti all'inizio del processo di acquisizione delle vendite .
Ora ho sviluppato applicazioni per molti anni, ho usato tecniche diverse, tutte con i loro pro / contro, senza conoscere davvero il modo preferito.
- Un grande database, riutilizzato da tutte le applicazioni per condividere i dati dei clienti ecc. Ciò può rendere molto lavoro da mantenere, avendo un sacco di sviluppatori che lavorano tutti sullo stesso schema e servizi, avendo una dipendenza dalla maggior parte probabilmente dovranno rilasciare tutte le applicazioni contemporaneamente dopo le modifiche
- La suddivisione del database per area (cliente, vendite, gerarchia aziendale, ecc.) fornisce una suddivisione logica, ma sono ancora tutti utilizzati da tutte le applicazioni, tuttavia i join per i dati tra database possono causare problemi a meno che non si effettuino join tra database diversi / link server ecc.
- Ogni singola applicazione ha il proprio set di database. Ciò rende lo sviluppo di ciascuna applicazione molto più rapido e semplice. Eppure dà anche un sacco di duplicazioni nei dati copiandoli su ogni applicazione. Quindi eventuali modifiche ai dati devono essere sincronizzate in qualche modo con altri database. Per alcune aree potresti aprire un'API web per ottenere alcuni dati tra di loro, ma molto spesso potresti dover leggere da un database per usare quelle informazioni per ottenere più informazioni da un altro ecc piuttosto che fare una semplice veloce si unisce.
Qualcuno può dare alcune informazioni nel modo corretto? Sì, le cose possono essere soggettive, ma sono sicuro che uno di questi modi sarebbe più consigliato dell'altro.