Ho sviluppato un'applicazione di front-end C # per la gestione di un database SQL ai fini del controllo dei documenti. Il progetto per questo database ha diversi consulenti e un cliente sparsi in una varietà di località geografiche. Preoccupazioni per la sicurezza significa che probabilmente trovare un database connesso ad internet non sarà una buona soluzione. Sto cercando un modo per fornire al cliente e ad altri consulenti la possibilità di accedere ai dati, per scopi di navigazione più di ogni altra cosa, ma mi interessa forse essere in grado di sincronizzare le modifiche apportate da altri nel database principale in basso strada.
L'azienda con cui mi trovo è una società di architettura e usiamo Revit per la nostra modellazione e produzione di disegni. Revit è interessante come applicazione perché i documenti vengono utilizzati come database relazionali. Così mi è venuto in mente che forse posso avere la mia applicazione per creare un documento che è davvero un database relazionale e che può fornire un'applicazione per leggere e manipolare i dati e fornire i dati come documento agli altri giocatori. Quindi non avranno bisogno di accedere al vero database di SQL Server, ma potranno vedere i dati così come erano quando è stato creato il "documento di dati".
Poi ho preso in considerazione la serializzazione. Fondamentalmente, se scrivo solo un modulo serializzato dei dati dalla mia applicazione a un documento, e poi fornisco un'applicazione simile che popola semplicemente il modello dal documento piuttosto che dal database, realizza la stessa cosa. Poiché utilizzo le pratiche ObservableCollections, Linq e MVVM, posso persino riutilizzare gran parte del codice tra le due applicazioni.
Quindi quali sono i vantaggi con i database relazionali portatili che vorrei perdere con i dati serializzati? E qualcuno sa come riesce a farlo Revit? Non penso che sia una soluzione SQLLite o NoSQL, in quanto non vedo nessuno dei database associati a quelli installati sulle macchine Revit.