Grundlegendes zum Optimieren Ihrer Lösungen mit dem Business Connectivity Services-Clientcache

Letzte Änderung: Donnerstag, 7. Januar 2010

Gilt für: SharePoint Server 2010

Business Connectivity Services (BCS) verwendet einen Cache zum Speichern einer Kopie der externen Daten, die für die auf dem Office-Client bereitgestellten BCS-Lösungen erforderlich sind. Mit diesem Cache können externe Daten automatisch auf den Client kopiert und für den Echtzeitzugriff verwaltet werden, wobei eine automatische Datensynchronisierung zwischen dem Cache und der externen Anwendung erfolgt. Die Vorteile der Verwendung eines Caches auf dem Client, um Daten aus der externen Datenquelle lokal zu speichern, sind offensichtlich:

  1. Höherer Anwendungsdurchsatz: Sobald die Daten im Cache gespeichert sind, können sie später verwendet werden. Dabei wird auf die zwischengespeicherte Kopie zugegriffen, anstatt die ursprünglichen Daten aus der externen Datenquelle abzurufen, was wesentlich teurer ist.

  2. Unterstützung verbindungsloser Szenarien: Benutzer können weiterhin mit den BCS-Lösungen arbeiten, um externe Daten problemlos und effizient zu bearbeiten, selbst wenn die Verbindung zur externen Datenquelle langsam, zeitweise unterbrochen oder nicht verfügbar ist.

Der Clientcache wird pro Benutzer als EFS-verschlüsselte SQL CE-Datenbank implementiert. Beachten Sie, dass die Datenbank auf welche Weise auch immer nicht direkt bearbeitet werden sollte. Dies wird von Microsoft nicht unterstützt. Sie sollten stattdessen das Cacheobjektmodell für den Zugriff auf den Cache verwenden.

Die Speichereinheit im Cache ist die Entitätsinstanz. Der Prozess BCSSync.EXE wird auf dem Client ausgeführt und ermöglicht die automatische Cacheaktualisierung und Datensynchronisierung der Entitätsinstanzen. Wenn ein Vorgang wie z. B. Lesen, Erstellen, Aktualisieren oder Löschen für eine Entitätsinstanz in der Clientanwendung ausgeführt wird, werden die Aufrufe nicht direkt an die externe Anwendung (LobSystemInstance) weitergeleitet. Die Vorgänge werden vielmehr dem Stapel in der Operationswarteschlange (ein Speicherort im Cache) hinzugefügt und anschließend in Abhängigkeit von der Verfügbarkeit der externen Anwendung nacheinander ausgeführt. Ausführliche Informationen, wie der Cache diese Vorgänge behandelt, finden Sie in den restlichen Themen in diesem Abschnitt. Der Synchronisierungsprozess versucht auch, für aktuelle Daten im Cache zu sorgen, indem sie in bestimmten Abständen aus der externen Anwendung aktualisiert werden. Der genaue Zeitpunkt, wann der Cache aktualisiert wird, ist nicht vorhersagbar und ist abhängig von dem vom Benutzer festgelegten Cacheaktualisierungsintervall (ExpireAfter), der Verfügbarkeit der externen Datenquelle sowie weiteren Faktoren. Diese werden in den folgenden Abschnitten ausführlich behandelt.

Als Entwickler sollten Sie aufgrund der folgenden beiden Hauptgründe die Funktionsweise des Geschäftsdatencaches kennen:

  1. Zur Verbesserung des Datendurchsatzes Ihrer BCS-Lösung, indem Sie wissen, wie Sie Ihre Anwendung für maximalen Durchsatz modellieren, und wie Sie die Verwendung des Caches in Ihrer Lösung optimieren.

  2. Zur Behebung von Cachesynchronisierungsfehlern, wenn Konflikte oder Fehler in externen Daten auftreten.

Zum besseren Verständnis gehen wir in diesem Dokument von einer einfachen BCS-Lösung aus, die auf dem Client bereitgestellt wird, indem eine externe Kundenliste mit Microsoft Outlook verbunden wird. Außerdem wird diese externe Liste durch das SpecificFinder-Element GetCustomersByID unterstützt, und drei Ansichten wurden für diese Entität im Modell mit dem Finder-Element und dem GetCustomers-Element mit den Filterwerten State="CA", State="WA" und State= "NJ" definiert, um Kunden in Kalifornien, Washington bzw. New Jersey anzuzeigen.

Siehe auch

Konzepte

Was ist ein Cacheabonnement?

Wie wird der Business Connectivity Services-Clientcache gefüllt?

Cacheobjektmodell

Wie werden Lesevorgänge im Cache ausgeführt?

Wie werden Änderungen an das externe System weitergegeben?

Wann wird der Cache aktualisiert?

Wie erfahren Business Connectivity Services-Lösungen von Löschvorgängen in der externen Datenquelle?

Vorgehensweise: Steigern der Leistung der Business Connectivity Services-Lösung bei Verwendung des Cache