Vai al contenuto principale

Architettura e design

Sync-in si basa su diversi principi fondamentali:

  • Prestazioni e velocità, anche con diversi milioni di file.
  • Controllo totale dei dati, garantito al proprietario dall'inizio alla fine.
  • Semplicità e leggerezza, grazie all'assenza di indicizzazioni massicce e inutili.
  • Funzionalità innovative, come l'ancoraggio virtuale, le autorizzazioni granulari e le condivisioni annidate.
  • Sicurezza solida e nativa, basata su standard di autenticazione e sicurezza fin dalla progettazione.
  • Scalabilità e interoperabilità, senza sacrificare la fluidità.

L'architettura di Sync-in implementa questi principi attraverso diversi meccanismi chiave che ne definiscono l'approccio.


Governance degli spazi collaborativi e visibilità operativa​

Gli spazi collaborativi definiscono un ruolo di gestore, responsabile della supervisione di file, membri, condivisioni e autorizzazioni associati allo spazio. La governance include anche la gestione dei file ancorati, con regole rigorose che garantiscono che i diritti originali associati al file rimangano invariati, anche quando l'ancoraggio viene amministrato a livello dello spazio.

Questo approccio offre una governance chiara e pronta all'uso, raramente offerta nelle soluzioni collaborative di gestione dei file.

👉 Vedi: Gestione degli spazi collaborativi


Autorizzazioni granulari e condivisioni annidate​

Sync-in introduce una gestione avanzata dei diritti: una condivisione può essere ridelegata, lasciando comunque al proprietario piena visibilità e pieno controllo sull'intera catena di condivisioni. Questo approccio consente al proprietario di gestire, modificare o revocare le condivisioni secondarie in completa trasparenza.

👉 Vedi: Gestione delle condivisioni negli spazi collaborativi e Gestione delle condivisioni secondarie.


Ancoraggio virtuale senza duplicazione​

Il meccanismo di ancoraggio ti consente di collegare un file o una cartella a uno spazio senza spostare o duplicare il contenuto.
L'elemento è accessibile come se fosse fisicamente presente (interfaccia, WebDAV, API), pur beneficiando delle regole di autorizzazione specifiche dello spazio. Questa logica evita la ridondanza e offre un migliore controllo della distribuzione dei dati.

👉 Vedi: Concetto dei file ancorati


Blocco unificato​

Il sistema di blocco unificato garantisce la coerenza transazionale e l'integrità dei file su tutta la piattaforma, indipendentemente dalla modalità di accesso utilizzata: interfaccia web, WebDAV, client di sincronizzazione, editor collaborativi o API.

L'implementazione di questo sistema garantisce una gestione deterministica degli accessi concorrenti, serializzando le operazioni al fine di prevenire qualsiasi corruzione dello stato ed eliminare i conflitti legati alle scritture concorrenti.

👉 Vedi: Gestione dei blocchi dei file


Implementazione nativa del protocollo WebDAV​

Laddove altre soluzioni si basano su librerie esterne (come sabre-dav in PHP), Sync-in ha la propria implementazione WebDAV conforme a RFC 4918 e sviluppata in TypeScript. Questa scelta tecnica garantisce supporto nativo, prestazioni ottimizzate e perfetta integrazione nel modello di sicurezza complessivo della piattaforma.

👉 Vedi: WebDAV


Sincronizzazione ottimizzata e integrata​

Sync-in offre un sistema nativo di sincronizzazione dei file, ottimizzato e coerente con l'interfaccia web. Si basa sulle API esistenti per garantire un comportamento uniforme in termini di controllo, sicurezza e audit. Grazie alla gestione ottimizzata delle azioni di copia e spostamento, il consumo di rete è ridotto. Questa funzionalità include inoltre meccanismi avanzati come la ripresa automatica dei trasferimenti, la simulazione delle sincronizzazioni, la protezione contro la perdita di dati e il filtraggio mediante espressioni regolari.

👉 Vedi: Sincronizzazione


Database con prestazioni ottimizzate​

Sync-in indicizza solo i file che richiedono metadati (commenti, condivisioni, ancoraggi, sincronizzazioni, ecc.). Questo approccio riduce drasticamente le dimensioni del database, migliorando così la fluidità e le prestazioni della piattaforma.


Libertà e assenza di vendor lock-in​

I file non vengono assorbiti o archiviati in un database: rimangono accessibili direttamente sul file system. Questo approccio garantisce all'utente la libertà di lavorare sui propri dati al di fuori della piattaforma, con la possibilità di modificarli, spostarli o utilizzarli con altri strumenti, senza vincoli o dipendenza da Sync-in.


Architettura software​

Sync-in si basa su un'architettura a più livelli che separa chiaramente sicurezza, logica di business, API e persistenza dei dati. Ogni richiesta passa attraverso controlli che applicano le regole di autenticazione e autorizzazione prima di accedere ai servizi interni. Questa organizzazione rafforza la sicurezza, migliora la manutenibilità e garantisce la scalabilità della piattaforma.

👉 Per una presentazione dettagliata dei diversi livelli: Deepwiki – Architettura server Sync-in