Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド 11g リリース1 (11.1.1.7.0) B72084-02 |
|
前 |
次 |
WebCenter Portalでは、Frameworkアプリケーションとポートレット・プロデューサ・アプリケーションの2種類のアプリケーションを作成するためのテンプレートを用意しています。Frameworkアプリケーションは、ナビゲーション、ソーシャル・コンピューティング・サービス、および実行時カスタマイズを含むポータルWebアプリケーションを作成するために構成されたADF Webアプリケーションです。ポートレット・プロデューサ・アプリケーションは、標準ベースのポートレットを作成およびデプロイするために構成されています。
この章の内容は、次のとおりです。
Frameworkアプリケーションやポートレット・プロデューサ・アプリケーションに適したコンポーネントを簡単に見つけて使用できるようにするには、適切なテクノロジ・スコープを設定し、タグ・ライブラリを追加して、必要になるJavaクラスをクラス・パスに追加しておく必要があります。このようにしておくと、関連するコンポーネントがコンポーネント・パレットに取り込まれ、関連するポップアップ・メニューがJDeveloperで使用できるようになります。
Oracleが提供する即時利用可能なアプリケーション・テンプレートでは、Frameworkアプリケーションやポートレット・プロデューサ・アプリケーションの作成に向けた、適切なスコープが設定され、適切なタグおよびJavaのライブラリが追加されます。
「WebCenter Portal - Frameworkアプリケーション」テンプレートを使用すると、固有のテクノロジ・スコープ、ライブラリおよびデフォルト・ファイルを含むデフォルトのWebCenter Portal: Frameworkプロジェクトが生成されます。さらに、このテンプレートを使用すると、JDeveloperのユーザー・インタフェースには、Frameworkプロジェクトに適したオプションのタイプのみが表示されるようになります。
注意: アプリケーションにデフォルトのファイルとフォルダが移入されるだけでなく、このテンプレートでは、「リソース・パレット」に「WebCenter Portal - Frameworkカタログ」と「WebCenter Portal - サービス・カタログ」を移入します。このサービス・カタログには、WebCenter Portalをアプリケーションに統合するために使用できる、データ・コントロールとタスク・フローが含まれています。「WebCenter Portal - Frameworkカタログ」には、ポータルの作成に最も一般的に使用されるコンポーネントのコレクションが格納されています。詳細は、第15章「リソース・カタログの作成および管理」を参照してください。 |
アプリケーション・テンプレートは、事前定義済のプロジェクトのセットとテクノロジ・スコープを使用して、アプリケーションを簡単に作成する手段を提供するものです。テンプレートでは、アプリケーションを、処理全体の論理的な区分を反映するプロジェクト単位に分割する方法も提供されます。
アプリケーション・テンプレートには次のものが含まれています。
WebCenter Portal - Frameworkアプリケーション: アプリケーションにポータル・プロジェクトおよび静的アプリケーション・リソース・プロジェクトが移入されます。ポータル・プロジェクトには、サイト・ナビゲーション、ページ階層、委任管理、セキュリティ、ページ・テンプレート、実行時カスタマイズなどの機能が含まれます。Frameworkアプリケーションは、ポートレットの利用、コンテンツ管理サービスの組込み、およびWebCenterソーシャル・コンピューティング・サービスの組込みが可能です。静的アプリケーション・リソース・プロジェクトには、HTMLファイルやイメージ・ファイルのような静的アプリケーション・リソースが含まれます。このプロジェクトは、デフォルトで、PortalWebAssetsと呼ばれます。静的リソースを個々のプロジェクトに分離することによって、これらのリソースを専用サーバーにデプロイすることが可能となります。第5.2項「Frameworkアプリケーションの作成」および第5.4項「PortalWebAssetsプロジェクトの理解」を参照してください。
WebCenter Portal - ポートレット・プロデューサ・アプリケーション: JSR 286(標準ベース)ポートレットとOracle PDK-Javaポートレットの作成用にスコープ設定されたプロジェクトがアプリケーションに事前移入されます。第60.1項「PDK-Javaポートレットの概要」を参照してください。
テンプレートの使用は必須ではありません。必要に応じて、手動でアプリケーション・テクノロジをスコープ設定し、関連プロジェクトを作成することによって、独自のFrameworkアプリケーションやポートレット・プロデューサ・アプリケーションを作成できます。詳細は、第6.1項「テクノロジ・スコープによるFrameworkアプリケーションの手動構成」を参照してください。
別のテンプレートで作成した既存のアプリケーションを使用している場合は、そのアプリケーションをWebCenter Portalのコンポーネントで拡張できます。これを行うには、必要なプロジェクト、テクノロジ・スコープ、およびタグ・ライブラリを手動で追加する必要があります。既存のアプリケーションを拡張する方法の詳細は、第6.2項「WebCenter機能を組み込むためのWebCenter Portal: Framework以外のアプリケーションの拡張」を参照してください。
この項では、WebCenter Portal - Frameworkアプリケーション・テンプレートを使用してアプリケーションを作成する方法について説明します。
注意: テクノロジ・スコープでは、「新規ギャラリ」ダイアログにデフォルトで表示されるオプションを制御します。また、JDeveloperに表示されるポップアップ・メニューの制御や、プロジェクトへのタグの追加(この結果、タグがコンポーネント・パレットに表示される)にも使用されます。 |
この項では、WebCenter Portal: Frameworkアプリケーションの作成方法について説明します。Frameworkアプリケーションとは、WebCenter Portal - Frameworkアプリケーション・テンプレートという特別なテンプレートを使用して作成されたポータルです。ポータルの詳細は、第8章「Frameworkアプリケーションの理解」を参照してください。
ヒント: WebCenter Portal - Frameworkアプリケーション・テンプレートは、サイト・ナビゲーション、ページ階層、委任管理、セキュリティ、ページ・テンプレート、実行時カスタマイズなどの機能を含む1つのポータル・プロジェクトをFrameworkアプリケーションに移入します。詳細は、第8.12項「WebCenter Portalファイルの編成方法」を参照してください。 |
Frameworkアプリケーションは、WebCenter Portal - Frameworkアプリケーション・テンプレートを使用して作成するポータルです。このテンプレートを使用してポータルを作成するには:
アプリケーションの作成ウィザードにアクセスします。JDeveloperでは、いくつかの方法でこのウィザードにアクセスできます。例:
「ファイル」メニューから「新規」を選択します。「新規ギャラリ」で、「アプリケーション」を開き、「WebCenter Portal - Frameworkアプリケーション」を選択して「OK」をクリックします。図5-1に例を示します。
「アプリケーション」メニューから、「新規作成」を選択します。ダイアログで、「WebCenter Portal - Frameworkアプリケーション」を選択します。
開いている既存のアプリケーションがある場合は、アプリケーション・ナビゲータで「<Application-Name>」を右クリックして、「新規作成」を選択します。「新規ギャラリ」で、「アプリケーション」を開き、「WebCenter Portal - Frameworkアプリケーション」を選択して「OK」をクリックします。
開いている既存のアプリケーションがある場合は、アプリケーション・ナビゲータで、「<Application-Name>」ドロップダウン・メニューから「新規作成」を選択します。「新規ギャラリ」で、「アプリケーション」を開き、「WebCenter Portal - Frameworkアプリケーション」を選択して「OK」をクリックします。
注意: この時点では、WebCenter Portal - Frameworkアプリケーション・ウィザードの最初のページが表示されています。このウィザードには、次の各手順で説明する4つのページがあります。 |
アプリケーションの名前を「アプリケーション名」フィールド(図5-2)に入力します。
図5-2 WebCenter Portal - Frameworkアプリケーションの作成ウィザード - ステップ5の1
「ディレクトリ」フィールドにアプリケーションを格納するディレクトリのパスを入力するか、デフォルト・パスを受け入れます。
例:
C:\JDeveloper\mywork\Application1
オプションで、「参照」ボタンをクリックして、目的のディレクトリに移動します。
必要に応じて、「アプリケーション・パッケージの接頭辞」フィールドに、このアプリケーション内に作成されるパッケージに使用する接頭辞を入力します。
注意: ウィザードの起動方法によっては、「アプリケーション・テンプレート」リストが表示されることがあります。このリストが表示された場合は、「WebCenter Portal - Frameworkアプリケーション」が選択されていることを確認してください。 |
ヒント: この時点で、「終了」をクリックすると、デフォルトのFramework機能(ページ階層とナビゲーションを含む)でプロジェクトを作成できます。ここでは、このウィザードの残りのページについて説明を続けます。 |
「次へ」をクリックします。
図5-3に示すように、プロジェクト名を入力します。
図5-3 WebCenter Portal - Frameworkアプリケーションの作成ウィザード - ステップ5の2
プロジェクトを配置するディレクトリを入力するか、「参照」ボタンを使用してディレクトリを選択します。
必要に応じて、「プロジェクト・テクノロジ」を追加または削除します。詳細は、第6.1.3項「Frameworkアプリケーションのデフォルトのテクノロジ・スコープ」を参照してください。
必要に応じて、「生成済コンポーネント」タブおよび「関連ライブラリ」タブを選択して、プロジェクトに追加される別の構成ファイルおよびライブラリを確認します。詳細は、第1.10項「知識が必要な構成ファイル」を参照してください。
「次へ」をクリックします。
必要に応じて、図5-4に示すように、デフォルト・パッケージの名前、およびJavaソース・ファイルと出力クラス・ファイルのデフォルトのディレクトリを入力します。
図5-4 WebCenter Portal - Frameworkアプリケーションの作成ウィザード - ステップ5の3
ウィザードの次のページには、図5-5に示すように、2つのチェック・ボックスがあります。通常はデフォルトの設定が推奨されますが、次に示す「注意」でこのウィザード・ページの詳細を確認してください。
図5-5 WebCenter Portal - Portal Frameworkの作成ウィザード - ステップ5の4
注意: Oracle WebCenter Portal: Frameworkの機能(ページ階層やナビゲーション)をアプリケーションに組み込む場合は、最初のチェック・ボックス(「標準ポータル機能のアプリケーションの構成」)を選択したままにします。このチェック・ボックスの選択を解除すると、Framework機能を含まない従来型のOracle Fusion Webアプリケーションを作成することになります。このチェック・ボックスの選択または選択解除による効果の詳細は、第6.1項「テクノロジ・スコープによるFrameworkアプリケーションの手動構成」を参照してください。 Oracle WebCenter Portal: Frameworkの機能を使用する必要のないことが確実にわかっている場合を除き、最初のチェック・ボックスは選択したままにすることをお薦めします。 2番目のチェック・ボックス(「すべてのオブジェクトへの自動付与の有効化」)を使用すると、すべてのタスク・フローとページに対する表示アクセス権のあるtest-allという特殊なロールを作成できます。このオプションは、主にアプリケーションのテストを簡単にするために追加します。デフォルトでは、選択解除されています。 |
「次へ」をクリックします。
最後のウィザード・ページでは、静的アプリケーション・リソース・プロジェクトを構成できます。このプロジェクトは、デフォルトで、PortalWebAssetsと呼ばれます。このプロジェクトには、HTMLファイルやイメージ・ファイルのような静的アプリケーション・リソースが含まれます。静的リソースを個々のプロジェクトに分離することによって、これらのリソースを専用サーバーにデプロイすることが可能となります。詳細は、第5.4項「PortalWebAssetsプロジェクトの理解」を参照してください。
図5-6 WebCenter Portal: Frameworkアプリケーションの作成ウィザード - ステップ5の5
「終了」をクリックして、Frameworkアプリケーションを作成します。
WebCenter Portal - Frameworkアプリケーション・テンプレートを使用すると、新しいポータル・アプリケーションに複数のページが移入されます。この章では、ポータル・アプリケーションに新しいページを追加する方法について説明します。第8.5.1項「ページ、ページ・テンプレートおよびポータルのページ階層の理解」も参照してください。
JDeveloperを起動します。
「アプリケーション・ナビゲータ」で、ポータル・プロジェクト内のpages
フォルダ(Web Content/oracle/webcenter/portalapp/pages
)を右クリックして、「新規作成」を選択します。
「新規ギャラリ」で、「Web層」を開いて、「JSF」、「JSFページ」の順に選択し、「OK」をクリックします。
「JSFページの作成」ダイアログ(図5-7)で、ページのファイル名を入力します。
「XMLドキュメントの作成(*.jspx)」を選択します。
ページ・テンプレートを選択します。ページ・テンプレートの詳細は、第8.5.1項「ページ、ページ・テンプレートおよびポータルのページ階層の理解」を参照してください。
「OK」をクリックします。
このダイアログ内のFrameworkアプリケーション・ページに固有ではないその他の設定の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』を参照してください。
このセクションでは、PortalWebAssetsプロジェクトについて説明します。このプロジェクトには、必要に応じてHTMLファイルやイメージなどの静的リソースを配置できます。PortalWebAssetsプロジェクトは、新しいFrameworkアプリケーションにデフォルトで作成されます。
Webアプリケーションの静的リソースは、HTMLファイルやイメージ・ファイルと同様に、通常はアプリケーションとともにバンドルされてデプロイされます。動的リソースと静的リソースのどちらのリクエストも、通常、ホスト・アプリケーション・サーバーで処理されます。サーバーのパフォーマンスを最適化するには、静的リソースをアプリケーションから分離して、それらを別のサーバー(できれば安価でよりスケーラブルなサーバー)にデプロイする方法があります。Frameworkアプリケーションは、HTMLやイメージなどの静的リソースを含む静的アプリケーション・リソース・プロジェクトでこのシナリオをサポートします。このプロジェクトは、デフォルトでPortalWebAssetsと呼ばれますが、プロジェクトの名前を好きなように変更できます。図5-8を参照してください。
静的リソース・プロジェクトを使用する場合は、単に、コンテンツ(HTMLファイルやイメージ・ファイル)をプロジェクトに追加します。これは、../PortalWebAssets/public_html
ディレクトリ内にファイルを追加するか、JDeveloperで追加することにより、ファイル・システムから直接実行できます。たとえば、HTMLファイルを追加するには、「ファイル」メニューから「新規作成」を選択し、新規ギャラリ・ウィザードを使用してリソースを作成します。
注意: スキンに使用するCSSファイルは、Frameworkアプリケーション・プロジェクトに維持しておく必要があります。スキンのCSSファイルは、静的アプリケーション・リソース・プロジェクトに配置しないでください。 |
ポータル・プロジェクトには、デフォルトで、静的アプリケーション・リソース・プロジェクト(PortalWebAssets)が依存性として含まれます。つまり、これらは、ともに構築され、同一サーバーにデプロイされることになります。静的リソースを別のサーバーにデプロイする必要がない場合は、静的リソース・プロジェクトに関して特別な処置を実行する必要はありません。
PortalWebAssetsプロジェクトとPortalプロジェクトを分離する場合は、次の手順を実行します。
Portalプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。
「プロジェクト・プロパティ」ダイアログで、図5-9に示すように、「依存性」ノードを選択します。
依存性を削除する場合は、「削除」ボタンをクリックするか、「編集」ボタンを選択して、「依存性の編集」ダイアログ(図5-10)でこのプロジェクトの選択を解除します。
2つの個別のアーカイブ(Portal.ear
とPortalWebAssets.jar
)を生成して、それぞれを別のサーバーにデプロイします。第5.4.3項「デプロイメントのオプション」を参照してください。
Portal.ear
ファイルは、通常、アプリケーションの管理対象サーバーにデプロイされます。PortalWebAssets.jar
ファイルは、通常、PortalWebAssetsプロジェクトにWARデプロイメント・プロファイルを作成し、そのファイルをEARデプロイメント・プロファイルに含めることで任意のJ2EE準拠サーバー・コンテナにデプロイできます。あるいは、Apache WebサーバーにJARファイルを解凍する方がさらに簡単です。第69章「WebCenter Portal: Frameworkアプリケーションのデプロイおよびテスト」も参照してください。
開発者は、EL式を使用して、静的リソースのターゲットURLを自動的に生成できます。ELを使用する場合は、2つのオプションがあります。最初のオプションでは、ベースURLプリファレンスを定義する必要があります。2番目のオプションでは、URLを動的にマップできるようになります。
このソリューションでは、ベースURLを使用してリソースを目的のサーバーにリダイレクトする、単一のプリファレンスを提供します。このオプションでは、次の例に示す書式でEL式を記述します。
<af:image source="#{preferenceBean.baseResourceURL}/images/globe.png"/>
このオプションを構成するには、次のようにプリファレンスをadf-config.xml
ファイルに追加します。
<portal:preferences> ... <portal:preference id="oracle.webcenter.portalapp.baseresourceurl" desc="Default Base Resource URL EL" value= "#{request.scheme}://#{request.serverName}:#{request.serverPort}#{request.contextPath}" resourceType="BaseResourceURL" display="true" /> ... </portal:preferences>
このテクニックの唯一の制限は、各値をマップできるサーバーが1つに限られることです。戻されるプリファレンス値は、1つのみになります。動的にURLを構成する必要がある場合は、次の項(第5.4.4.2項「URLの動的なマッピング」)で説明するテクニックを選択してください。
このソリューションでは、複数のネームスペースを指定する機能を使用して、動的にURLを構築できます。このオプションでは、リソースがプリファレンスへのパラメータになり、そのリソースを適切なネームスペースにマップできます。
このソリューションは、2つのADFコンポーネント・カテゴリをサポートします。
最初のカテゴリには、ADF Facesコンポーネントが参照する静的リソースが含まれます。このタイプのコールを次のサンプルで示します。
<af:image source="#{preferenceBean.staticResourceURL['/oracle/webcenter/portalapp/static/images/globe.png']}"/>
2番目のカテゴリには、ADF FacesコンポーネントのinlineStyle
を通じて参照する静的リソースが含まれます。このタイプのコールを次のサンプルで示します。
<af:panelBorderLayout id="pt_pgl1" inlineStyle='background-image:url(#{preferenceBean.staticResourceURL["/oracle/webcenter/portalapp/static/images/globe.png"]});'>
次のEL式について説明します。
#{preferenceBean.staticResourceURL['<resource path>']}
この式は、リソースのネームスペース参照を実行して、リソースURLの接頭辞を導出します。この参照の入力は、リソースのパス(例: /oracle/webcenter/portalapp/static/images/globe.png
)になります。リソースのネームスペースとURLとの間のマッピングを確立するには、adf-config.xml
ファイルの<portal:resource-mappings>
セクションを編集します。
このオプションを構成するには、次のようにプリファレンスをadf-config.xml
ファイルに追加します。
<portal:adf-portal-config> <portal:preferences> ... </portal:preferences> <portal:resource-mappings> <portal:resource-mapping path="/" url-prefix="#{request.scheme}://#{request.serverName}:#{request.serverPort}#{request.contextPath}" /> </portal:resource-mappings> </portal:adf-portal-config>
この参照により、リソースURLの接頭辞が生成されます。リソースURLの最終的な値は、URL接頭辞とリソースへのパスを連結して導出されます。例:
/oracle/webcenter/portalapp/static/images/globe.png
次のように生成されます:
http://myserver/static_resources/oracle/webcenter/portalapp/static/images/globe.png
開発時、URL接頭辞の参照は、常にアプリケーションのコンテキストURL(たとえば、http://<server>:<port>/<context root>
)に解決されます。
例5-1に、adf-config.xml
のマッピング構成例を示します。
例5-1 ネームスペース参照のマッピング例
<portal:adf-portal-config> <portal:preferences> ... </portal:preferences> <portal:resource-mappings> <portal:resource-mapping path="/oracle/webcenter/portalapp/static" url-prefix="http://myserver/static_resources"/> <portal:resource-mapping path="/mycompany/static/images" url-prefix="http://myserver/static_resources"/> <portal:resource-mapping path="/mycompany/myapp/static/images" url-prefix="http://myserver/static_resources/myapp2"/> </portal:resource-mappings> </portal:adf-portal-config>
ポートレット・プロデューサ・アプリケーションは、標準ベース(JSR286)のポートレットおよびOracle PDK-Javaポートレットを作成するために構成します。この項では、ポートレット・プロデューサ・アプリケーション・テンプレートを使用して、ポートレット・アプリケーションを作成する方法について説明します。第57章「ポートレットの概要」も参照してください。
ポートレットを作成できるように既存のアプリケーションを拡張する方法の詳細は、第6.2項「WebCenter機能を組み込むためのWebCenter Portal: Framework以外のアプリケーションの拡張」を参照してください。
この項の内容は、次のとおりです。
ポートレット・プロデューサ・アプリケーション・テンプレートは、1つのプロジェクト(ポートレット)で構成されています。ポートレット・プロジェクトを使用すると、JSR 286(標準ベース)ポートレットおよびOracle PDK-Javaポートレットを作成できます。
ポートレット・プロデューサ・アプリケーション・テンプレートを使用してアプリケーションを作成するには:
次のいずれかの方法で、アプリケーションの作成ウィザードにアクセスします。
「ファイル」メニューから「新規」を選択します。「新規ギャラリ」ダイアログで、「アプリケーション」を展開し、「WebCenter Portal - ポートレット・プロデューサ・アプリケーション」を選択して「OK」をクリックします。
アプリケーション・ナビゲータから「新規アプリケーション」を選択します。
開いているアプリケーションがある場合は、アプリケーション・ナビゲータで、アプリケーション名のドロップダウン・メニューを開いて、「新規アプリケーション」を選択します。
アプリケーション・ナビゲータで、アプリケーション名を右クリックして、「新規作成」を選択します。「新規ギャラリ」ダイアログで、「アプリケーション」を展開して「WebCenter Portal - ポートレット・プロデューサ・アプリケーション」を選択し、「次へ」をクリックしてさらにオプションを指定するか、「終了」をクリックしてアプリケーションを作成します。
作成ウィザードの「アプリケーションの名前付け」ページで、「アプリケーション名」フィールドにアプリケーションの名前を入力します。
「ディレクトリ」フィールドでは、デフォルト・パスを受け入れるか、アプリケーションを格納するディレクトリのパスを入力します。
例:
C:\JDeveloper\mywork\Application1
オプションで、「参照」ボタンをクリックして、目的のディレクトリに移動します。
必要に応じて、「アプリケーション・パッケージの接頭辞」フィールドに、このアプリケーション内に作成されるパッケージに使用する接頭辞を入力します。
「アプリケーション・テンプレート」リストから、「WebCenter Portal - ポートレット・プロデューサ・アプリケーション」を選択します。
「終了」をクリックして、デフォルトのプロジェクト構成のポートレット・アプリケーションを作成します。
ポートレット・プロデューサ・アプリケーション・テンプレートを使用すると、Java、JSP、サーブレットおよびポートレット・テクノロジ・スコープを使用するデフォルトのポートレット・プロジェクトが生成されます。これにより、JDeveloperユーザー・インタフェースには、作成するポートレットに適したオプションのタイプのみが表示されます。
この新しいプロジェクトを右クリックすると、JSR 286ポートレットおよびOracle PDK-Javaポートレットを作成するオプションを使用できます。
デフォルトでは、WebCenter Portal: Frameworkアプリケーションは、ADFセキュリティで構成されます。デフォルトのユーザー名とパスワード(weblogic/weblogic1)が自動的に作成され、このユーザー名とパスワードの組合せをテスト用にただちに使用できます。
デフォルトのログイン・ページとログアウト・ページは、WebCenter Portal: Frameworkアプリケーション・テンプレートでも提供されます。
ADFセキュリティの詳細は、第68章「WebCenter Portal: Frameworkアプリケーションの保護」を参照してください。また、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion WebアプリケーションでのADFセキュリティの実施に関する項も参照してください。