Business Connectivity Services が動作するしくみ
最終更新日: 2010年4月15日
適用対象: SharePoint Server 2010
Microsoft Business Connectivity Services (BCS) を使用するためのしくみを理解するには、アーキテクチャ上、2 つのもっとも重要な構成要素である Business Data Connectivity (BDC) service と Business Connectivity Services Client Runtime について理解する必要があります。
Business Data Connectivity Service
Business Data Connectivity (BDC) service は以下を使用することによって、中央メタデータ ストアにより、外部システムのプログラム インターフェイスの詳細を格納するメカニズムを提供します。
Method、Parameter、TypeDescriptor、LobSystem オブジェクトや、LobSystemInstance オブジェクトのデータ構造。
サーバー名、接続文字列、認証方式などの外部システムについての情報。
メソッドは、(Customer あるいは Order などの) 外部データ型を表すアブストラクション (エンティティ) に含まれています。これらのメソッドは、外部システムのインターフェイスについての複雑な詳細を抽象化し、ビジネス アプリケーション開発を、インフォメーション ワーカーが行えるようにします。次に、BDC は、外部システムインターフェイス定義を、実際の基幹業務 (LOB) システム インターフェイスの詳細に、MethodInstance、Identifier、FilterDescriptor、および Association などのデータ構造によって記述された注釈を付けることによって、"Create-An-Entity-Instance"、"Read-Entity-Instances"、および "Check-Entity-Instance-Permissions" などの、エンティティに対する正規化された定型的な操作に変換します。これらのデータ構造は、集合的に MetadataObjects と呼ばれ、BDC のコンポーネントである BDC メタデータ モデルを構成します。これらの MetadataObjects は、1 つあるいは複数の外部システムを示す "モデル" と呼ばれる、関連する集合にグループ化されます。モデルは、メタデータ ストアに保存されます。モデルのストアが使用可能になると、任意のソリューションが、BDC の別のコンポーネントである BDC ランタイム オブジェクト モデルを使用して、そのストアにアクセスすることができます。BDC ランタイム オブジェクト モデルは、さまざまなバックエンド システムに対するプログラミングのエクスペリエンスを均一化するプログラミング インターフェイスを提供します。これは、外部システムの固有のメソッド呼び出しを、アプリケーションが要求する、定型的で正規化された操作に、プログラミングにより変換することによって実現されます。
以下の図は、BDC のプログラミングモデルを示します。
図 1. BDC プログラミング モデル
BDC は Business Connectivity Services の基盤であり、BDC の基盤はエンティティ、メソッド、リレーションシップなどを定義するエンティティ モデルです。これらが定義された後で、BDC ランタイム オブジェクト モデルにデータが設定され、データに対して Create、Update、および Finder メソッドなどの一貫した、定型的な運用エクスペリエンスを提供します。基礎となる外部システムが「作成、読み取り、更新、削除、クエリ実行」(CRUDQ) インターフェイスを持つと仮定して、BDC ランタイム オブジェクト モデルは、基礎となるシステムの詳細を必要とせずにこれらの作業を実行する機能を提供します。
BCS Client Runtime
Business Connectivity Services Client Runtime は、Business Connectivity Services および Business Connectivity Services ソリューション、そして Microsoft Office ホスト アプリケーション間のコネクタとして機能します。外部データが Microsoft SharePoint Server 2010 で使用可能になると、それを Office 2010 アプリケーションに持ち込んで、コンテキストに応じて表示することができます。このためには、メタデータ モデルによって記述された外部データを、さまざまな Office アプリケーション ユーザー インターフェイス (UI) 要素にマップし、コンテキストに応じて、必要なときにそれらの UI 要素を表示する方法が必要となります。ソリューションを読み込んで実行するためには、ランタイム エンジンが必要です。Business Connectivity Services Client Runtime は、Business Connectivity Services、Business Connectivity Services ソリューション、および Office ホスト アプリケーションを接続するランタイム エンジンです。ホスト Office アプリケーションが、ホスト アプリケーション上で生成された固有のイベントを読み込み、発生させ、リッスンし、操作する時は、常に、Business Connectivity Services Client Runtime が読み込まれます。Business Connectivity Services Client Runtime は、Office アプリケーション上の宣言型 Business Connectivity Services ソリューションを解釈して、ビジネス データを Office アプリケーションと統合します。Business Connectivity Services は、Office 2010 アプリケーションでどのように外部データを表示するかを指定する、特定のアプリケーション成果物を必要とします。これらの成果物は、Business Connectivity Services ソリューション パッケージの一部です。クライアント上で、インメモリ Microsoft SQL Server Compact データベースが、ユーザーが必要とするキャッシュされたエンティティとメタデータを管理します。このアーキテクチャにより、ソリューション開発者は、一般的で反復的なタスクを実行するためにさまざまな Office アプリケーション API を操作する複雑さを避けて、業務ニーズの解決に注力できるようになります。
以下の図は、BCS Client Runtime が、BDC で Business Connectivity Services と統合される方法を示しています。
図 2. BDC への BCS Client Runtime の統合