Auswählen der geeigneten Sync Framework-Komponenten

SQL Server 2008 R2

In diesem Thema wird beschrieben, welche Komponenten für allgemeine Synchronisierungsszenarien verwendet werden. Darüber hinaus wird die allgemeine Architektur von Sync Framework erläutert.

Sync Framework-Komponenten

Sync Framework enthält eine Laufzeit, einen Satz von Synchronisierungsanbietern für bestimmte Datenspeicher und eine API zum Schreiben von Anbietern. Ein Anbieter ist eine Softwarekomponente, die die Kommunikation zwischen einer Datenquelle und anderen Komponenten im Synchronisierungssystem ermöglicht. Wenn Sie einen Datenspeicher synchronisieren, für den ein vordefinierter Anbieter bereitgestellt wird, ist die Verwendung dieses Anbieters dringend zu empfehlen. Anbieter ermöglichen zur Abstimmung mit Ihrer Anwendung Erweiterungen. Wenn Sie einen Datenspeicher synchronisieren, für den kein vordefinierter Anbieter bereitgestellt wird, oder wenn Sie eine andere Implementierung benötigen, ist ein benutzerdefinierter Anbieter geeignet.

In der folgenden Abbildung werden die Beziehungen zwischen allen Komponenten gezeigt, die Sync Framework bereitstellt.

Sync Framework-Komponenten

Die Komponenten in der Abbildung lauten wie folgt:

  • Datenbanksynchronisierungsanbieter (in vorherigen Versionen als Sync Services for ADO.NET bezeichnet). Diese Anbieter sind in Microsoft.Synchronization.dll, Microsoft.Synchronization.Data.dll, Microsoft.Synchronization.Data.Server.dll, Microsoft.Synchronization.Data.SqlServer.dll und Microsoft.Synchronization.Data.SqlServerCe.dll enthalten. Sie können zur Synchronisierung von Datenbanken für die folgenden Typen von Szenarien verwendet werden:

    • Zusammenarbeitsszenarien. Beispielsweise benötigen Projektteammitglieder in Anwendungen zum Freigeben von Projektnotizen häufig eine lokale Kopie der Daten, um mit diesen zu arbeiten. Wenn sie Änderungen durchgeführt haben, können diese durch eine Synchronisierung mit anderen Teammitgliedern ausgetauscht und mit einem zentralen Server synchronisiert werden.

    • Offlineszenarien. Ein Vertriebsmitarbeiter benötigt z. B. im Büro eines Kunden Zugriff auf Produktdaten und muss auch in der Lage sein, Bestellungen hochzuladen. Der Vertriebsmitarbeiter könnte jeden Morgen eine Synchronisierung mit dem zentralen Server durchführen, um über die neuesten Produkte und Preise zu verfügen. Am Abend könnte er wieder eine Synchronisierung zum Hochladen der Bestellungen des Tages durchführen.

    Weitere Informationen finden Sie unter Synchronisieren von Datenbanken. Die Offlineanbieter waren ursprünglich Teil von Synchronization Services für ADO.NET 1.0, das vor Sync Framework 1.0 veröffentlicht wurde. Zusammenarbeitsanbieter wurden auf Basis der Kern-API und Laufzeit erstellt, Offlineanbieter jedoch nicht. Offlineanbieter können nicht an Topologien mit anderen Typen von Sync Framework-Anbietern teilnehmen.

  • Dateisynchronisierungsanbieter (in vorherigen Versionen als Sync Services for File Systems bezeichnet). Dieser Anbieter ist in FileSyncProvider2.dll und Microsoft.Synchronization.Files.dll enthalten. Er kann zur Synchronisierung der Dateien und Ordner in NTFS-, FAT- oder SMB-Dateisystemen verwendet werden. Die zu synchronisierenden Verzeichnisse können lokal vorliegen oder in einem Netzwerk verteilt sein. Sie müssen nicht im selben Dateisystem gespeichert sein. Die Anwendung kann mit statischen Filtern Dateien ein- oder ausschließen. Dazu werden sie explizit aufgelistet oder Platzhalterzeichen (wie *.txt) verwendet. Die Anwendung kann auch Filter festlegen, die ganze Unterordner ausschließen. Eine Anwendung kann auch für den Empfang von Benachrichtigungen über den Synchronisierungsfortschritt einer Datei registriert werden. Weitere Informationen finden Sie unter Synchronisieren von Dateien.

  • Webfeedsynchronisierungs-Komponenten (in vorherigen Versionen als Sync Services for FeedSync bezeichnet). Diese Komponenten sind in FeedSync2.dll und Microsoft.Synchronization.dll enthalten. Die Komponenten können auf zwei Arten verwendet werden:

    • Die Anbieterdienste zur Webfeedsynchronisierung können zum Schreiben eines Anbieters verwendet werden, der eine FeedSync-XML-Datei als sein Replikat darstellt. Weitere Informationen zu FeedSync finden Sie auf der FeedSync-Website.

    • Die Webfeedproducer- und Consumerkomponenten können zur Synchronisierung der Daten eines anderen Replikattyps (z. B. ein Dateisystem) mit einem RSS- oder Atom-Feed verwendet werden.

    Weitere Informationen finden Sie unter Synchronisieren von Webfeeds.

  • Benutzerdefinierte Anbieter. Diese Komponenten sind in Synchronization2.dll, Microsoft.Synchronization.dll, SimpleProviders2.dll und Microsoft.Synchronization.SimpleProviders.dll enthalten. Sie können zur Erstellung von Synchronisierungsanbietern für einen beliebigen Datenspeichertyp verwendet werden. Wenn z. B. eine Anwendung ein benutzerdefiniertes Speichersystem zur Nachverfolgung von Kundenkontakten enthält, können Sie diese Daten mithilfe eines einfachen Anbieters oder eines vollständigen benutzerdefinierten Anbieters in Ihre Anwendungen integrieren. Weitere Informationen finden Sie unter Synchronisieren von Datenspeichern mit benutzerdefinierten Anbietern.

  • Metadaten-Speicherdienst. Diese Komponente ist in MetaStore2.dll und Microsoft.Synchronization.MetadataStorage.dll enthalten. Sie kann von benutzerdefinierten Anbietern als eine einfache Möglichkeit zur Speicherung und Verarbeitung von Synchronisierungsmetadaten verwendet werden, besonders für Replikate, die anderweitig keine Metadaten speichern können. Der Metadaten-Speicherdienst verwendet eine zuverlässige, vereinfachte Datenbank, die einen geringen Bedarf an Speicher- und Festplattenplatz hat und mit dem Anbieter zusammen verteilt werden kann. Die API trennt den Metadatenspeicher klar von den Schnittstellen und Methoden, die für den Zugriff auf den Speicher verwendet werden. So können alternative Speicher mit minimalen Änderungen am Anbieter implementiert und verwendet werden. Weitere Informationen finden Sie unter Der Metadatenspeicherdienst von Sync Framework.

  • Kern-API und Laufzeit. Diese Komponenten sind in Synchronization2.dll und Microsoft.Synchronization.dll enthalten. Die Kern-API und die Laufzeit werden von allen anderen Komponenten, außer den Offlinedatenbankanbietern, verwendet. Weitere Informationen zu diesen Komponenten finden Sie unter Synchronisieren von Datenspeichern mit benutzerdefinierten Anbietern.

Informationen zur Installation der Komponenten finden Sie unter Installation, Weiterverteilung und Versionskompatibilität.

Sync Framework stellt einen umfassenden Satz von Komponenten bereit, um die Synchronisierung für eine Vielzahl von Anwendungen zu ermöglichen. Dieses Thema bietet eine grundlegende Einführung für alle Komponenten, um Ihnen bei der Entscheidung behilflich zu sein, welche Komponenten für die Anwendungen geeignet sind. Für Anwendungen mit mehr als einem Datenspeichertyp sollten Sie als nächstes Integrieren von Daten von verschiedenen Anbietern lesen.

Sync Framework-Architektur

Sync Framework verwendet eine anbieterbasierte Architektur. Anbieter schirmen andere Synchronisierungskomponenten von der Komplexität und den speziellen Implementierungen der einzelnen Datenspeicher ab. Durch diese Architektur in Verbindung mit spezialisierten Synchronisierungsmetadaten kann Sync Framework jeden Typ von Datenspeicher synchronisieren, für den ein Anbieter geschrieben wurde. Sync Framework enthält Anbieter für allgemeine Datenspeicher, wie z. B. Datenbanken und das NTFS-Dateisystem, und ermöglicht Ihnen das Schreiben von Anbietern für andere Speichertypen. Der Anbieter ist der Hauptintegrationspunkt für Sync Framework.

In der folgenden Abbildung wird die allgemeine Architektur von Sync Framework dargestellt. Die Synchronisierung findet, wie in der Abbildung gezeigt, immer zwischen zwei Replikaten (oder Knoten) statt, Synchronisierungscommunitys (oder Topologien) können jedoch beliebige Formen annehmen, wie z. B. Hub-and-Spoke, Peer-to-Peer usw. Mit einigen Ausnahmen kann jedes Teilnehmerpaar je nach Anwendungsanforderungen die Synchronisierung über eine 2-Ebenen-Architektur oder eine n-Ebenen-Architektur ausführen. Ausführlichere Informationen zu geeigneten Architekturen und Sicherheitsüberlegungen sind in der Dokumentation für alle Sync Framework-Komponenten enthalten.

Übersicht über die Architektur von Sync Framework

Es gibt drei Typen von Elementen in der Abbildung:

  • Elemente, die vom Entwickler geschrieben werden.

    • Die Anwendung ruft Synchronisierungsmethoden auf, reagiert auf Ereignisse und führt andere Aufgaben auf Grundlage von Anwendungsanforderungen aus.

    • Der Datenspeicher könnte ein Dateisystem, eine relationale Datenbank, ein Flatfilekontakte-Speicher oder ein beliebiger anderer Datenspeicher sein, der synchronisiert werden muss.

    • Das Datenübertragungsprotokoll legt fest, wie Datenänderungen zwischen zwei Anbietern übertragen werden.

  • Elemente, die von Sync Framework bereitgestellt werden.

    • Abhängig davon, ob systemeigener Code oder verwalteter Code verwendet wird, kommuniziert die Anwendung mit einer Synchronisierungssitzung oder einem Synchronisierungsorchestrator, der dann mit den einzelnen Synchronisierungsanbietern kommuniziert.

    • Die Synchronisierungslaufzeit steuert den Synchronisierungsvorgang und teilt der Clientanwendung Status, Konflikte und Fehler mit.

  • Elemente, die je nach Szenario entweder vom Entwickler geschrieben oder von Sync Framework bereitgestellt werden.

    • Der Anbieter ist spezifisch für den synchronisierten Datentyp. In einigen Situationen erfordert eine Anwendung einen benutzerdefinierten Anbieter, der vom Entwickler geschrieben werden muss. Sync Framework stellt verschiedene APIs zur Vereinfachung dieses Prozesses sowie eine Reihe von Komponenten bereit, die bei den schwierigsten Abschnitten der Synchronisierung helfen, z. B. bei der Konflikterkennung.

    • Der Metadatenspeicher enthält die Metadaten, mit denen Sync Framework ermittelt, aus welchen Änderungen ein Anbieter auswählen soll und welche Änderungen im entsprechenden Datenspeicher übernommen werden. Die Art der Speicherung und Verarbeitung der Metadaten hängt vom verwendeten Anbieter ab. Beispielsweise speichern Anbieter für Datenbanken Metadaten normalerweise in Nachverfolgungstabellen in derselben Datenbank wie der Datenspeicher. Für benutzerdefinierte Anbieter können Sie einen Metadatenspeicher erstellen oder einen Dienst verwenden, der in Sync Framework enthalten ist. Ausführlichere Informationen über Metadaten sind in der Dokumentation für die einzelnen Sync Framework-Komponenten enthalten.

Siehe auch

Anzeigen: