ヘッダーをスキップ

Oracle WebCenter Framework チュートリアル
10g(10.1.3.2.0)

E05043-01
目次
目次
索引
索引

戻る 次へ

3 最初のポートレットの構築およびテスト

このレッスンでは、最初のポートレットを構築する方法を学びます。ポートレットを作成した後は、ポートレットをテストし、簡単なページを作成してから、ポートレットをページ上にドロップします。次に再びポートレットをテストしてから、ポートレットにいくつかのロジックを追加します。このレッスンを終えると、簡単なポートレットを構築およびテストするための手順を理解できます。

図3-1に、このレッスンを終えた時点での完成物の概念的な図を示します。MySampleという名前のWebCenterアプリケーションに、MyPageという名前のページ(MyPage.jspx)が含まれています。また、MyJavaPortletという名前のポートレットを作成します。このポートレットはMyPageに配置してからカスタマイズします。

図3-1    レッスン3を終えた時点でのMyPage.jspx


画像の説明

概要

次の手順で、ポートレットを構築してテストします。

このプロセスは、JDeveloperを使用してどのようなタイプのポートレットを構築するかにかかわらず、だいたい同じです。

手順1: JSR 168 Javaポートレット・ウィザードの使用

ポートレットを作成する前に、ポートレットのコンテナとなるアプリケーションを作成する必要があります。アプリケーションを作成するには、次のようにします。

  1. JDeveloperがインストールされている場所からjdev.exeをダブルクリックすることにより、JDeveloperを起動します。

  2. 「今日のヒント」が表示されたら、「閉じる」をクリックして閉じます。

  3. 「アプリケーション・ナビゲータ」タブが選択されていることを確認します(図3-2)。

    図3-2    JDeveloperでのアプリケーション・ナビゲータ


    画像の説明

  4. アプリケーション・ナビゲータで、「アプリケーション」を選択して右クリックします。

  5. 「新規アプリケーション」を選択します。

  6. 「アプリケーション名」フィールドにMySampleを入力します。

  7. MySampleのデフォルト場所を受け入れ、書き留めておきます。「手順3: ポートレットのデプロイ」で、この場所が必要になります。

  8. 図3-3に示す「アプリケーション・テンプレート」プルダウンから、「WebCenterアプリケーション[ポートレット、コンテンツ・リポジトリ、JSF]」を選択します。

    このテンプレートによって、必要なプロジェクトが作成され、WebCenterアプリケーションに適用可能なオプションのみが表示されるようにターゲットのJDeveloperが設定されます。

    図3-3    新しいアプリケーションの作成


    画像の説明

  9. 「OK」をクリックします。

    アプリケーション・ナビゲータ(図3-4)で、WebCenterアプリケーションが次の3つのプロジェクトで構成されていることがわかります。

    • Model: ここでは、アプリケーションがバックエンド・ロジックを実行する場合に必要となるJavaBeansおよびその他のデータ・コントロールを定義します。

    • Portlets: ここでは、ポートレットを作成します。

    • ViewController: ここでは、ポートレットを消費するJavaServer Facesページを作成します。

      図3-4    新しいMySampleアプリケーション


      画像の説明

    今度は、JSR 168 Javaポートレット・ウィザードを起動してポートレットを作成します。

  10. アプリケーション・ナビゲータで、「Portlets」を右クリックし、「新規」を選択します。

  11. 「カテゴリ」ペイン(図3-5)で、「Web Tier」カテゴリを開き、「Portlets」をクリックします。

    図3-5    ポートレットの新規ギャラリ


    画像の説明

    作成できるポートレットは、次の2種類です。

    • Oracle PDK Javaポートレット。WebCenterアプリケーション、OracleAS Portal、またはその他のタイプのOracle固有ソリューションによって消費されるポートレットを構築する場合は、このオプションを選択します。Oracle PDK Javaポートレットは、PDKにより提供されたAPIを使用して構築します。

    • 規格に基づいた(JSR 168)Javaポートレット。Javaポートレットは、ポートレット規格をサポートするあらゆるベンダーからのポータルによって消費できます。このチュートリアルでは、規格に基づいた(JSR 168)Javaポートレットを構築します。

  12. 「規格に基づいたJavaポートレット(JSR 168)」を選択し、「OK」をクリックします。

    これによって、JSR 168 Javaポートレット・ウィザードが開きます(図3-6)。

    図3-6    JSR 168 Javaポートレット・ウィザードの「ようこそ」ページ


    画像の説明

    JSR 168 Javaポートレット・ウィザードによって、ポートレットのスケルトンが生成されます。このスケルトンに、独自のロジックを追加します。これから、その方法を示します。

  13. 「次へ」をクリックして、「ようこそ」ページの先に進みます。

  14. 「Webアプリケーション」ページでは、指定されているデフォルトをそのままにしておきます(図3-7)。サーブレット・バージョンの選択によって、使用可能なタグ・ライブラリが決まります。これらは下位互換性があるため、古いバージョンを選択するための特別な理由がないかぎりは、常に最新のバージョンを選択することをお薦めします。

    図3-7    Webアプリケーション・バージョンの選択


    画像の説明

  15. 「次へ」をクリックします。

  16. 「一般ポートレット・プロパティ」ページで、「名前」および「クラス」の名前をMyJavaPortlet(空白なし)に変更します(図3-8を参照)。

    通常は、ページに表示されるポートレットの名前とアプリケーション・ナビゲータに表示される名前が同じになるように、クラス名と表示名を同じにすることをお薦めします。

    図3-8    「一般ポートレット・プロパティ」ページ


    画像の説明

  17. 「Oracle拡張機能を使用してWSRP V2のポートレット間通信を可能にします。」を選択します。

    WSRPのポートレット間通信については、このチュートリアルの以降の部分で学びます。

  18. 「一般ポートレット・プロパティ」ページに表示されているその他のデフォルトを受け入れます(図3-8)。

    ユーザーが実行時にこのポートレットをパーソナライズできるように、「編集可能」ボックスが選択されていることを確認します。(「編集可能」を選択すると、ポートレットがパーソナライズ可能になります。ユーザーは、自分のみに適用する変更を行うとき、ポートレットをパーソナライズします。それより上位の権限セットを持つユーザーは、ポートレットをカスタマイズして、誰もに表示される変更を行うことができます。詳細は後で説明します。)

  19. 「次へ」をクリックします。

  20. 「名前と属性」ページで、図3-9に示した値を入力します。

    表3-1    「名前と属性」の値 
    プロパティ   

    表示名 

    JDeveloperのコンポーネント・パレットに表示される名前。クラス名としてMyJavaPortletを入力したため、このフィールドにはすでにその名前が移入されています。 

    ポートレット・タイトル 

    ポートレット・ヘッダーに表示されるタイトル。クラス名としてMyJavaPortletを入力したため、このフィールドにはすでにその名前が移入されています。  

    短いタイトル 

    モバイル機器のポートレット・ヘッダーに表示されるタイトル。このフィールドは使用しませんが、移入されたままにしておいてかまいません。  

    説明 

    ポートレットの説明。このフィールドは、ポートレットをOracleAS Portal 10g環境で使用する場合にのみ関連します。このフィールドは空白のままにしておきます。 

    キーワード 

    sample, Tutorialと入力します。「キーワード」には、ユーザーが検索中にページ、項目またはポートレットを見つけられるように、これらの追加情報が表示されます。キーワードはOracle WebCenter SuiteでもOracleAS Portal 10gでもサポートされていませんが、他のベンダーではサポートされます(デプロイメント環境を他のベンダーから取得した場合)。  

    図3-9    「名前と属性」ページ


    画像の説明

  21. 「次へ」をクリックします。

    「コンテンツ・タイプとポートレット・モード」ページで、text/htmlがデフォルトのコンテンツ・タイプになっていることに注意してください。これは、ポートレットがHTMLでエンコードされたテキストをサポートするということです。text/htmlのデフォルトのポートレット・モードとして「view」と「edit」がリストされます。「view」はポートレット・モードとして常に使用可能です。「edit」モードを選択すると、ユーザーがポートレット・インスタンスをパーソナライズできるページが提供されます。

    このチュートリアルの以降の部分で、このポートレットを使用したパーソナライズとカスタマイズの違いをテストします。このため、ここでポートレットのカスタマイズを有効にしておく必要があります。カスタマイズを有効にするには、「edit_defaults」コンテンツ・タイプをポートレットの構成に追加します。

  22. 「コンテンツ・タイプとポートレット・モード」ペイン(図3-10)で、「view」を選択し、「追加」をクリックします。

    ポートレット・モード・ウィンドウが表示されます。

  23. 「edit_defaults」を選択し、矢印を使用して「選択」ペインに移動します。

    図3-10    ポートレット・モードの追加


    画像の説明

  24. 「OK」をクリックします。

    「コンテンツ・タイプとポートレット・モード」ページの先に進む前に、「実装メソッド」領域(図3-11)に注目してください。これらのコントロールによって、ポートレットにJSPを生成するかどうか、あるいは独自のカスタムJSPコードを使用するかどうかを指定できます。このレッスンでは、JSPを生成するようにJDeveloperを設定します。

    図3-11    実装メソッドの選択


    画像の説明

  25. 「次へ」をクリックします。

    この時点で「終了」をクリックして基本的なポートレットを生成することもできますが、ここでは、他の使用可能なオプションを調べるために引き続きウィザードを使用します。

  26. 「カスタマイズ・プリファレンス」ページ(図3-12)で、「デフォルト値」フィールドにMyJavaPortletを入力します。

    このポートレットを「編集可能」にすることを指定したため、ユーザーは実行時にこのタイトルを変更できます。

    このリリースでは翻訳は関係ないため、「翻訳」チェック・ボックスの選択を解除します。

    図3-12    デフォルト値の設定


    画像の説明

    ここではこのページは何も変更しませんが、将来的に、このページを使用して、ポートレットの他のカスタマイズ・オプションを追加できます。たとえば、ポートレットがZip Codeパラメータを受け入れる場合、ユーザーがZip Codeラベルをパーソナライズできるようにします。この場合は、「追加」ボタンを使用して、Zip Codeラベルをパーソナライズ可能にします。

  27. 「次へ」をクリックします。

  28. 「セキュリティ・ロール」ページで、「次へ」をクリックします。

    このページを使用して、このポートレットに対して設定するアプリケーションのセキュリティ・ロールを指定します。

  29. 「キャッシュ」ページで、「次へ」をクリックします。

    このページの設定によって、ポートレットの有効期限に基づいたキャッシュを定義できます。ここではキャッシュ条件は必要ありません。

  30. 「初期化パラメータ」ページで、「次へ」をクリックします。

    初期化パラメータは、Webアプリケーション開発者がポートレットの動作を構成する手段です。このチュートリアルでは、初期化パラメータは必要ありません。

  31. 「ポートレット・ナビゲーション・パラメータ」ページで、「次へ」をクリックします。

    ナビゲーション・パラメータは、WSRP 2.0の機能です。このページでは、JSR 168ポートレットによって消費される外部パラメータを指定できます。このチュートリアルでは、ナビゲーション・パラメータは必要ありません。

  32. 「終了」をクリックします。

    「終了」をクリックした後、アプリケーション・ナビゲータの「ポートレット」プロジェクトの下に、新しく生成されたいくつかのファイルが表示されます。展開されたナビゲータは、図3-13のようになります。

    図3-13    新しいポートレットに対して生成されたファイル


    画像の説明

    • 「アプリケーション・ソース」の下の「portlet」および「portlets.resource」内に、次の2つのJavaクラスがあります。

      • (「portlet」の下の)MyJavaPortlet.javaは、ポートレット・コンテナによって起動されます。これには、ポートレット標準で必要なすべてのメソッドが含まれます。

      • (「portlet.resource」の下の)MyJavaPortletBundle.javaには、ポートレットのすべての変換文字列が含まれます。

    • 「Webコンテンツ」の下の「MyJavaPortlet¥html」内に、次のファイルがあります。

      • edit_defaults.jsp: これには、「カスタマイズ」ダイアログへの移入に必要な情報が含まれます。

      • edit.jsp: これには、「パーソナライズ」ダイアログへの移入に必要な情報が含まれます。

      • view.jsp: これは、ポートレットが他のコンポーネントとページを共有しているときに起動されます。

    • 「Webコンテンツ」の下の「WEB-INF」内に、次の3つのデプロイメント・ディスクリプタがあります。

      • oracle-portlet.xml: これには、インポート/エクスポートおよびポートレット間通信用のOracle拡張機能をサポートするための情報が含まれます。このファイルは、ウィザードのステップ2で「Oracle拡張機能を使用してWSRP V2のポートレット間通信を可能にします。」を選択したために表示されます。

      • portlet.xml: これにより、すべてのポートレット・リソース(JSR 168 Javaポートレット・ウィザードで入力した情報)が指定されます。

      • web.xml: これにより、Webアプリケーション・リソースが指定されます。

    ポートレットの作成が完了したので、今度はポートレットを実行してその動作を確認します。これを行うには、まず、ポートレットをOracle Application Serverにデプロイする必要があります。JDeveloperをインストールしたときに、WebCenter Preconfigured OC4JというスタンドアロンOC4Jが自動的にダウンロードされているため、それを使用できます。ただし、最初に、このOC4Jと使用しているJDeveloperのインスタンスとの間の接続を確立する必要があります。これから、それを行います。

手順2: 接続の設定

ポートレットをデプロイする場合、使用しているいずれかのアプリケーション・サーバーへの接続を確立する必要があります。このチュートリアルでは、ポートレットをWebCenter Preconfigured OC4Jにデプロイします。これから、このOC4Jへの接続を設定します。

  1. JDeveloperツールバーの一番右にある「WebCenter Preconfigured OC4Jの起動」アイコン(図3-14)をクリックして、WebCenter Preconfigured OC4Jを起動します。

    図3-14    Preconfigured OC4Jの起動


    画像の説明

    初めてこのOC4Jを起動した場合は、WebCenter Preconfigured OC4Jをインストールするかどうか尋ねるメッセージが表示されます。

  2. 「はい」をクリックします。

    OC4Jインスタンスの初期化が完了したことを示すメッセージを待ってから、次に進みます(図3-15を参照)。

    図3-15    OC4J初期化メッセージ


    画像の説明

    Preconfigured OC4Jを初めて起動すると、JDeveloperエディタにREADMEファイルが表示されます。このドキュメントには、Preconfigured OC4Jの起動、停止および接続の方法が記載されています。また、ポートのデフォルトがリストされ、有用なトラブルシューティング・ヒントが示されています。将来このファイルにアクセスする必要が生じた場合は、JDeveloperのメイン・メニューから「ヘルプ」「WebCenter Preconfigured OC4J README」の順に選択します。

    Preconfigured OC4Jはコンピュータにインストールされましたが、さらに(JDeveloperがPreconfigured OC4Jの場所を認識できるように)Preconfigured OC4Jへの接続を確立する必要があります。

  3. (「アプリケーション・ナビゲータ」の隣の)「接続ナビゲータ」をクリックします。

  4. 「接続」ノードを右クリックし、「アプリケーション・サーバー接続の作成」を選択します(図3-16を参照)。

    図3-16    JDeveloperとPreconfigured OC4Jの接続


    画像の説明

  5. 「次へ」をクリックして、「ようこそ」ページを終了します。

  6. 「接続名」フィールドにMyLocalOC4Jを入力します。

  7. 「接続タイプ」リストから、「スタンドアロンOC4J 10g 10.1.3」を選択します(図3-17を参照)。

    図3-17    接続名および接続タイプの選択


    画像の説明

  8. 「次へ」をクリックします。

  9. ユーザー名としてoc4jadminを入力し、パスワードとしてwelcomeを入力します。

    welcomeは、WebCenter Preconfigured OC4Jのデフォルト・パスワードです。

  10. 接続を確立するたびにパスワードを入力しなくてもよいように、「パスワードを配布」を選択します(図3-18)。

    図3-18    ログイン資格証明の入力


    画像の説明

  11. 「次へ」をクリックします。

  12. 使用しているコンピュータにWebCenter Preconfigured OC4Jが存在している場合は、「ホスト名」でデフォルトの「localhost」を受け入れます。

    このチュートリアルでは、URL内にlocalhostを使用するとローカル・コンピュータを参照できることを前提としています。ただし、ファイアウォール構成によってはこのアドレスへのアクセスがブロックされることもあります。このような場合は、localhostが許可されるようにファイアウォール構成を変更するか、ここにコンピュータの固定IPアドレスを入力します。使用しているコンピュータがDHCPを使用するように構成されていて固定IPアドレスを持たない場合は、localhostが機能するようにファイアウォールを再構成してください。

  13. 「RMIポート」を22667(Preconfigured OC4JのデフォルトのRMIポート)に変更します。

    「URLパス」は空白のままでかまいません。この情報は必要ありません(図3-19)。

    図3-19    Preconfigured OC4Jの接続詳細の入力


    画像の説明

  14. 「次へ」をクリックします。

  15. 「接続のテスト」をクリックして、接続を確認します。

    何も問題がなければ、ステータス・ペインに成功メッセージが表示されます。テストが失敗すると、ステータス・フィールドにエラー・メッセージが表示されます。ウィザードの前のページに戻ってエントリを訂正するには、「戻る」ボタンを使用します。

  16. 「終了」をクリックします。

接続が確立されたので、ポートレットをWARファイルに含める準備ができました。WARはweb application archiveの略語で、ポートレットのデプロイに必要なすべてのリソース、ポートレットおよびデプロイメント・ディスクリプタをまとめてパッケージ化したものです。

手順3: ポートレットのデプロイ

このレッスンでは、JavaポートレットをローカルのWebCenter Preconfigured OC4Jにデプロイする方法を学びます。ポートレットをデプロイする場合、J2EEサーバー上で実行できるようにポートレットをパッケージ化します。OracleAS Portalの知識がある場合、これは実際にはポートレット・プロバイダを作成することです。これは、WSRPの世界ではポートレット・プロデューサと呼ばれています。

  1. アプリケーション・ナビゲータを表示します。

  2. 「Portlets」プロジェクトを右クリックし、「新規」をクリックします。

  3. 「カテゴリ」セクションで「General」を開き、「Deployment Profiles」をクリックします。

  4. 「項目」セクションで「WARファイル」を選択します(図3-20)。

    図3-20    WARファイルの作成


    画像の説明

  5. 「OK」をクリックします。

  6. 「デプロイメント・プロファイルの作成 -- WARファイル」ダイアログ・ボックス(図3-21)で、次のように入力します。

    表3-2    デプロイメント・プロファイルの作成 -- WARファイル 
    設定   

    デプロイメント・プロファイル名 

    TutorialPortletsを入力します。 

    ディレクトリ 

    手順1: JSR 168 Javaポートレット・ウィザードの使用」の手順7で選択したディレクトリにナビゲートします。デフォルトを受け入れるだけでよいはずです。  

    図3-21    デプロイメント・プロファイルの作成 - WARファイル


    画像の説明

  7. 「OK」をクリックします。

  8. WARデプロイメント・プロファイルのプロパティ・ウィンドウで、「J2EE Webコンテキスト・ルートを指定」を選択し、TutorialPortletsを入力します(図3-22を参照)。

    図3-22    WARデプロイメント・プロファイルのプロパティの設定


    画像の説明

  9. 「OK」をクリックします。

  10. アプリケーション・ナビゲータで、「リソース」ノードを開きます。

    デプロイメント・プロファイルTutorialPortlets.deployが表示されます(図3-23を参照)。

    図3-23    TutorialPortlets.deployファイル


    画像の説明

  11. 「TutorialPortlets.deploy」を右クリックし、「MyLocalOC4Jに配布」(MyLocalOC4Jは先に作成した接続)をクリックします(「手順2: 接続の設定」を参照)。

  12. デプロイメント中にアプリケーションの構成ウィンドウが表示されたら、「OK」をクリックします。

    (JDeveloperウィンドウの一番下にある)デプロイメント・ログに「デプロイが終了」というメッセージが表示されるのを待って、デプロイメントが正常に完了したことを確認します。

    今度はポートレットを実行して、適切に機能することを確認します。

  13. ブラウザ・ウィンドウを起動し、次のURLを入力します。

    http://<host>:<port>/<context-root>/portlets/wsrp2?WSDL

    各パラメータの意味は次のとおりです。

    パラメータ   

    host 

    WebCenter Preconfigured OC4Jへの接続に使用したホスト名。このレッスンで以前に、デフォルトlocalhostを受け入れました。

    (localhostではなくコンピュータのIPアドレスを使用するように選択した場合、ここにはそのIPアドレスを入力してください。) 

    port 

    HTTPリスナー・ポート。WebCenter Preconfigured OC4Jの場合は、このPreconfigured OC4Jがリスニングするデフォルト・ポートである6688を使用してください。1  

    context-root 

    このレッスンの手順8で設定したTutorialPortlets。  

    1 Preconfigured OC4Jがリスニングするポートを変更するには、JDEVHOME¥jdev¥extensions¥oracle.adfp.seededoc4j.10.1.3.2.0¥j2ee¥home¥config¥default-web-site.xmlに移動し、エントリ<web-site .... port="6688" ...>を変更します。

    したがって、このチュートリアルでは、URLは次のようになります。

    http://localhost:6688/TutorialPortlets/portlets/wsrp2?WSDL

    このURLを書き留めておきます。このURLは、「手順5: Oracle WebCenter Frameworkへのポートレットの登録」で必要になります。

  14. ブラウザには、図3-24に示すようなXMLが表示されます。

    図3-24    Webサービスとしてのポートレットを記述するWSDL


    画像の説明

デプロイしたポートレットが、Webサービスとして公開されています。ブラウザに表示されているのは、このWebサービスを記述するWeb Services Description Language(WSDL)です。WSDLが図3-24のように表示されていれば、次の手順は、ポートレットを消費するJSFページを作成することです。

手順4: JSFページの作成

JavaServer Faces(JSF)ページを作成するには、次のようにします。

  1. アプリケーション・ナビゲータで、「ViewController」プロジェクトを右クリックし、「新規」を選択します。

  2. 「カテゴリ」ペインで、「Web Tier」の下の「JSF」をクリックして、JavaServer Facesページを作成します。

  3. 「項目」で「JSF JSP」を選択し、「OK」をクリックします。

    JSF JSPウィザードが開きます。

  4. 「次へ」をクリックして、「ようこそ」ページを終了します。

  5. 「ファイル名」フィールド(図3-25)にMyPageを入力します。

    「ディレクトリ名」には、デフォルト場所を受け入れてかまいません。

  6. 「タイプ」で、ページのXMLバージョン(つまり、.jspxファイル)が作成されるように、「JSPドキュメント」をクリックします。

    図3-25    JSPページの作成


    画像の説明

  7. 「次へ」をクリックします。

  8. (少なくともこのレッスンでは)このページにはバックエンド・ロジックを追加しないため、新しいマネージドBeanは必要ありません。デフォルト設定(マネージドBeanでUIコンポーネントを自動公開しない)のままにしておきます(図3-26を参照)。

    図3-26    JSF JSPの作成ウィザードの「コンポーネント・バインディング」ページ


    画像の説明

  9. 「次へ」をクリックします。

  10. 「タグ・ライブラリ」ページで、二重矢印を使用して、「使用可能なライブラリ」ペインから「選択済のライブラリ」ペインにすべてのライブラリを移動します。次のライブラリを含める必要があります。

    • ADF Faces Components 10_1_3_2_0

    • ADF Faces HTML 10_1_3_2_0

    • ADF Portlet Components 10_1_3_2_0

    • Customizable Components Core 10_1_3_2

    • JSF Core 1.0

    • JSF HTML 1.0

  11. 「次へ」をクリックします。

  12. 特別なHTMLオプションは必要ないため、図3-27に示すページで「終了」をクリックします。

    図3-27    JSF JSPの作成 - HTMLオプション


    画像の説明

    アプリケーション・ナビゲータで、「ViewController」の「Webコンテンツ」の下に、作成したページMyPage.jspxが表示されます(図3-28を参照)。

    図3-28    アプリケーション・ナビゲータでのMyPage


    画像の説明

    また、ビジュアル・エディタにページが開かれ、コンポーネントをすぐに追加できるようになります。

手順5: Oracle WebCenter Frameworkへのポートレットの登録

これまでに、ポートレット、ポートレット・プロデューサおよびJavaServer Facesページを作成しました。今度は、これらをすべて結合し、プロデューサへのアクセス方法をページに指示する必要があります。これは、アプリケーションへのプロデューサの登録とも呼ばれます。

  1. アプリケーション・ナビゲータで、「ViewController」を右クリックし、「新規」をクリックします。

  2. 新規ギャラリで、「Web Tier」の下の「Portlets」をクリックします(図3-29を参照)。

    図3-29    新しいWSRPプロデューサの登録


    画像の説明

  3. 「WSRPプロデューサの登録」を選択し、「OK」をクリックします。

    これによって、WSRPプロデューサの登録ウィザードが開きます。

  4. 「次へ」をクリックして、「ようこそ」ページを終了します。

  5. 「名前」フィールドにTutorialProducerを入力します。

  6. 「次へ」をクリックします。

  7. 「接続」ページ(図3-30)で、「手順3: ポートレットのデプロイ」(サブ手順13)で構成したURLを入力します。次に例を示します。

    http://localhost:6688/TutorialPortlets/portlets/wsrp2?WSDL

    図3-30    新しいWSRPプロデューサの接続詳細


    画像の説明

    ローカルのPreconfigured OC4Jを使用しているため、このチュートリアルではプロキシ情報は必要ありません。

  8. 「次へ」をクリックします。

  9. 再度「次へ」をクリックして、デフォルトのタイムアウト値の30秒を受け入れます。

  10. 「次へ」をクリックして、デフォルトのセキュリティ設定を受け入れます。

  11. 「キーストア」ページで、「終了」をクリックします。

    図3-31のようなメッセージが表示されます。

    図3-31    正常に登録されたポートレット・プロデューサ


    画像の説明

  12. 「OK」をクリックして、このメッセージ・ボックスを閉じます。

アプリケーション・ナビゲータに、「Portlet Producers」ノードが表示されます(図3-32を参照)。このノードを開き、TutorialProducerが表示されることを確認します。

図3-32    アプリケーション・ナビゲータでのTutorialProducer


画像の説明

これで、ポートレットMyJavaPortletの位置とそのアクセス方法がページに認識されます。これから、このことを確認します。

手順6: ポートレットのテスト

ポートレットをテストするには、ポートレットをMyPage.jspxに追加してページを実行し、ポートレットが予測どおりに表示されるかどうかを確認します。

  1. MyPage.jspxがまだ開いていない場合は、アプリケーション・ナビゲータで(「ViewController」の「Webコンテンツ」の下の)ページ名を見つけてダブルクリックします。

    これによって、構造ウィンドウ内にページが開きます(図3-33を参照)。

    図3-33    構造ウィンドウ内に開かれたMyPage.jspx


    画像の説明

  2. JDeveloperウィンドウの一番右にあるコンポーネント・パレットのドロップダウン・リスト(図3-34)をクリックし、TutorialProducerがここに表示されていることを確認します。


    注意

    コンポーネント・パレットが表示されていないこともあります。表示されていない場合は、JDeveloperメニューから「表示」、「コンポーネント・パレット」の順に選択してください。  


    図3-34    コンポーネント・パレットでのTutorialProducer


    画像の説明

  3. 「TutorialProducer」を選択します。ポートレットMyJavaPortletがこの場所に表示されます。

  4. 「MyJavaPortlet」を選択し、構造ウィンドウ内の最後のエントリ「h:form」にドラッグします。ポートレットがフォームに含まれていることを確認できます。構造ウィンドウで、これを簡単に確認できます。

    現在、図3-35のように表示されています。

    図3-35    MyPage.jspxに追加されたMyJavaPortlet


    画像の説明

    新しく生成されたいくつかのファイルおよびフォルダは、アプリケーション・ナビゲータで表示されます。展開されたナビゲータは、図3-36のようになります。WSRPプロデューサのポートレットを消費するときに、これらの内部ファイルが作成されます。これらのファイルはいずれも編集する必要がありません。

    図3-36    アプリケーション・ナビゲータ内に作成されたWEB-INF¥wsdl


    画像の説明

    今度は、ページを実行します。

  5. アプリケーション・ナビゲータで、「MyPage.jspx」を右クリックし、「実行」を選択します。

    これには数秒かかることがあります。「実行中: 埋込みOC4Jサーバー」というメッセージ・ログが表示されます。ポートレットはこのチュートリアルの最初にダウンロードしたPreconfigured OC4J内で実行されていますが、ページそのものはJDeveloperの埋込みOC4J内で実行されています。

    ページが新しいブラウザ・ウィンドウ内に開きます(図3-37)。

    図3-37    ブラウザ・ウィンドウ内のMyJavaPortlet


    画像の説明

  6. ポートレット・ヘッダーのアクション・メニューをクリックします。

    2つのオプション(「リフレッシュ」および「カスタマイズ」)が表示されます(図3-38)。「パーソナライズ」オプションは表示されないことに注意してください。MyJavaPortletではユーザーのパーソナライズをサポートしていますが、「パーソナライズ」オプションが表示されるのは、セキュリティ・モデルを実装するアプリケーション内にポートレットが表示されていて、かつ有効なユーザー資格証明でログインしている場合に限られます。「パーソナライズ」モードは、第8章「セキュリティの設定」でテストします。

    ここでは、「カスタマイズ」モードをテストします。

    図3-38    MyJavaPortletのアクション


    画像の説明

  7. アクション・ドロップダウン・メニューから、「カスタマイズ」を選択します。

  8. 「ポートレット・タイトル」フィールドで、ポートレット・ヘッダーを他の名前(たとえば、My First Java Portlet)に変更します(図3-39を参照)。

    図3-39    ポートレット・タイトルの変更


    画像の説明

  9. 「OK」をクリックします。

    ポートレットがブラウザに再表示され、選択した名前がヘッダーに表示されます。

    さて、このポートレットは適切に機能していることがわかりましたが、あまり面白みはありません。今度は、レンダリングされるポートレットのテキスト・ボックスにユーザーがHTMLを貼り付けることができるように、いくつかのロジックを追加します。

手順7: ポートレットへの簡単なロジックの追加

この手順では、レンダリングされるポートレットのテキスト・ボックスにユーザーがHTMLを貼り付けることを可能にするコードを追加します。

  1. JDeveloperに戻ります。

  2. アプリケーション・ナビゲータで、「Portlets」、「Webコンテンツ」、「MyJavaPortlet¥html」の下の「view.jsp」をダブルクリックします。

    アプリケーション・ナビゲータの右側に、新しい編集ウィンドウが開きます。

  3. 新しいウィンドウの一番下にある「ソース」タブをクリックします。

  4. 既存のJSPコードに、図3-40で強調表示されている行を追加します。

    図3-40    view.jspの編集


    画像の説明

    コピーして貼り付けるコードは、次のとおりです。

    <%
    String[] str = {"Portlet Content"};
    PortletPreferences prefs = renderRequest.getPreferences();
    str = prefs.getValues("portletContent",str);
    for (int i=0; i<str.length; i++)
    {
    %><%=(i<str.length-1)?str[i]+", ":str[i]%><%}%>
    

    このコードによって、「パーソナライズ」モードまたは「カスタマイズ」モードで設定セットが取得され、ポートレットの「表示」モードでユーザーに表示されます。

  5. JDeveloperのツールバーで、「保存」アイコンをクリックします。

  6. 「edit.jsp」をダブルクリックして、ビジュアル・エディタでこれを開きます。

  7. 「ソース」タブをクリックします。

  8. 図3-41に示されたコードを追加して、「コンテンツ」という名前のフォーム・フィールドを実装します。コピーして貼り付けるコードは、次のとおりです。

    <%
        String[] str = {"Portlet Content"};
        str = prefs.getValues("portletContent",str);
    %>
    <tr><td width="20%">
      <p class="portlet-form-field" align="right"> Content</p>
    </td><td width="80%">
     <textarea rows="10" cols="60" class="portlet-form-input-field" 
    name="portletContent"><%
     for (int i=0; i<str.length; i++)
     {%><%= (i<str.length-1) ? str[i]+", " : str[i] %><%}%>
    </textarea>
    </td></tr>
    
    

    図3-41    edit.jspへのコードの追加


    画像の説明

  9. JDeveloperのツールバーで、「保存」アイコンをクリックします。

  10. 「設計」タブをクリックして、追加したフォーム・フィールドを確認します(図3-42を参照)。

    図3-42    「コンテンツ」フィールドの追加


    画像の説明

    これで、「パーソナライズ」モードで変更した内容を格納するファイルを編集しました。今度は、「カスタマイズ」モードで変更した内容を格納するファイル(edit_defaults.jsp)にも同様の変更を行う必要があります。

  11. 「edit_defaults.jsp」をダブルクリックし、同じ場所に同じコードを追加します。完了後、必ず「保存」アイコンをクリックしてください。

    MyJavaPortlet.java(このポートレットのJavaコードが含まれるファイル)も、同様に編集する必要があります。

  12. アプリケーション・ナビゲータで、「Portlets」、「アプリケーション・ソース」、「portlet」の下の「MyJavaPortlet.java」をダブルクリックして、ビジュアル・エディタの「ソース」ビューでこれを開きます。

  13. 「processAction」メソッドにスクロールダウンし、//Save the preferencesというコード行を見つけます。次の2行の(太字で示された)コードを挿入します。

    // Save the preferences.
    PortletPreferences prefs = request.getPreferences();
    String param = request.getParameter(PORTLETTITLE_KEY);
    prefs.setValues(PORTLETTITLE_KEY, buildValueArray(param));
    String contentParam = request.getParameter("portletContent");
    prefs.setValues("portletContent", buildValueArray(contentParam));
    prefs.store();
    
  14. 「すべて保存」アイコンをクリックして、view.jsp、edit.jsp、edit_defaults.jspおよびMyJavaPortlet.javaへの変更を保存します。

    いくつか変更を行ったので、Preconfigured OC4Jにポートレットを再デプロイする必要があります。

  15. アプリケーション・ナビゲータで、「Portlets」、「リソース」の下の「TutorialPortlets.deploy」を右クリックします。

  16. 「MyLocalOC4Jに配布」をクリックします。

  17. 「OK」をクリックして、「アプリケーションの構成」ダイアログを閉じます。

  18. TutorialPortlets.deployはすでにデプロイされているので、「はい」をクリックして、元のバージョンをアンデプロイすることを確認します。

    「デプロイが終了」というメッセージが表示されるのを待ちます。JDeveloperによって、ポートレットのデプロイ前に、コードが自動的に保存およびコンパイルされることがわかります。

  19. 再度ページを実行する前に、埋込みOC4Jサーバーを停止します。メイン・メニューから「実行」「終了」「埋込みOC4Jサーバー」の順に選択します。

    あるいは、埋込みOC4Jサーバーのログ・ウィンドウで、赤い四角形の「終了」アイコンをクリックします。ページをテストする前には、埋込みOC4Jを停止することをお薦めします。ページを実行すると、JDeveloperによって埋込みOC4Jサーバーが自動的に再起動されます。

  20. ビジュアル・エディタにMyPage.jspxが表示されることを確認してから、「実行」「MyPage.jspx」をクリックします。

    新しいブラウザ・ウィンドウが開き、MyJavaPortletが表示されます。

  21. ドロップダウン・メニューから、「カスタマイズ」を選択します。

    「コンテンツ」フィールドを追加したので、「カスタマイズ」アクションでは図3-43のようなテキスト・ボックスが表示されます。

    図3-43    新しい「カスタマイズ」オプション


    画像の説明

  22. 「ポートレット・タイトル」を「MyJavaPortlet」に戻します。

  23. 「コンテンツ」フィールドに次のHTMLテキストをコピーして貼り付けます(図3-44を参照)。

    <p>Read <em>The Path to Portlet Interoperability</em> by John Edwards in
    <strong>Oracle Magazine</strong> - Nov-Dec 2005. </p>
    <p>It discusses JSR 168 and WSRP open portals. </p>
    
    

    図3-44    「ポートレット・タイトル」および「コンテンツ」のカスタマイズ


    画像の説明

  24. 「OK」をクリックします。

    ブラウザは図3-45のように表示されます。

    図3-45    MyJavaPortletの新しいHTMLテキスト


    画像の説明

    デフォルト・テキスト(Welcome, this is the view mode.)を削除する場合は、「view.jsp」をダブルクリックし、コードの最後の行を削除し、Preconfigured OC4Jにポートレットを再デプロイしてから、ページを再実行するだけです。

次のレッスンでは、イメージ・フォームのコンテンツをページに追加します。


戻る 次へ
Oracle
Copyright © 2007 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引