Business Data Catalog Definition Editor を使用して Web サービス接続を作成する
要約 : Microsoft Office SharePoint Server 2007 で、Microsoft Office SharePoint Server 2007 用の Microsoft Business Data Catalog Definition Editor ツールを使用して、ビジネス データ カタログ用の Web サービスを作成する方法を学習します (32 印刷ページ)。
Jo-Anne West、Microsoft Corporation
2007 年 8 月
適用対象 : Microsoft Office SharePoint Server 2007
目次 :
Business Data Catalog Definition Editor の概要
LOB システムの追加
SampleWebService LOB システム設定の構成
Customer エンティティ名と識別子の構成
Customer Entity メソッドの構成
メソッド インスタンスの作成
関連付けの作成
メソッド インスタンスのテスト
LOB システム インスタンス メタデータのエクスポート
アプリケーション定義ファイルを共有サービスのプロバイダにインポートする
Business Data Catalog Definition Editor を使用して、既存のアプリケーション定義を修正する
次の手順
まとめ
追加情報
Business Data Catalog Definition Editor の概要
Microsoft Office SharePoint Server 2007 のビジネス データ カタログは、基幹業務 (LOB) データを公開し、リストおよびエンタープライズ検索など、他のベースライン ポータル機能に組み込みます。このデータをポータル サイトに組み込むには、アプリケーション定義ファイルを構築する必要があります。これは、データが保存される場所 (データベースに、または Web サービスとして)、およびデータの保存形式 (たとえば、データ タイプ、および主キーなど) を指定する XML ファイルです。
ビジネス データ カタログの詳細については、「ビジネス データ カタログ」を参照してください。エンタープライズ検索とビジネス データ カタログの詳細については、「ビジネス データ検索を有効にする」および「ビジネス データを検索する」を参照してください。データベースへの接続を作成するための Business Data Catalog Definition Editor の使用方法の詳細については、「Business Data Catalog Definition Editor を使用してデータベース接続を作成する」を参照してください。
Microsoft Business Data Catalog Definition Editor は、ビジネス データ カタログ用のアプリケーション定義ファイルの作成に役立ちます。このツールは定義ファイル用の XML を自動生成するため、ユーザーは XML エディタを使用して手作業でファイルを作成する必要がありません。
このトピックでは、新しい Business Data Catalog Definition Editor を使用して、ビジネス データ カタログ用のアプリケーション定義ファイルを作成する方法、および Web サービスへの接続を作成する方法を紹介します。ここでは、Microsoft Office SharePoint Server 2007 SDK に含まれる「[ウォークスルー] サンプル Web サービス」の例を使用します。
システム要件
開始する前に、以下をインストールする必要があります。
Microsoft Office SharePoint Server 2007 Enterprise Edition。
Microsoft Business Data Catalog Definition Editor。このツールは、SharePoint Server 2007 SDK: ソフトウェア開発キット の一部です (2007 年 8 月の 1.2 のリリースから)。
ビジネス データ カタログ アプリケーション定義ファイルを構築するには、以下の手順を実行します。
LOB システムの追加
LOB システムを追加して開始します。
LOB システムを追加するには
[スタート] メニューの [Microsoft Business Data Application Definition Editor] をクリックします。
ツールで、[LOB システムの追加] をクリックします。
図 1. LOB システムの追加
[LOB システムの追加] ウィンドウで、[Web サービスに接続] をクリックします。
Web サービスの URL を入力します。
図 2. Web サービス URL の入力
[接続] をクリックします。
[Web メソッドの追加] をクリックします。
図 3. Web メソッドの追加
以下のメソッドをデザイン画面にドラッグします。
GetChildCustomersForCustomer
GetCustomerIDs
GetCustomers
GetCustomerByID
[OK] をクリックします。
図 4. 追加された Web メソッド
[LOB システム名] ダイアログ ボックスで、"LOB システム名" フィールドに「SampleWebService」と入力し、[OK] をクリックして、Web サービスへの接続を作成します。
図 5. Web サービスへの接続の作成
SampleWebService LOB システム設定の構成
次に、認証モードおよびワイルドカード文字設定などの SampleWebService LOB システム設定を構成します。
SampleWebService LOB システム設定を構成するには
メタデータ オブジェクト ウィンドウで、[SampleWebService] ノードを選択します。
プロパティ ウィンドウで、WildCardCharacter フィールドに「$」と入力します。
注意
LOB システムによって、ワイルドカード文字は、通常 "$"、"*"、または "%" のいずれかです。
図 6. ワイルドカードのプロパティ
WsdFetchAuthenticationMode フィールドで、[パススルー] をクリックします。
図 7. WsdFetchAuthenticationMode のプロパティ
Customer エンティティ名と識別子の構成
これで、SampleWebService LOB システム用の Customer エンティティを構成できるようになりました。
Customer エンティティを構成するには
[SampleWebService] ノード、[エンティティ] ノードの順に展開します。
[エンティティ 0] ノードを選択します。
図 8. エンティティ 0 ノード
プロパティ ウィンドウで、"名前" フィールドに、「Customer」と入力します。
注意
"名前" フィールドから移動すると、DefaultDisplayName フィールドは自動的に更新されます。
図 9. エンティティの名前プロパティ
メタデータ オブジェクト ウィンドウで、[顧客] ノードを展開します。
[識別子] ノードを右クリックして、[識別子の追加] を選択します。
図 10. 識別子の追加
プロパティ ウィンドウで、"名前" フィールドに、「CustomerID」と入力します。
図 11. Customer エンティティ識別子の名前プロパティ
"ファイルの種類" フィールドで、[System.String] を選択します。
図 12. CustomerID の種類プロパティ
Customer Entity メソッドの構成
次に、以下の Customer Entity メソッドを構成します。
GetChildCustomersForCustomer
GetCustomerIDs
GetCustomers
GetCustomerByID
まず、各メソッドのメソッド パラメータをマップします。次に、GetCustomerIDs メソッドにフィルタを追加します。最後に、メソッド パラメータとフィルタを関連付けます。
GetChildCustomersForCustomer メソッドのパラメータをマップするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetChildCustomersForCustomer] ノードの順に展開します。
[パラメータ] ノード、[custid] ノードの順に展開します。
[custid] を選択します。
図 13. custid パラメータ
プロパティ ウィンドウで、[識別子] リストから、[CustomerID[顧客]] を選択します。
図 14. custid の識別子のプロパティ
メタデータ オブジェクト ウィンドウで、[GetChildCustomersForCustomer パラメータ] ノード内の [リターン] ノード、2 番目の [リターン] ノードの順に展開します。
[アイテム] ノードを展開して、[CustomerID] を選択します。
図 15. CustomerID のパラメータ
プロパティ ウィンドウで、[識別子] リストから、[CustomerID[顧客]] を選択します。
図 16. CustomerID 識別子のプロパティ
GetCustomerIDs メソッドのパラメータをマップするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomerIDs] ノードの順に展開します。
[パラメータ] ノード、[リターン] ノード、2 番目の [リターン] ノードの順に展開します。
[アイテム] ノードを展開します。
プロパティ ウィンドウで、[識別子] リストから、[CustomerID[顧客]] を選択します。
GetCustomers メソッドのパラメータをマップするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomers] ノードの順に展開します。
[パラメータ] ノード、[リターン] ノード、2 番目の [リターン] ノードの順に展開します。
[アイテム] ノードを展開して、[CustomerID] を選択します。
プロパティ ウィンドウで、[識別子] リストから、[CustomerID[顧客]] を選択します。
GetCustomerByID メソッドのパラメータをマップするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomerByID] ノードの順に展開します。
[パラメータ] ノード、[id] ノードの順に展開して、[id] を選択します。
プロパティ ウィンドウで、[識別子] リストから、[CustomerID[顧客]] を選択します。
メタデータ オブジェクト ウィンドウで、[GetCustomersByID パラメータ] ノード内の [リターン] ノード、2 番目の [リターン] ノードの順に展開します。
[アイテム] ノードを展開して、[CustomerID] を選択します。
プロパティ ウィンドウで、[識別子] リストから、[CustomerID[顧客]] を選択します。
GetCustomers メソッドのフィルタを構成するには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomers] ノードの順に展開します。
[フィルタ] を右クリックし、[フィルタの追加] をクリックします。
図 17. GetCustomers メソッドの名前の追加フィルタ
プロパティ ウィンドウで、"名前" フィールドに、「Name」と入力します。
図 18. 顧客名の取得フィルタの名前プロパティ
"フィルタ タイプ" フィールドで、[ワイルドカード フィルタ] を選択します。
図 19. 顧客名の取得フィルタのフィルタ タイプ プロパティ
手順 1. ~ 3. を繰り返しますが、今回は、"名前" フィールドに「Limit」と入力します。
"フィルタ タイプ" フィールドで、[等しい] を選択します。
図 20. 顧客名の取得の制限フィルタのフィルタ タイプ プロパティ
パラメータとフィルタを関連付けるには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomers] ノードの順に展開します。
[パラメータ] ノード、[名前] ノードの順に展開します。
[名前] を選択します。
図 21. GetCustomers name パラメータ
プロパティ ウィンドウで、[FilterDescriptor] リストから、[名前] を選択します。
図 22. GetCustomers name パラメータの FilterDescriptor プロパティ
limit パラメータに対して、手順 1. ~ 3. を繰り返します。
プロパティ ウィンドウで、[FilterDescriptor] リストから、[制限] を選択します。
メソッド インスタンスの作成
ここで、以下のメソッド インスタンスを作成します。
GetCustomerIDs メソッドに対する IDEnumerator メソッド インスタンス タイプ
GetCustomers メソッドに対する Finder メソッド インスタンス タイプ
GetCustomerByID メソッドに対する Specific Finder メソッド インスタンス タイプ
GetCustomerIDs IDEnumerator メソッド インスタンスを作成するには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomerIDs] ノードの順に展開します。
[インスタンス] を右クリックし、[メソッドの追加インスタンス] を選択して、[メソッドの作成インスタンス] ウィンドウを開きます。
図 23. GetCustomerIDs のメソッドの追加インスタンス
[メソッドの作成インスタンス] ウィンドウで、[メソッド インスタンス タイプ] に [Id Enumerator] を選択して、[OK] をクリックします。
図 24. メソッドの選択インスタンス タイプ
プロパティ ウィンドウで、"名前" フィールドに、「GetCustomerIDsInstance」と入力します。
図 25. GetCustomerIDs メソッド インスタンスの名前プロパティ
GetCustomers Finder メソッド インスタンスを作成するには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomers] ノードの順に展開します。
[インスタンス] を右クリックし、[メソッドの追加インスタンス] を選択して、[メソッドの作成インスタンス] ウィンドウを開きます。
[メソッド インスタンス タイプ] に [検索] を選択して、[OK] をクリックします。
プロパティ ウィンドウで、"名前" フィールドに、「GetCustomersInstance」と入力します。
GetCustomerByID Specific Finder メソッド インスタンスを作成するには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetCustomerByID] ノードの順に展開します。
[インスタンス] を右クリックし、[メソッドの追加インスタンス] を選択して、[メソッドの作成インスタンス] ウィンドウを開きます。
[メソッド インスタンス タイプ] に [固有の検索] を選択して、[OK] をクリックします。
プロパティ ウィンドウで、"名前" フィールドに、「GetCustomerByIDInstance」と入力します。
関連付けの作成
次に、GetChildCustomersForCustomer メソッドに対する関連付けを作成します。
関連付けを作成するには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード、[GetChildCustomersForCustomer] ノードの順に展開します。
[インスタンス] を右クリックし、[メソッドの追加インスタンス] を選択して、[メソッドの作成インスタンス] ウィンドウを開きます。
[メソッド インスタンス タイプ] に [関連付け] を選択します。
"参照元エンティティ" フィールドで、[顧客] を選択します。
"リターン TypeDescriptor" フィールドの [リターン] ノードを選択します。
図 26. GetChildCustomersForCustomer メソッド インスタンスの作成
[OK] をクリックします。
プロパティ ウィンドウで、"名前" フィールドに、「CustomerToChildCustomers」と入力します。
図 27. GetChildCustomersForCustomer の名前プロパティ
メソッド インスタンスのテスト
これで、メソッド インスタンスをテストできるようになりました。
CustomerToChildCustomers メソッド インスタンスをテストするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード内の [GetChildCustomersForCustomer] ノード、[GetChildCustomersForCustomer] ノードの順に展開します。
[CustomerToChildCustomers] を右クリックし、[実行] を選択して、メソッド インスタンスの [実行] ウィンドウを開きます。
図 28. CustomerToChildCustomers メソッド インスタンスの実行
[検索] ボタンをクリックするか、"値" フィールドの任意の場所をクリックして、[エンティティ インスタンスの選択] ウィンドウを開きます。
図 29. [CustomerToChildCustomers] ウィンドウの実行
[GetCustomerIDsInstance] を選択してから、[次へ] をクリックして、結果の最初のページを表示します。
図 30. GetCustomerIDsInstance メソッドの結果
結果に返された CustomerID の値のいずれか 1 つを選択し、[OK] をクリックして、[実行] ウィンドウに戻ります。
図 31. CustomerID の選択
[実行] をクリックして、選択した CustomerID と関連付けた顧客データを表示します。
図 32. CustomerToChildCustomers メソッドの結果
表示された顧客データが指定した CustomerID に対するデータであることを確認します。
GetCustomerIDsInstance メソッド インスタンスをテストするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード内の [GetCustomerIDs] ノード、[インスタンス] ノードの順に展開します。
[GetCustomerIDsInstance] を右クリックし、[実行] を選択して、メソッド インスタンスの [実行] ウィンドウを開きます。
図 33. GetCustomerIDsInstance メソッドの実行
[次へ] をクリックして、結果の最初のページを表示し、CustomerID が表示されることを確認します。
図 34. GetCustomerIDsInstance メソッドの結果
[次へ] をクリックして、結果のページを移動します。
GetCustomersInstance メソッド インスタンスをテストするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード内の [GetCustomers] ノード、[インスタンス] ノードの順に展開します。
[GetCustomersInstance] を右クリックし、[実行] を選択して、メソッド インスタンスの [実行] ウィンドウを開きます。
図 35. GetCustomersInstance メソッドの実行
"名前" フィールドにサンプル値「A」を入力します。
"制限" フィールドにサンプル値「2」を入力します。
[実行] をクリックして、サンプル クエリの結果を表示します。
クエリで 2 件を超える結果は返さず、"名前" フィールドの最初の文字は、[A] になります。
図 36. GetCustomersInstance メソッドの結果
GetCustomerByIDInstance メソッド インスタンスをテストするには
メタデータ オブジェクト ウィンドウで、[メソッド] ノード内の [GetCustomers] ノード、[インスタンス] ノードの順に展開します。
[GetCustomerByIDInstance] を右クリックし、[実行] を選択して、メソッド インスタンスの [実行] ウィンドウを開きます。
図 37. GetCustomerByIDInstance メソッドの実行
CustomerID フィールドに「1000」などの値を入力します。
[実行] をクリックして、入力した CustomerID の値に対する顧客データを表示します。
図 38. GetCustomerByIDInstance メソッドの結果
LOB システム インスタンス メタデータのエクスポート
エンティティ、関連付け、メソッドと共に LOB システムへの接続が Business Data Catalog Definition Editor 内で正しく構成されていることを確認したら、LOB システム インスタンス メタデータをアプリケーション定義ファイルにエクスポートする準備ができました。
メタデータをエクスポートするには
メタデータ オブジェクト ウィンドウの [SampleWebService] ノードを選択して、[エクスポート] をクリックします。
図 39. SampleWebService アプリケーション定義のエクスポート
ファイルを SampleWebService.xml として保存します。
図 40. SampleWebService アプリケーション定義ファイルの保存
アプリケーション定義ファイルを共有サービスのプロバイダにインポートする
次に、アプリケーション定義ファイルを Shared Services Provider (SSP) にインポートします。
アプリケーション定義ファイルを SSP にインポートするには
SharePoint 3.0 サーバーの全体管理 Web ページを開始するには、[スタート] ボタンをクリックし、[プログラム] をポイントします。[Microsoft Office Server] をポイントし、[SharePoint 3.0 サーバーの全体管理] をクリックします。
左側のナビゲーション ウィンドウで、SSP の名前をクリックします。
[ビジネス データ カタログ] セクションで、[アプリケーション定義のインポート] をクリックします。
[アプリケーション定義のインポート] ページで、SampleWebService.xml を参照して選択してから、[開く] をクリックします。
[インポート] をクリックします。
[参照] をクリックし、ファイルを探してダブルクリックします。
その他のアプリケーション定義設定はすべて既定値のままにして、[インポート] をクリックします。
Business Data Catalog Definition Editor を使用して、既存のアプリケーション定義を修正する
Business Data Catalog Definition Editor にインポートして、既存のアプリケーション定義ファイルのメタデータを修正することもできます。ビジネス データ カタログで既存のアプリケーションに対するアプリケーション定義を修正する場合は、まず、SSP からアプリケーション定義に対するメタデータ ファイルをエクスポートする必要があります。
注意
ビジネス データ カタログで既存のアプリケーションに対するアプリケーション定義を修正する場合は、アプリケーション定義をインポートする前に、まず、ビジネス データ カタログの元のアプリケーションを削除するか、アプリケーションのバージョン番号を更新する必要があります。
SSP からアプリケーション定義ファイルをエクスポートするには
SharePoint 3.0 サーバーの全体管理 Web ページを開始するには、[スタート] ボタンをクリックし、[プログラム] をポイントします。次に、[Microsoft Office Server] をポイントし、[SharePoint 3.0 サーバーの全体管理] をクリックします。
左側のナビゲーション ウィンドウで、SSP の名前をクリックします。
[ビジネス データ カタログ] セクションで、[アプリケーションの表示] をクリックします。
[アプリケーション] ボックスの一覧で、アプリケーション名をクリックします。
[アプリケーション定義のエクスポート] をクリックして、[アプリケーション定義のエクスポート] ページを開きます。
[エクスポート] をクリックし、[保存] をクリックします。
Business Data Catalog Definition Editor にアプリケーション定義ファイルをインポートして、メタデータを修正するには
[スタート] メニューで、[Microsoft Business Data Application Definition Editor] をクリックします。
[インポート] をクリックします。
アプリケーション定義ファイルの場所を参照して、[開く] をクリックします。
LOB システム データを Business Data Catalog Definition Editor に読み込んだ後、次のような LOB システム インスタンスに対する複数の変更を加えることができます。
接続文字列の変更
認証モードの変更
エンティティの追加または削除
次の手順
これらのタスクの完了後、ユーザーがビジネス データを検索できるように、このコンテンツをクロールしてエンタープライズ検索を構成することができます。エンタープライズ検索を構成する方法については、「[ウォークスルー] AdventureWorks ビジネス データ アプリケーション サンプルの検索を構成する」を参照してください。このシナリオの検索ユーザー インターフェイスをカスタマイズする方法の詳細については、「[ウォークスルー] 検索センターにタブおよびエンタープライズ検索 Web パーツを使うカスタム検索ページを追加する」を参照してください。
まとめ
Microsoft Office SharePoint Server 2007 のビジネス データ カタログを使用すると、ポータルの外でホストされている LOB データを Office SharePoint Server 2007 内のリストおよびエンタープライズ検索などの要素に統合できます。ビジネス データ カタログには、外部データ ソースへの接続を定義し、データ ソースから取得されるデータ タイプを識別するメタデータを含む定義ファイルが必要です。
Business Data Catalog Definition Editor を使用すると、LOB システム用の XML メタデータが自動的に生成され、ビジネス データ カタログ用のアプリケーション定義ファイルを容易に作成できます。
追加情報
ビジネス データ カタログと Office SharePoint Server 2007 の詳細については、以下のリソースを参照してください。