この章では、ADFタスク・フロー・ライブラリを使用し、特定のプロファイルをターゲット指定して、Webユーザー・インタフェースを実装する方法について説明します。ADFタスク・フロー・ライブラリにより、新規または既存のアプリケーションとWebインタフェースを簡単に統合させることができます。
ADFタスク・フローの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のADFタスク・フローの作成に関する項を参照してください。アプリケーションにUCP Webユーザー・インタフェースを実装するには、この章で説明しているタスクを実行します。
この章の内容は次のとおりです。
UCPサービスでは、エンド・ユーザーは、Webインタフェースから自分のチャネルとフィルタを管理することにより、通信プリファレンスを管理できます。エンド・ユーザーが自分の通信プリファレンスを制御できるようにするには、アプリケーション開発者は、アプリケーションにUCP Webユーザー・インタフェースを統合させる必要があります。UCPが提供するADFタスク・フロー・ライブラリにより、エンド・ユーザーがWebアプリケーションから自分のプリファレンスに直接アクセスできるリージョンをWebアプリケーションに簡単に追加できます。
ここでは、ADF Webアプリケーションを作成する方法、およびOracle JDeveloperのADFタスク・フロー・ライブラリを使用して既存のWebアプリケーションにページまたはリージョンを追加する方法について説明します。
UCP UIを新しいアプリケーションまたは既存アプリケーションと統合することができます。次の手順では、Oracle JDeveloperを使用して新しいアプリケーションにUCP UIを追加する手方法を説明します。既存のアプリケーションにUIを追加するには、アプリケーションの既存ページまたは新規ページに同様の方法でリージョンを追加します。Oracle Jdeveloperで新しいADF Webアプリケーションを作成するには、次のタスクを実行します。
Oracle JDeveloper 12cウィザードを開きます。左側の「アプリケーション・ナビゲータ」から「新規アプリケーション」を選択します。「新規ギャラリ」ウィンドウが表示されます。
「新規ギャラリ」ウィンドウで、項目リストから「ADF Fusion Webアプリケーション」を選択し、「OK」をクリックします。次の図のように、ADF Fusion Webアプリケーションの作成ウィンドウが表示されます。
このウィンドウで、アプリケーション名(たとえばMyApp)を入力します。また、アプリケーション・パッケージ接頭辞(たとえばoracle.ucp)を入力します。「終了」をクリックすると、新しいADFアプリケーションが作成されます。
UCPライブラリのバインド・タスク・フローを任意のリージョンに追加することにより、アプリケーションにシームレスな統合を提供できます。この項では、UCPタスク・フロー用のリージョンをホストするデモADF Webページを作成します。新しいADF Webページを作成するには、次のタスクを実行します。
左側のウィンドウ・ペインで、「ViewController」を右クリックしし、コンテキスト・メニューを表示します。
ViewControllerのコンテキスト・メニューで「新規」メニューから「ページ」を選択します。次の図のような「JSFページの作成」ウィンドウが表示されます。
このウィザードで、ファイル名(たとえばMyPage.jspx)を入力します。「ドキュメント・タイプ」メニューから「JSP XML」を選択します。
「ページ・レイアウト」メニューから「空白ページの作成」を選択します。「OK」をクリックします。新しいMyPage.jspxが作成されます。
ナビゲーション・ペインの「ViewController」ノードの下の「MyPage.jspx」をダブルクリックして、新しく作成したページを開きます。「MyPage.jspx」ウィンドウで、下のツールバーから「ソース」を選択し、次の図のように、ページのソース・コードを表示します。
UMSをOracle WebLogic Serverにデプロイしている場合、UCPタスク・フロー・ライブラリもサーバーにデプロイされています。ただし、JDeveloperインスタンスからUCPタスク・フロー・ライブラリにアクセスできない場合があります。したがって、タスク・フロー・ライブラリをアプリケーションに接続することが重要です。まず、JDeveloperインスタンスからライブラリへのファイルシステム接続を作成する必要があります。これを実行する手順を次に示します。
上のペインにあるツールバーの「ウィンドウ」タブをクリックし、ドロップダウン・リストを表示します。リストから「リソース」を選択し、Jdeveloperウィンドウの右側のペインに「リソース」タブを追加します。
「リソース」タブで、フォルダ・アイコンをクリックし、ドロップダウン・リストを表示します。リストで「IDE接続」に移動し、「ファイルシステム」を選択します。次の図のように、「ファイルシステム接続の作成」ウィザードが表示されます。
接続名(たとえばUCP Task Flow)を入力します。
「参照」をクリックし、UCPタスク・フロー・ライブラリが含まれるフォルダを選択します。このフォルダは、oracle_common
ディレクトリ内にあり、次のようなパスになります。
oracle_common/communications/modules/oracle.ucs.userprefs.webapp_x.x
x.xはバージョン番号です(2.0など)。
このフォルダに移動し、「選択」をクリックします。
「OK」をクリックします。ファイルシステム接続が作成されます。確認するには、右側のペインの「ファイルシステム」ナビゲーション・ツリーを開きます。「ADF Task Flows」フォルダを開くと、次の図のように、UserCommunicationPreferencesが表示されます。
ADFタスク・フロー・ライブラリのサポートにより、エンド・ユーザーがWebアプリケーションから直接自分のプリファレンスにアクセスできるリージョンをWebアプリケーションに追加できます。これを実現するには、次の手順を実行します。
新しく作成したページMyPage.jspxの「ソース」タブをクリックします。
右側のペインの「ファイルシステム」ナビゲーション・ツリーからUserCommunicationPreferencesタスク・フローをドラッグして、ページ・ソースの<af:form> </af:form>
タグ内にドロップし、このタグ内にリージョンを作成します。
次の図のようなコンテキスト・メニューが表示されます。
コンテキスト・メニューから、「リージョン」を選択します。確認を求めるウィンドウが表示されます。
「ライブラリの追加」をクリックします。「タスク・フロー・バインディングの編集」ウィザードが表示されます。
「入力パラメータ」の表に、profield
の値を入力します(たとえばsoa)。プロファイルID値を指定すると、作成したユーザー・インタフェースが、このプロファイル内のユーザー・フィルタとチャネルにしかアクセスできないようになります。これは、アプリケーションで指定するプロファイルと同じプロファイルにする必要があります。「OK」をクリックします。これで、リージョンがページに追加されました。
ユーザー・プリファレンス・ページを追加して既存のADF WebアプリケーションとUCPを統合する場合、この項で説明した同じ方法で、既存または新規のADFページにリージョンを追加できます。
UMSおよびUCPタスク・フロー・ライブラリがOracle WebLogic Serverにデプロイされている場合、アプリケーションにこれらのライブラリを組み込む必要はありません。weblogic.xml
ファイルからこれらのライブラリを参照する必要があります。これを実現するには、次の手順を実行します。
ナビゲーション・ペインで「ViewController」ノードを右クリックします。コンテキスト・メニューが表示されます。
コンテキスト・メニューから「新規」を選択し、「ギャラリから」をクリックします。新規ギャラリ・ウィザードが表示されます。
ナビゲーション・ペインで「一般」を開き、「デプロイメント・ディスクリプタ」を選択します。右側のペインの項目リストから「WebLogicデプロイメント・ディスクリプタ」を選択します。「OK」をクリックします。次の図を参照してください。
「WebLogicデプロイメント・ディスクリプタの作成」ウィザードが表示されます。
デプロイメント・ディスクリプタのリストから「weblogic.xml」を選択し、「次へ」をクリックします。次の画面で、デプロイメント・ディスクリプタのバージョンとして12.1.1以降を選択し、「次へ」をクリックします。「サマリー」ページで「終了」をクリックします。
ナビゲーション・ペインの「ViewController」ノードの下の「weblogic.xml」をダブルクリックして、新しく作成したファイルを開きます。「weblogic.xml」ウィンドウで、下のツールバーから「ソース」を選択し、ページのソース・コードを表示します。
weblogic.xml
ファイルで、UMSライブラリ(oracle.sdp.client)とUCPライブラリ(oracle.ucs.userprefs.webapp)の2つのライブラリを参照します。次の図に示されているように、次のライブラリ参照を追加します。
<library-ref><library-name>oracle.sdp.client</library-name></library-ref> <library-ref><library-name>oracle.ucs.userprefs.webapp</library-name></library-ref>
weblogic.xml
ファイルで2つのライブラリを参照しているので、アプリケーションでこれらのライブラリをパッケージ化する必要はありません。これはプロジェクト・デプロイメント・プロファイル経由で管理できます。これを実現するには、次の手順を実行します。
まずプロジェクト・デプロイメント・プロファイルを作成する必要があります。ナビゲーション・ペインで「ViewController」ノードを右クリックします。コンテキスト・メニューが表示されます。
コンテキスト・メニューで「デプロイ」をクリックし、「新規デプロイメント・プロファイル」を選択します。「デプロイメント・プロファイルの作成」ウィザードが表示されます。
「プロファイル・タイプ」ドロップダウン・リストから「WARファイル」を選択し、「OK」をクリックします。
プロジェクト・デプロイメント・プロファイルが作成されます。次に、ライブラリがアプリケーション内で確実にパッケージ化されないようにする必要があります。
「一般」タブで「Java EE Webコンテキスト・ルートを指定」オプションを選択し、次の図に示されているように、アプリケーション・コンテキスト・ルート(たとえばmyapp)を入力します。
ナビゲーション・ツリーから「WEB-INF/lib」の下の「フィルタ」を選択します。次の図に示されているように、右側のペインに表示されているすべての.jar
ファイルの選択を解除します。「OK」をクリックして、変更内容をデプロイメント・プロファイルに保存します。
これで、ライブラリは確実にアプリケーション内でパッケージ化されないようになりました。前述したように、重要なライブラリはweblogic.xml
ファイル内で参照されています。
新しいアプリケーション・デプロイメント・プロファイルを作成するには、次のタスクを実行します。
左側のペインの「アプリケーション」ドロップダウン・リストから「デプロイ」を選択し、コンテキスト・メニューの「新規デプロイメント・プロファイル」をクリックします。
「デプロイメント・プロファイルの作成」ウィザードが表示されます。
「プロファイル・タイプ」ドロップダウン・リストから「EARファイル」を選択し、アプリケーション・デプロイメント・プロファイルの名前(たとえばMyApp)を入力します。
「OK」をクリックすると、アプリーション・デプロイメント・プロファイルが作成されます。「EARデプロイメント・プロファイルのプロパティの編集」ウィザードが表示されます。
ナビゲーション・ツリーから「アプリケーション・アセンブリ」を選択します。
右側のペインで、「ViewController.jpr」ノードを開いて、次の図に示されているように、「webapp1」を選択してアプリケーションに組み込みます。
ツールバーで「すべて保存」をクリックし、アプリケーションを保存します。
次に、アプリケーションをWebLogicアプリケーション・サーバーにデプロイする必要があります。アプリケーション・サーバーをまだ構成していない場合、まず、アプリケーション・サーバー接続を構成する必要があります。
アプリケーションをデプロイするには、次のタスクを実行します。
「アプリケーション」ドロップダウン・リストから「デプロイ」を選択し、コンテキスト・メニューの「MyApp」をクリックします。「MyAppのデプロイ」ウィザードが表示されます。
「デプロイメント・アクション」画面で、「アプリケーション・サーバーへのデプロイ」を選択し、「次へ」をクリックします。
「サーバーの選択」画面で、アプリケーション・サーバーのリストからサーバーを選択し、「終了」をクリックして、アプリケーションをデプロイします。
目的のサーバーがアプリケーション・サーバーのリストに含まれていない場合は、第4.3.2項「アプリケーション・サーバー接続の構成」の手順に従って、サーバー接続を構成してください。
アプリケーション・サーバー接続が構成されていない場合、まず、次のタスクを実行してこれを構成する必要があります。
「アプリケーション」ドロップダウン・リストから「デプロイ」を選択し、コンテキスト・メニューの「MyApp」をクリックします。「MyAppのデプロイ」ウィザードが表示されます。
「デプロイメント・アクション」画面で、「アプリケーション・サーバーへのデプロイ」を選択し、「次へ」をクリックします。
「サーバーの選択」画面で、右上隅のプラス・アイコンをクリックします。
「アプリケーション・サーバー接続の作成」ウィザードが表示されます。
「接続名」フィールドに、サーバー接続名(MyServerなど)を入力します。「次へ」をクリックします。
「認証」画面で、アプリケーション・サーバーの管理者のユーザー名とパスワードを入力します。「次へ」をクリックします。
「構成」画面で、次の図に示されているように、ホスト名、ポート番号およびドメイン名を指定します。
「次へ」をクリックします。
「テスト」画面で、「接続のテスト」をクリックし、接続を検証します。テストが成功した場合は、「終了」をクリックします。これで、次の図に示されているように、アプリケーション・サーバー・リストに目的のアプリケーション・サーバーが表示されます。
新しく構成したアプリケーション・サーバーにアプリケーションをデプロイするには、リストからそのサーバーを選択し、「終了」を選択します。アプリケーションのデプロイメント成功の確認メッセージが表示されます。
アプリケーションにアクセスして、ユーザー・プリファレンスを管理できます。アプリケーションを検証するには、ブラウザを開いて、新しく作成したページのURL (たとえばhttp://localhost:7001/myapp/faces/MyPage.jspx)を指定します。次の図に示されているように、通信プリファレンスWebインタフェースが表示されます。
注意: ブラウザでアプリケーションに初めてアクセスする場合、空白ページが表示される場合があります。これは、アプリケーションに認証が含まれていない場合の予想される動作です。このデモでは、簡素化のため、認証は含まれていません。実際には、Webアプリケーションは適切な認証により保護することをお薦めします。 デモ・アプリケーションを認証なしでテストする場合、次の回避策を試すことができます。Oracle SSO保護Webアプリケーションが別にある場合は、このアプリケーションにまずログインして、同じブラウザから目的のアプリケーションにアクセスできます。このようにすると、空白ページではなく、認証ユーザーのチャネルとフィルタが表示されます。 |