Partager via


Utilisation du cache client Business Connectivity Services pour optimiser vos solutions

Dernière modification : jeudi 7 janvier 2010

S’applique à : SharePoint Server 2010

Business Connectivity Services (BCS) utilise un cache pour stocker une copie des données externes requises par les solutions BCS déployées sur le client Office. Le cache permet de copier automatiquement les données externes sur le client et de les gérer pour un accès en temps réel, avec une synchronisation automatique des données entre le cache et l’application externe. Les avantages offerts par l’utilisation d’un cache sur le client pour stocker des données localement à partir de la source de données externes sont évidents :

  1. Augmentation du débit de l’application : une fois les données stockées dans le cache, leur utilisation ultérieure peut s’effectuer en accédant à la copie en cache plutôt qu’en exécutant une nouvelle extraction (plus coûteuse) des données d’origine à partir de la source de données externe.

  2. Prise en charge de scénarios déconnectés ; les utilisateurs peuvent continuer à travailler avec les solutions BCS pour manipuler des données externes de manière transparente et efficace, même lorsque la connectivité à la source de données externe est lente, intermittente ou inexistante.

Le cache client est implémenté en tant que base de données CE SQL par utilisateur chiffrée avec EFS. Notez que vous ne devez en aucune manière modifier la base de données directement, car cela n’est pas pris en charge par Microsoft. Au lieu de cela, vous devez utiliser le modèle objet Cache pour accéder au cache.

L’unité de stockage dans le cache est l’instance d’entité. Un processus nommé BCSSync.EXE s’exécute sur le client et fournit une actualisation automatique du cache et une synchronisation des données des instances d’entités. Lorsqu’une opération (par exemple de lecture, création, mise à jour ou suppression) est exécutée sur une instance d’entité dans l’application cliente, les appels ne sont pas routés directement vers l’application externe (LobSystemInstance). Au lieu de cela, elles sont empilées dans la file d’attente d’opérations, un emplacement dans le cache, puis exécutées une par une en fonction de la disponibilité de l’application externe. Pour plus de détails sur la manière dont le cache gère chaque opération, voir le reste des rubriques dans cette section. Le processus de synchronisation tente également de tenir les données du cache à jour en les actualisant à partir de l’application externe à intervalles réguliers. Le moment exact d’actualisation du cache ne peut pas être prévu et varie selon l’intervalle d’actualisation du cache (ExpireAfter) défini par l’utilisateur, la disponibilité de la source de données externe et plusieurs autres facteurs traités en détail dans les sections qui suivent.

En tant que développeur, vous devez comprendre le fonctionnement du cache de données métiers pour deux raisons principales :

  1. Afin d’améliorer le débit de votre solution BCS, en comprenant comment modéliser votre application pour un débit maximal et optimiser l’utilisation du cache dans votre solution.

  2. Afin de résoudre les erreurs de synchronisation du cache en cas de conflit ou d’erreur dans les données externes.

Afin d’illustrer ceci de manière simplifiée, considérons une solution BCS simple déployée sur le client en connectant une liste externe Customers à Microsoft Outlook. Supposons que cette liste externe est secondée par le SpecificFinder GetCustomersByID et que trois affichages ont été définies pour cette entité dans le modèle à l’aide du Finder GetCustomers avec les valeurs de filtre State="CA", State="WA" et State= "NJ" pour afficher les clients en Californie, à Washington et dans le New Jersey.

Voir aussi

Concepts

Qu’est ce qu’un abonnement de cache ?

Comment le cache client Business Connectivity Services est-il rempli ?

Modèle objet du cache

Comment les opérations de lecture sont-elles effectuées sur le cache ?

Comment les modifications sont-elles propagées au système externe ?

À quel moment le cache est-il actualisé ?

Comment les solutions Services Business Connectivity prennent-elles connaissance des suppressions dans la source de données externe ?

Procédure : améliorer les performances de la solution Business Connectivity Services lors de l’utilisation du cache