ソリューションを最適化するための Business Connectivity Services クライアント キャッシュについての情報
最終更新日: 2010年1月7日
適用対象: SharePoint Server 2010
Business Connectivity Services (BCS) では、キャッシュを使用して、Office クライアントに展開された BCS ソリューションで必要とされる外部データのコピーが格納されます。キャッシュを使用すると、外部データをクライアントに自動的にコピーして、外部データのリアルタイム アクセスを管理できます。また、キャッシュと外部アプリケーション間でデータが自動的に同期されます。クライアントでキャッシュを使用して外部データソースのデータをローカルに格納する利点は、次のように明確です。
アプリケーションのスループットが向上します。データがキャッシュに格納されると、その後のデータの使用は、データの取得にコストがかかる場合、外部データ ソースから元のデータを再取得するのではなく、キャッシュされたコピーにアクセスすることで行うことができます。
切断されたシナリオがサポートされます。外部データ ソースへの接続が低速になったり、断続的に切断したり、使用できなくなったりしても、ユーザーは、BCS ソリューションでの作業を続行し、外部データをシームレスかつ効率的に操作できます。
クライアント キャッシュは、EFS で暗号化されたユーザー単位の SQL CE データベースとして実装されます。どのような方法を使用しても、データベースを直接編集しないでください。Microsoft はこれをサポートしません。その代わりに、キャッシュ オブジェクト モデルを使用してキャッシュにアクセスする必要があります。
キャッシュ内のストレージの単位はエンティティ インスタンスです。BCSSync.EXE と呼ばれるプロセスがクライアントで動作し、キャッシュの自動更新とエンティティ インスタンスのデータ同期を提供します。クライアント アプリケーション内のエンティティ インスタンスに対して Read、Create、Update、または Delete が実行されるときに、呼び出しは外部アプリケーション (LobSystemInstance) に直接的にルーティングされません。その代わりに、これらの操作は操作キュー (キャッシュ内の所定の場所) に積み上げられ、外部アプリケーションの可用性に基づいて 1 つずつ実行されます。キャッシュが各操作をどのように処理するかについては、このセクションの残りのトピックを参照してください。また、同期プロセスでは、外部アプリケーションから一定の間隔でデータを更新することで、キャッシュ内のデータが最新に維持されるように試みられます。キャッシュを更新する正確な時間は予測できません。その時間は、ユーザーが設定するキャッシュ更新間隔 (ExpireAfter)、外部データ ソースの可用性、および他のいくつかの要因によって決まります。これらについては、以下のセクションで詳しく説明します。
開発者として、以下の 2 つの理由に対して、ビジネス データのキャッシュがどのように機能するかを理解する必要があります。
最大のスループットが発揮され、ソリューションでのキャッシュの使用が最適化されるようにアプリケーションをモデル化する方法を理解して、BCS ソリューションのスループットを向上する。
外部データに競合やエラーが存在する場合にキャッシュの同期エラーを解決する。
理解しやすくするために、このドキュメントでは、簡単な BCS ソリューションを考えます。この BCS ソリューションは、顧客外部リストを Microsoft Outlook に接続することでクライアントに展開されます。また、この外部リストは、GetCustomersByID SpecificFinder によって戻されると仮定します。さらに、このモデルでは、このエンティティに対して 3 つのビューが定義されており、カリフォルニア州の顧客、ワシントン州の顧客、ニュージャージー州の顧客を表示するために、Finder、GetCustomers とフィルター値 (State="CA"、State="WA"、State= "NJ") が使用されると仮定します。
関連項目
概念
Business Connectivity Services クライアント キャッシュを設定する方法
Business Connectivity Services ソリューションが外部データ ソースでの削除について知る方法
[方法] キャッシュを使用する場合の Business Connectivity Services ソリューションのパフォーマンスを向上する