Comments
Transcript
JDeveloperとAgile 93 Webサービスを使用したAgile PLM
JDeveloper と Agile 93 Web サービスを使用 した Agile PLM Web アプリケーションの構築 チュートリアル Maneesh Agarwal、Venugopalan Sreedharan 共著 Agile PLM 開発 2009 年 10 月 目次 概要 ..................................................................................................................................................................... 4 このチュートリアルについて .............................................................................................................................. 4 所要時間 .............................................................................................................................................................. 4 はじめに .............................................................................................................................................................. 5 WSDL ファイルについて .................................................................................................................................... 5 新トピック(14) ............................................................................................................................................... 6 必要な環境の準備................................................................................................................................................ 6 新トピック(14) ............................................................................................................................................... 7 Web サービス・アプリケーションの構築 ........................................................................................................... 7 Web サービス・プロキシの作成 ......................................................................................................................... 9 Web サービス CollaborationPOJO の作成 ........................................................................................................ 12 POJO 用データ・コントロールの作成.............................................................................................................. 16 Web ページの設計............................................................................................................................................. 16 ナビゲーション・ケースの作成 ........................................................................................................................ 17 索引ページの設計.............................................................................................................................................. 18 ステータス情報ページの設計 ............................................................................................................................ 20 Web アプリケーションのテスト ....................................................................................................................... 22 手順 ................................................................................................................................................................... 22 まとめ ............................................................................................................................................................... 26 チュートリアルの目的 ...................................................................................................................................... 26 参考資料 ............................................................................................................................................................ 26 目次 3 第1章 概要 この章に含まれる内容は、以下のとおりです。 このチュートリアルについて .............................................................................................................. 4 所要時間............................................................................................................................................... 4 このチュートリアルについて このチュートリアルでは、Oracle JDeveloper 11.1.1.1.0 と Oracle Application Development Framework(Oracle ADF)コンポーネントを使用して、Agile Product Lifecycle Management(Agile PLM)向けにカスタマイズし た Web アプリケーションを構築します。ここでは、Agile 93 の Web サービスを JSF ページから利用すること で、サポートされる Agile PLM 機能を拡張します。このチュートリアルの目的は、Oracle ADF コンポーネント および Web サービスを使用した Agile 93 用カスタム・ユーザー・インタフェースの作成方法を学習すること です。 所要時間 このチュートリアルを完了するには、約 45 分間かかります。 4 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 2 章:はじめに 第2章 はじめに この章に含まれる内容は、以下のとおりです。 WSDL ファイルについて ..................................................................................................................... 5 新トピック(14) ................................................................................................................................ 6 必要な環境の準備 ................................................................................................................................ 6 WSDL ファイルについて WSDL 拡張子の付いたファイルには、Web Service Description Language(WSDL)で記述された Web サービ ス・インタフェースが含まれます。WSDL は、World Wide Web Consortium により指定された標準 XML ドキュ メント・タイプです。WSDL ファイルは、Web サービスのプロデューサとコンシューマの間でインタフェース 情報を伝達するために使用されます。このファイルには、Web サービスを使用するためにクライアント・アプ リケーションに必要なすべての情報が含まれています。 WSDL 記述があれば、クライアントは、Web サービスの実装に関する詳しい知識がなくても、Web サービス の機能を利用できます。 WSDL ファイルには、クライアントが Web サービスのメソッドを起動するために必要とされる以下の情報が 含まれます。 メソッドのパラメータまたは戻り値として使用されるデータ型 個々のメソッド名とシグネチャ(WSDL ではメソッドはオペレーションと呼ばれます) 各メソッドに使用できるプロトコルとメッセージ形式 Web サービスへのアクセスに使用される URL WSDL ファイルについて 5 新トピック(14) Agile WSDL ファイルに記述された Web サービスは、Agile メタデータの取得、ビジネス・オブジェクトの検 索、添付ファイルのダウンロード、表の操作、コラボレーション・タスクの実行に使用されます。このチュー トリアルでは、Agile Collaboration Web サービス用のスタブを生成し、これらのサービスを起動する Web アプ リケーションを設計します。設計する Web ページでは、ユーザーを認証し、任意のルーティング可能なオブジェ クトのステータスを問い合わせて、そのオブジェクトのステータスをユーザーが変更できるようにする必要が あります。 必要な環境の準備 アプリケーションの構築を始める前に、次のタスクを完了しておく必要があります。 Oracle JDeveloper 11.1.1.1.0 をインストールすること。この製品は、Oracle Technology Network(OTN) Web サイト(http://www.oracle.com/technology/documentation/agile.html)からダウンロードできます。 Agile PLM Release 9.3 にアクセスし、ユーザー・アカウントを作成すること。 Agile サーバー上で利用可能な Web サービスに対する WSDL ファイルの場所を確認すること。 Web サービスの一覧については、http://<Agileserver>:<port>/CoreService/services を参照してください。 6 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) 第3章 新トピック(14) この章に含まれる内容は、以下のとおりです。 Web サービス・アプリケーションの構築............................................................................................ 7 Web サービス・プロキシの作成 .......................................................................................................... 9 Web サービス CollaborationPOJO の作成 ......................................................................................... 12 POJO 用データ・コントロールの作成 .............................................................................................. 16 Web ページの設計 ............................................................................................................................. 16 ナビゲーション・ケースの作成 ......................................................................................................... 17 索引ページの設計 .............................................................................................................................. 18 ステータス情報ページの設計 ............................................................................................................ 20 Web サービス・アプリケーションの構築 Web サービス・アプリケーションを構築するには、以下の手順に従います。 1. Oracle JDeveloper を起動します。 2. 起動時のユーザー・ロールを指定するプロンプトで、 「Default Role」を選択します。 3. アプリケーション・ナビゲータを開き、 「New Application」を選択します。 Web サービス・アプリケーションの構築 7 4. Create Application ダイアログ・ボックスで、Application Name フィールドに Agile Web Services と入力し、 Application Package Prefix フィールドに oracle と入力します。Application Template ドロップダウン・リ ストから、 「Fusion Web Application (ADF)」を選択します。 5. Create Application ダイアログ・ボックスで、Application Name フィールドに Agile Web Services と入力 し、Application Package Prefix フィールドに oracle と入力します。 6. Application Template ドロップダウン・リストから、 「Fusion Web Application (ADF)」を選択します。 7. 「Finish」をクリックしたら、アプリケーションの作成は完了です。 8 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) アプリケーション・ナビゲータは、以下のように表示されます。 Web サービス・プロキシの作成 AgileCollaboration サービス用の Web サービス・プロキシを作成するには、以下の手順に従います。 1. 「Model」を右クリックして、 「New」を選択します。 Web サービス・プロキシの作成 9 New Gallery ウィザードが開きます。 2. New Gallery ウィザードで、以下を実行します。 a. 「All Technologies」タブを選択します。 b. Categories ペインで、 「Business Tier」→「Web Services」を選択します。 c. Items ペインで、 「Web Service Proxy」を選択します。 d. 「OK」をクリックして、次に進みます。 Create Web Service Proxy ウィザードが表示されます。 3. Create Web Service Proxy ウィザードで、以下を実行します。 a. 10 「Select Client Style」をクリックし、右側のペインで「JAX-RPC Web Logic Style」を選択します。 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) b. 「Select Web Service Proxy」をクリックし、WSDL Document URL:フィールドに、適切な AgileCollaboration サービスの URL を入力します(例:http://<AgileServer>:<Port>/CoreService/ services/Collaboration?wsdl’) 。次に、 「Next」をクリックすると、JDeveloper によりモデルが構築さ れ、この WSDL ファイル用のスタブが生成されます。 c. 「Specify Default Mapping Option」をクリックし、Package Name:フィールドに collaboration と 入力します。次に、 「Next」→「Run against a service deployed to an external server」をクリッ クします。 d. 「Next」を 2 回クリックし、 「Finish」をクリックしたら、Web サービス・プロキシの作成は完了です。 Web サービス・プロキシの作成 11 アプリケーション・ナビゲータに、生成された Web サービス・プロキシ・ファイルが表示されます。 Web サービス CollaborationPOJO の作成 Agile Web サービスでは、リクエスト変数とレスポンス変数の両方で ComplexType が使用されます。これらを ユーザー・インタフェース・コンポーネントとして公開するには、POJO クラスを作成して、すべての必要な フィールドを変数として宣言し、アクセッサを定義する必要があります。getStatus および changeStatus の Web サービスを起動するクライアント・コードは、このクラスのメソッドとして記述されます。これらのメソッ ドは、Web ページの ADF ボタンとして公開されます。 1. 「Model」を右クリックして「New」を選択し、General カテゴリの下の「Java Class」を選択します。 12 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) 2. クラス名として CollaborationPOJO を入力し、 「OK」をクリックします。 Web サービス CollaborationPOJO の作成 13 3. username と password という 2 つの変数を作成し、右クリックして「Generate accessors」を選択し ます。 4. Agile クラス識別子の値を格納する変数 classidentifier と、Agile オブジェクト番号の値を格納する変 数 objectidentifier を宣言します。同様に、Web サービス changeStatus を起動する際に使用する 変数 newstatus を宣言します。 注: これらの変数は、Web サービス getStatus を使用して、ルーティング可能なオブジェクト のステータスを取得する際に必要です。 5. Web サービスのレスポンス用に、GetStatusResponseType 型の変数と ChangeStatusResponseType 型の変数を 1 つずつ宣言します。 6. 宣言したすべての変数に対して、アクセッサを生成します。 7. getStatus メソッドと changeStatus メソッドを作成し、 Web サービス・プロキシを使用して Web サー ビスを起動するクライアント・コードを記述します。 ユーザー名およびパスワード情報を、Web サービス・ポートに設定する必要があります。これらの必須入 力値を使用してリクエストが構成され、Web サービスが Web サービス・プロキシの porttype オブジェ クトに基づいて起動されます。Agile Web サービスのクライアント・コードを記述する方法について、詳 しくは Agile 93 Web サービスのマニュアルを参照してください。 14 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) Web サービスのクライアント・コードをテストする場合、以下のサンプル・コードを参考にすることもできます。 Oracle ADF での複合型のリクエストおよびレスポンスについて、詳しくは次の記事とその参考資料を参照して ください。 http://www.oracle.com/technology/products/jdev/howtos/1013/wsadf/adfcomplexwstypes.html また、JDeveloper 11g では complexType がサポートされています。次の記事では、複合型入力パラメータの組込みサポー トを使用して、Agile Web サービスを利用する方法について説明されています。次のサイトの記事とその参考資料を参照し てください。 Web サービス CollaborationPOJO の作成 15 http://download.oracle.com/otndocs/technology/tech/fmw4apps/agile/pdf/adf11g-agile.pdf. ただし、このチュートリアルでは、POJO クラスを使用した complexType の処理についてのみを対象とします。 POJO 用データ・コントロールの作成 POJO ファサード用のデータ・コントロールを作成するには、以下の手順に従います。 1. POJO クラス「CollaborationPOJO」を右クリックします。 2. 「Create Data Control」をクリックします。 CollaborationPOJO 用のデータ・コントロールが、Data Controls ペインに表示されます。 Web ページの設計 アプリケーションの Web ページを設計するには、以下に示す JSF ページ・フローと構成ファイルを使用します。 1. 「ViewController」プロジェクトを右クリックして、 「New」をクリックします。 2. Web Tier カテゴリで「JSF」を選択し、 「JSF Page Flow and Configuration」をクリックします。 16 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) これにより、Web ページの構成に使用する faces-config.xml ファイルが作成されます。 3. コンポーネント・パレットで「JSF Page」コンポーネントを選択して faces-config ダイアグラムにドラッ グしてから、名前を index.jspx に変更します。同様に、さらに 2 つの JSF ページを追加して、それぞれ名 前を StatusInfo.jspx、Changed_Status.jspx に変更します。 ナビゲーション・ケースの作成 このステップでは、最初の JSF ページから 2 番目の JSF ページへのナビゲーション・ケースを作成します。具 体的には、以下の手順に従います。 1. JSF Navigation Case コンポーネントを最初の JSF ページにドラッグし、2 番目の JSF ページへと線を引 きます。 このナビゲーション・ケースのデフォルト・ラベルを success から getstatus に変更します。 ナビゲーション・ケースの作成 17 2. 同様に、さらに 3 つのナビゲーション・ケースを以下のように追加します。 索引ページの設計 1. faces-config ダイアグラム・ビューで、JSF ページをダブルクリックします。 2. 「index.jsfx」をダブルクリックします。 3. 初期ページ・レイアウトとして、 「Oracle Three Column Layout」を選択します。 4. Page implementation ノードを開き、Do not automatically expose UI components in a managed bean オプションが選択されていることを確認します。 5. DataControls パネルで CollaboartionPOJO ノードを開き、ページ左側のペインに「username」フィー ルドをドラッグします。 18 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) 6. 「Create」→「Texts」→「ADF Input Text w / Label」を選択します。 7. 左 側 の ペ イ ン に 「 password 」 フ ィ ー ル ド を ド ラ ッ グ し 、 中 央 の ペ イ ン に 「 classidentifier 」 と 「objectidentifier」をドラッグします。 8. プロパティ・インスペクタを使用して、 パスワードの入力テキストの Appearance を secret に変更します。 9. 中央のペインに「getStatus」オペレーションをドラッグし、 「Create」→「Methods」→「ADF Button」 を選択します。 このオペレーションは POJO クラスのメソッドにバインドされており、任意の Agile PLM ルーティング可 能オブジェクトのステータスを問い合わせる Web サービス getStatus を起動します。 10. プロパティ・インスペクタで、このボタンの Action の値を編集し、 「getstatus」を選択します。これは、 faces-config.xml で定義したナビゲーション・ケースの名前です。 索引ページの設計 19 ここまでを完了すると、ページは以下のようになります。 ステータス情報ページの設計 この手順は、前のステップと類似しています。faces-config.xml に戻り、 「StatusInfo.jspx」をダブルクリック します。索引ページと同様に、このページを定義します。これで、Web サービスの処理結果を表示する準備が 整いました。 1. Data Controls ペインで、getStatusResponse ノードを開きます。 2. StatusCode を開き、 「value」要素を Web ページ右側のペインにドラッグします。 この値は、Web サービスが正しく実行されたかどうかを表します。 3. getStatusResponse から「statusResponse」を選択し、中央のパネルにドラッグしてから、 「Create」→ 「Tables」→「ADF Read Only Table」を選択します。 20 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 3 章:新トピック(14) 4. 次に示すとおり、デフォルト値のままにして「OK」をクリックします。 5. 同様に、Exceptions ノード内の「exception」要素と Warnings ノード内の「warning」要素をドラッグ し、読取り専用表としてドロップします。これにより、Web サービスの起動時に発生した警告または例外 が取得できます。 6. コンポーネント・パレットからボタンをドラッグし、ラベルとして Back を指定します。 7. プロパティ・インスペクタで Action プロパティを編集し、ナビゲーション・ケースに先ほど定義した「back」 を選択します。 ステータス情報ページの設計 21 第4章 Web アプリケーションのテスト この章に含まれる内容は、以下のとおりです。 手順 .................................................................................................................................................... 22 手順 テストでは、C00001 という名前の ECO のステータスを確認します。Web アプリケーションをテストするに は、以下の手順に従います。 1. 「Save All」をクリックします。 2. index.jspx を開き、右クリックしてから「Run」を選択します。 3. これにより、すでに実行中でない場合は Web Logic サーバーが起動され、アプリケーションがデプロイされ ます。その後、テスト用の Web ページが自動的に表示されます。索引ページは以下のように表示されます。 4. Agile 用のユーザー名とパスワードを入力し、さらに ECO、C00001 と入力します。 5. 「getStatus」をクリックして、ECO C00001 のステータスを問い合わせます。 22 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 4 章:Web アプリケーションのテスト ステータス情報ページに、Web サービスの問合せ結果から取得された情報が表示されます。 次に、この Web アプリケーションを拡張して、ルーティング可能な Agile オブジェクトのステータスを変更し ます。具体的には、以下の手順に従います。 6. CollaborationPOJO データ・コントロールの「newStatusIdentifier」変数を選択し、JSF ページ StatusInfo の入力として公開します。 7. 「changeStatus」オペレーションをドラッグして ADF ボタンを選択したら、アクション・プロパティに 「changestatus」ナビゲーション・ケースを選択します。 このボタンにより Web サービス changeStatus が起動され、ユーザーは 3 番目の JSF ページである ChangedStatus.jsfx にリダイレクトされます。 手順 23 8. ChangedStatus.jsfx を定義したら、ステータス・コード要素を Web ページにドラッグして、出力テキス ト・コンポーネントとして設定します。エンドユーザーは、この値から、オブジェクトが新しいステータ スに正しくルーティングされたかどうかを判断できます。 変更を行った後の Web ページは、以下のようになります。 24 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 4 章:Web アプリケーションのテスト Web サービス changeStatus の処理が成功すると、以下のページが表示されます。 手順 25 第5章 まとめ この章に含まれる内容は、以下のとおりです。 チュートリアルの目的 ....................................................................................................................... 26 参考資料............................................................................................................................................. 26 このチュートリアルでは、Agile 93 Web サービスの機能を使用して、ルーティング可能な Agile オブジェクト のステータスの問合せと変更を行う Web アプリケーションを作成しました。ここで学習した内容は、以下のと おりです。 WSDL ファイルを使用して、Agile Web サービス用のデータ・モデルを作成する POJO ファサードにデータ・コントロールを作成することで、必要な Web サービスを公開する 索引、ステータス情報、ステータス変更の各 Web ページに、ページ・フローおよびナビゲーション・ケー スを作成する JSF ページを実行して、Agile Web サービスを利用する チュートリアルの目的 このチュートリアルでは、Agile 93 Web サービスが提供する機能を使用して、ルーティング可能な Agile オブ ジェクトのステータスの問合せと変更を行う Web アプリケーションを作成しました。ここで学習した内容は、 以下のとおりです。 WSDL ファイルを使用した、Agile Web サービス用のデータ・モデルの作成 POJO ファサードにデータ・コントロールを作成することで、必要な Web サービスを公開する 索引、ステータス情報、ステータス変更の各 Web ページに、ページ・フローおよびナビゲーション・ケー スを作成する JSF ページを実行して、Agile Web サービスを利用する 参考資料 Oracle ADF および Oracle JDeveloper について、詳しくは以下を参照してください。 26 Oracle Technology Network(OTN)Web サイト上の Oracle Application Developer Framework ホームペー ジ(http://www.oracle.com/technology/documentation/agile.html) 。 JDeveloper と Agile 93 Web サービスを使用した Agile PLM Web アプリケーションの構築 第 5 章:まとめ OTN 上の Oracle JDeveloper ホームページ(http://www.oracle.com/technology/products/jdev/index.html)。 Oracle JDeveloper は無償の統合開発環境であり、 Java アプリケーションおよび Web サービスのモデル化、 開発、デバッグ、最適化、およびデプロイをエンド・ツー・エンドでサポートします。 参考資料 27