手順 2: Siebel ビジネス コンポーネント操作用のアプリケーション定義ファイルを作成する
完了までの時間: 15 分
目的:Business Data Catalogは、基幹業務 (LOB) アプリケーションのデータを公開し、ポータルに組み込みます。 このデータをポータル サイトに組み込むには、Microsoft Office SharePoint Server で使用できるアプリケーション定義ファイルを作成する必要があります。
ビジネス Data Catalog定義エディター ツールを使用すると、ビジネス Data Catalogのアプリケーション定義ファイルを作成できます。 このツールは、定義ファイルの XML を自動的に生成します。 したがって、XML エディターでファイルを手動で作成する必要はありません。
作成する Microsoft Office SharePoint Server アプリケーションの目的は、取引先企業コンポーネントに対してクエリ操作を実行してレコードの一覧を取得することです。 これを実現するには、ビジネス Data Catalog定義エディターで一連のタスクを完了する必要があります。 このトピックでは、これらのタスクを実行する方法について説明します。
前提条件
ビジネス Data Catalog定義エディターが Microsoft Office SharePoint Server 2007 SDK の一部としてインストールされている必要があります。
「手順 1: Siebel ビジネス コンポーネント操作を WCF サービスとして発行する」の説明に従って、WCF サービスを発行する必要があります。
アプリケーション定義ファイルの作成
このセクションでは、WCF サービス用のアプリケーション定義ファイルを作成する手順について説明します。
WCF サービスに接続し、エンティティを作成する
WCF サービスに接続して、サービスの Web サービス記述言語 (WSDL) を抽出する必要があります。 WSDL から、ビジネス Data Catalog定義エディターによってメソッドが抽出されます。 これらのメソッドを使用してエンティティを作成できます。 この例では、Account ビジネス コンポーネントに対するクエリ操作用に 1 つのエンティティを作成する必要があります。
WCF サービスに接続し、エンティティを作成するには
ビジネス Data Catalog定義エディターを起動します。 [スタート] メニューの [Microsoft Business Data Catalog 定義エディター] をクリックします。
ツールで、[ LOB システムの追加] をクリックします。
[LOB システムの追加] ウィンドウで、[ Web サービスへの接続] をクリックします。
[URL] ボックスに、WCF サービスの URL を入力します。 URL は次の形式である必要があります。
https://<computer_name>/Siebel_Account/BusinessObjects_Account_Account_Operation.svc?wsdl
ここで、BusinessObjects_Account_Account_Operation.svc は Siebel コントラクト用に作成されたサービス ファイルです。
「 手順 1: Siebel ビジネス コンポーネント操作を WCF サービスとして発行する」の説明に従って、WCF サービスが正常に発行されたかどうかをテストするときに、入力する必要がある URL を使用できます。
[Connect] をクリックします。
[ Web メソッドの追加 ] タブをクリックすると、WCF アダプター サービス開発ウィザードで選択した操作が表示されます。 Query メソッドが表示されます。
Query メソッドをデザイン画面にドラッグし、[OK] をクリックします。
[ LOB システムの名前を入力 してください] ダイアログ ボックスで、[ LOB システム名 ] ボックスに名前を入力します。 この例では、「」と入力
Siebel_Account
し、[ OK] をクリックします。 エンティティ Entity0 は、ビジネス Data Catalog定義エディターで作成されます。重要
ビジネス Data Catalog定義エディター ツールは、列挙データ型を処理しません。 そのため、ビジネス Data Catalog定義エディター ツールは、列挙されたデータ型が検出されるまでフィールドをインポートし、残りのフィールドを無視します。 ビジネス Data Catalog定義エディター ツールでもエラーが発生します。 このエラーは無視して、[OK] をクリックして続行できます。 後の段階で、アプリケーション定義ファイルに必要なフィールドを手動で追加できます。
よりわかりやすい名前を使用するようにエンティティ名を変更します。 この例では、 Entity0 を Account に変更 します。
[Siebel_Account] ノードを展開し、[エンティティ] ノードを展開します。
[Entity0] ノードを選択します。
[プロパティ] ウィンドウの [名前] フィールドに「 Account 」 と 入力します。
に変更する
メソッドのユーザー名とパスワード ヘッダーを指定する
Siebel システムで選択したビジネス コンポーネント操作の WCF サービスを作成するときに、エンドポイント動作構成の一部としてユーザー名とパスワード ヘッダーを指定しました (手順 1: Siebel ビジネス コンポーネント操作を WCF サービスとして発行する)。 メソッドのプロパティには同じ値を指定する必要があります。
Query メソッドのユーザー名とパスワード ヘッダーを指定するには
[メタデータ オブジェクト] ペインで、[ アカウント ] ノードを展開し、[メソッド] ノード を 展開します。
[ クエリ ] ノードをクリックし、[プロパティ] ペインの [ プロパティ ] フィールドに対する省略記号 (...) ボタンをクリックします。
[PropertyView コレクション エディター] ダイアログ ボックスで、[追加] をクリックし、[プロパティ] ウィンドウで[名前] フィールドに「」と入力
HttpHeaderUserName
します。 同様に、PropertyValue フィールドに「」と入力MyUserHeader
します。 [種類] フィールドに [System.String ] を 選択 します。を追加する
[PropertyView コレクション エディター] ウィンドウで [追加] をクリックし、[プロパティ] ウィンドウで[名前] フィールドに「」と入力
HttpHeaderPassword
します。 同様に、PropertyValue フィールドに「」と入力MyPassHeader
します。 [種類] フィールドに [System.String ] を 選択 します。[OK] をクリックします。
Siebel システムへの接続用にシングル Sign-On を設定する
このトピックのすべての手順を完了すると、SharePoint アプリケーションにインポートできるアプリケーション定義 XML が作成されます。 アプリケーションから、Siebel ビジネス コンポーネント操作 (Web メソッドとして公開) を呼び出して、Siebel システムから関連データを取得します。 これを有効にするには、Siebel システムのユーザーと SharePoint アプリケーションのユーザーの間にマッピングを作成する必要があります。 このマッピングは、アプリケーション定義 XML をインポートした後、SharePoint サーバーの全体管理 Web サイトで作成します。
ただし、マッピングを作成するには、ビジネス Data Catalog定義エディターで SecondarySsoApplicationId プロパティを設定する必要があります。
SecondarySsoApplicationId プロパティを設定するには
[メタデータ オブジェクト] ペインで、[ Siebel_Account ] ノードを展開し、[ インスタンス ] ノードを展開します。
[ Siebel_Account_Instance ] をクリックし、[プロパティ] ウィンドウの [ プロパティ ] フィールドに対する省略記号 (...) ボタンをクリックします。
[PropertyView コレクション エディター] ウィンドウで [追加] をクリックし、[プロパティ] ウィンドウで[名前] フィールドに「SecondarySsoApplicationId」と入力します。 同様に、PropertyValue フィールドに「SiebelSSO」と入力します。 [種類] フィールドに [System.String ] を 選択 します。
を追加します
[OK] をクリックします。
要件: アカウント ビジネス コンポーネントに対してクエリ操作を実行する
この例の最初の要件は、Account ビジネス コンポーネントに対してクエリ操作を実行するために使用できるアプリケーション定義を作成することです。 この要件を満たすには、次の一連のタスクを実行する必要があります。
Query メソッドでフィルターを作成し、クエリ操作が実行されるパラメーターにマップします。 アカウント ビジネス コンポーネントの場合は、 SearchExpr パラメーターを使用してクエリを実行します。 そのため、フィルターを SearchExpr パラメーターにマップします。
Query メソッドの Finder メソッド インスタンスを作成します。 Finder メソッドは、フィルターに基づいてレコードの一覧を取得します。
フィルターを作成し、SearchExpr パラメーターにマップするには
Query メソッドのフィルターを作成します。
[メタデータ オブジェクト] ペインで、[ アカウント ] ノードを展開し、[メソッド] ノード を 展開します。
[クエリ] メソッドを展開し、[ フィルター] を右クリックし、[ フィルターの追加] をクリックします。
フィルターを追加する
[プロパティ] ペインで、[名前] フィールドに「」と入力
SearchExpression
します。[FilterType]\(フィルターの種類\) プロパティで、[Equals]\(等しい\) を選択します。
」と入力します
フィルターを Query メソッドの SearchExpr パラメーターにマップします。
[メタデータ オブジェクト] ペインで、[ アカウント ] ノードを展開し、[メソッド] ノード を 展開します。
Query メソッドを展開し、[ パラメーター] ノードを展開します。
AccountQueryInputRecord ノードを展開し、2 番目の AccountQueryInputRecord ノードを展開します。
[SearchExpr] ノードをクリックし、[プロパティ] ペインの [FilterDescriptor] リストから [SearchExpression] を選択します。
にマップする
重要
AccountQueryInputRecord には QueryFields ノードも含まれており、このノードには Item ノードが含まれます。 Item ノードを削除する必要があります。そうしないと、Account ビジネス コンポーネントに対するクエリ操作で目的の結果が得られない可能性があります。 [項目] ノードを削除するには、ノードを右クリックし、[削除] を選択します。
Query メソッドの Finder メソッド インスタンスを作成するには
[メタデータ オブジェクト] ペインで、[ アカウント ] ノードを展開し、[メソッド] ノード を 展開します。
[クエリ] ノードを展開し、[インスタンス] を右クリックし、[メソッド インスタンスの追加] をクリックして [メソッド インスタンスの作成] ウィンドウを開きます。
[メソッド インスタンスの作成] ウィンドウで、[メソッド インスタンスの種類] の [Finder] をクリックします。
[ Return From Return TypeDescriptor ] セクションをクリックします。
[OK] をクリックします。
[プロパティ] ペインで、[名前] フィールドに「」と入力
QueryAccount
します。の名前を指定します
System.Nullable 型のパラメーターを削除する
Query 関数の戻り値パラメーターには、System.Nullable 型のパラメーターが含まれている場合があります。 これらのパラメーターがアプリケーション定義に存在するため、SharePoint ポータルで Siebel データを表示しているときにエラーが発生する可能性があります。 そのため、アプリケーション定義から System.Nullable 型のパラメーターを削除する必要があります。
また、System.Nullable 型の各パラメーターについて、ビジネス Data Catalog定義エディターは System.Boolean 型の別のパラメーターを作成し、パラメーター名に "Specified" を追加します。 たとえば、パラメーター AccountRole は System.Nullable 型です。 そのため、ビジネス Data Catalog定義エディターは、AccountRoleSpecified パラメーターをパラメーターの一覧に追加します。 このようなパラメーターも削除する必要があります。
Note
パラメーターの種類を確認するには、ビジネス Data Catalog定義エディターでパラメーターを選択し、[プロパティ] ウィンドウで TypeName プロパティの値を確認します。
Note
アプリケーションに System.Nullable 型のパラメーターが含まれていない場合は、この手順をスキップできます。
Query メソッドの System.Nullable 型のパラメーターを削除するには
[メタデータ オブジェクト] ペインで、[ アカウント ] ノードを展開し、[メソッド] ノード を 展開します。
[ クエリ ] ノードを展開し、[ パラメーター] ノードを展開します。
Return ノードを展開し、2 番目の Return ノードを展開します。
削除するパラメーターを右クリックし、[削除] を選択 します。
ダイアログ ボックスで、 [OK] をクリックします。
アプリケーション定義をファイルにエクスポートする
これで、Siebel システム インスタンスメタデータを含むアプリケーション定義が作成されました。 この定義は、Microsoft Office SharePoint Server にインポートできる XML ファイルにエクスポートする必要があります。
アプリケーション定義をファイルにエクスポートするには
[メタデータ オブジェクト] ウィンドウで [Siebel_Account ] ノードを右クリックし、[ エクスポート] をクリックします。
ファイルを Siebel_Account.xml として保存します。
特定のパラメーターを含むようにアプリケーション定義ファイルを変更する
このトピックで既に説明したように、ビジネス Data Catalog定義エディター ツールは列挙データ型を処理しません。 ビジネス Data Catalog定義エディター ツールは、列挙されたデータ型が検出されるまでフィールドをインポートし、残りのフィールドを無視します。 そのため、アプリケーションで必要な特定のフィールドは省略される場合があります。 アプリケーション定義ファイルを手動で編集して、これらのフィールドを含めることができます。
Note
追加するパラメーターが、「 手順 1: Siebel ビジネス コンポーネント操作を WCF サービスとして発行する」の WCF アダプター サービス開発ウィザードによって生成された .cs ファイルに存在することを確認する必要があります。
このアプリケーション定義ファイルでは、 QueryAccount メソッドの戻り値パラメーターを追加または削除します。
アプリケーション定義ファイルを変更するには
Visual Studio またはその他のエディターを使用して、Siebel_Account.xml アプリケーション定義ファイルを開きます。
QueryAccount メソッドのパラメーターを置き換えるには、アプリケーション定義ファイルを変更します。
アプリケーション定義ファイル内で、次を検索します。
<TypeDescriptor TypeName="BDC.AccountQueryRecord,Siebel_Account" Name="Item">
タグ内で
<TypeDescriptors>
、既存<TypeDescriptor>
の要素を次のように置き換えます。<TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=<token>" Name="Id" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=<token>" Name="Country" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=<token>" Name="Name" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=<token>" Name="Location" />
ファイルを保存して閉じます。
ヒント
更新されたアプリケーション定義ファイルをビジネス Data Catalog定義エディター ツールにインポートして、新しく追加されたフィールドを確認できます。 ただし、インポートする前に、ビジネス Data Catalog定義エディター ツールから既存の "Siebel_Account" アプリケーションを削除する必要があります。
次の手順
次に、Siebel システムからデータを取得する SharePoint アプリケーションを作成する必要があります。 手順については、「 手順 3: Siebel からデータを取得する SharePoint アプリケーションを作成 する」を参照してください。