Condividi tramite


Selezione dei componenti appropriati di Sync Framework

In questo argomento vengono illustrati i componenti da utilizzare per gli scenari di sincronizzazione comuni e viene descritta l'architettura di alto livello di Sync Framework.

Componenti di Sync Framework

In Sync Framework sono inclusi un runtime, un set di provider di sincronizzazione per archivi dati specifici e un'API per la scrittura di provider. Un provider è un componente software che stabilisce la comunicazione tra un'origine dati e altri componenti del sistema di sincronizzazione. Se si sincronizza un archivio dati per il quale è disponibile un provider, si consiglia di utilizzare quel provider. Essendo estensibili, i provider possono essere adattati alle esigenze dell'applicazione. Se si sincronizza un archivio dati per il quale non è disponibile alcun provider o si richiede un'implementazione diversa, si consiglia di utilizzare un provider personalizzato.

Di seguito viene illustrata la relazione tra tutti i componenti forniti da Sync Framework.

Componenti di Sync Framework

I componenti illustrati sono i seguenti:

  • Provider di sincronizzazione dei database (Sync Services for ADO.NET nelle versioni precedenti). Questi provider sono contenuti in Microsoft.Synchronization.dll, Microsoft.Synchronization.Data.dll, Microsoft.Synchronization.Data.Server.dll, Microsoft.Synchronization.Data.SqlServer.dll e Microsoft.Synchronization.Data.SqlServerCe.dll. Possono essere utilizzati per sincronizzare database per i tipi di scenari seguenti:

    • Scenari di collaborazione. In un'applicazione che consente agli utenti di condividere note relative a un progetto, ad esempio, i membri del team del progetto spesso necessitano di una copia locale dei dati con la quale poter lavorare. Dopo aver apportato le modifiche, possono eseguire la sincronizzazione con un altro membro del team per scambiarsi le modifiche oppure eseguire la sincronizzazione con un server centrale.

    • Scenari offline. Un venditore richiede ad esempio l'accesso ai dati dei prodotti dall'ufficio di un cliente e deve anche essere in grado di caricare ordini. Il venditore potrebbe eseguire la sincronizzazione con il server centrale ogni mattina per assicurarsi di disporre degli ultimi prodotti e dei prezzi più aggiornati e rieseguirla ogni sera per caricare gli ordini del giorno.

    Per ulteriori informazioni, vedere Sincronizzazione di database. I provider offline erano originariamente parte di Synchronization Services per ADO.NET 1.0 rilasciato prima di Sync Framework 1.0. A differenza dei provider offline, i provider di collaborazione vengono compilati sull'API principale e il runtime. I provider offline non possono fare parte di topologie con altri tipi di provider Sync Framework.

  • Provider di sincronizzazione dei file (Sync Services for File Systems nelle versioni precedenti). Questo provider è contenuto in FileSyncProvider2.dll e Microsoft.Synchronization.Files.dll. Può essere utilizzato per sincronizzare file e cartelle in file system NTFS, FAT o SMB. Le directory da sincronizzare possono essere locali o remote e non è necessario che appartengano allo stesso file system. Un'applicazione può utilizzare filtri statici per escludere o includere file, elencandoli in modo esplicito o tramite caratteri jolly (ad esempio *.txt). In alternativa, l'applicazione può impostare filtri per escludere intere sottocartelle. È inoltre possibile registrare l'applicazione per la ricezione della notifica dello stato di avanzamento della sincronizzazione di file. Per ulteriori informazioni, vedere Sincronizzazione di file.

  • Componenti di sincronizzazione dei feed Web (Sync Services for FeedSync nelle versioni precedenti). Questi componenti sono contenuti in FeedSync2.dll e Microsoft.Synchronization.dll. I componenti possono essere utilizzati in due modi:

    • I servizi dei provider di sincronizzazione dei feed Web possono essere utilizzati per scrivere un provider che rappresenti un file XML di FeedSync come replica. Per ulteriori informazioni su FeedSync, vedere il sito Web FeedSync.

    • È possibile utilizzare i componenti consumer e producer di feed Web per sincronizzare i dati di un altro tipo di replica, ad esempio un file system, con un feed RSS o Atom.

    Per ulteriori informazioni, vedere Sincronizzazione di feed Web.

  • Provider personalizzati. Questi componenti sono contenuti in Synchronization2.dll e Microsoft.Synchronization.dll, SimpleProviders2.dll e Microsoft.Synchronization.SimpleProviders.dll. Possono essere utilizzati per creare provider di sincronizzazione per qualsiasi tipo di archivio dati. Se ad esempio un'applicazione include un sistema di archiviazione personalizzato per il rilevamento dei contatti dei clienti, è possibile utilizzare un provider semplice o un provider personalizzato completo per integrare quei dati nelle applicazioni. Per ulteriori informazioni, vedere Sincronizzazione di archivi dati tramite provider personalizzati.

  • Servizio di archiviazione dei metadati. Questo componente è contenuto in MetaStore2.dll e Microsoft.Synchronization.MetadataStorage.dll. Può essere utilizzato dai provider personalizzati come un modo pratico per archiviare ed elaborare i metadati di sincronizzazione, in particolar modo per le repliche che altrimenti non potrebbero archiviare metadati. Il servizio di archiviazione dei metadati utilizza un database lightweight affidabile con un footprint di memoria e di disco di dimensioni ridotte e può essere ridistribuito insieme al provider. L'API separa nettamente l'archivio dei metadati dalle interfacce e dai metodi utilizzati per accedere all'archivio in modo che archivi alternativi possano essere implementati e utilizzati con il minor numero possibile di modifiche al provider. Per ulteriori informazioni, vedere Servizio di archiviazione dei metadati di Sync Framework.

  • API principale e runtime. Questi componenti sono contenuti in Synchronization2.dll e Microsoft.Synchronization.dll. L'API principale e il runtime vengono utilizzati da tutti gli altri componenti, ad eccezione dei provider di database offline. Per ulteriori informazioni su questi componenti, vedere Sincronizzazione di archivi dati tramite provider personalizzati.

Per informazioni sull'installazione dei componenti, vedere Installazione, ridistribuzione e compatibilità tra versioni.

In Sync Framework è incluso un set completo di componenti per la sincronizzazione di un'ampia gamma di applicazioni. In questo argomento viene fornita un'introduzione di base di ogni componente per facilitare la scelta dei componenti in base alle esigenze delle diverse applicazioni. Per le applicazioni che interessano più di un tipo di archivio dati, il passaggio successivo consiste nel leggere Integrazione di dati da provider diversi.

Architettura di Sync Framework

In Sync Framework viene utilizzata un'architettura basata su provider. I provider separano gli altri componenti della sincronizzazione dalle complessità e dall'implementazione specifica di ogni archivio dati. Questa architettura, combinata all'utilizzo di metadati di sincronizzazione specializzati, consente a Sync Framework di sincronizzare qualsiasi tipo di archivio dati per il quale è scritto un provider. Sync Framework include provider per archivi dati comuni, ad esempio database e il file system NTFS, e consente di scrivere provider per altri tipi di archivi. Il provider è il punto di integrazione principale in Sync Framework.

Nella figura seguente viene illustrata l'architettura di alto livello di Sync Framework. La sincronizzazione viene sempre eseguita tra due repliche (o nodi), come mostrato nell'illustrazione, ma le community di sincronizzazione (o topologie) possono presentare qualsiasi forma, ad esempio hub e spoke, peer-to-peer e così via. Con alcune eccezioni, ogni coppia di partecipanti può eseguire la sincronizzazione su un'architettura a 2 livelli o n livelli, secondo i requisiti dell'applicazione. Nella documentazione relativa a ciascun componente di Sync Framework sono contenute ulteriori informazioni sulle architetture appropriate e considerazioni sulla sicurezza.

Panoramica sull'architettura di Sync Framework

Gli elementi nell'illustrazione sono di tre tipi:

  • Elementi scritti dallo sviluppatore.

    • L'applicazione chiama i metodi di sincronizzazione, risponde agli eventi e gestisce altre attività in base ai requisiti dell'applicazione.

    • L'archivio dati potrebbe essere dato da un file system, un database relazionale, un archivio contatti di file flat o qualsiasi altro archivio dati che richiede la sincronizzazione.

    • Il protocollo di trasferimento dei dati determina il modo in cui le modifiche ai dati vengono trasmesse tra due provider.

  • Elementi forniti da Sync Framework.

    • A seconda che si utilizzi codice nativo o codice gestito, l'applicazione comunica con una sessione di sincronizzazione o un agente di orchestrazione della sincronizzazione, il quale a sua volta comunica con ogni provider di sincronizzazione.

    • Il runtime della sincronizzazione guida il processo di sincronizzazione e comunica lo stato, i conflitti e gli errori all'applicazione client.

  • Elementi scritti dallo sviluppatore o forniti da Sync Framework, a seconda dello scenario.

    • Il provider è specifico del tipo di dati che viene sincronizzato. In alcune situazioni, un'applicazione richiede un provider personalizzato che deve essere scritto dallo sviluppatore. In Sync Framework sono disponibili diverse API in grado di semplificare questo processo, nonché diversi componenti che assistono l'utente nel corso delle fasi più difficili della sincronizzazione, ad esempio il rilevamento dei conflitti.

    • L'archivio dei metadati contiene i metadati utilizzati da Sync Framework per determinare le modifiche che ogni provider deve selezionare e applicare all'archivio dati servito. Le modalità di archiviazione e utilizzo dei metadati dipendono dal provider utilizzato. Ad esempio, i provider per i database archiviano in genere i metadati nelle tabelle di rilevamento nello stesso database dell'archivio dati. Per i provider personalizzati, è possibile creare un archivio dei metadati oppure utilizzare un servizio incluso con Sync Framework. Nella documentazione relativa a ciascun componente di Sync Framework sono contenute informazioni più dettagliate sui metadati.

Vedere anche

Concetti

Microsoft Sync Framework
Vantaggi dell'utilizzo di Sync Framework