Oracle® Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発 11gリリース1 (11.1.1.8.3) E49666-03 |
|
前 |
次 |
この付録では、WebCenter Portal Frameworkアプリケーションの開発時に、作成および変更されるファイルについて説明します。
内容は次のとおりです。
データ・モデルやユーザー・インタフェース・プロジェクトで作成するOracle Application Development Framework (Oracle ADF)メタデータ・ファイルの完全な参照は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
Oracle WebCenter Portalを使用してアプリケーションおよびコンポーネントを作成する際、ポートレットの構築や消費などのアクションを実行するときに、いくつかのファイルが作成されます。アプリケーションの作業を行うには、これらの各ファイルについて、またアプリケーションとの関連について、多少知っておくと便利です。Oracle WebCenter Portalの影響を受けるファイルは、次の2つのカテゴリに大別できます。
すべてのOracle ADFアプリケーションに共通のファイル(web.xml
など)。これらのファイルについては、Portal Frameworkアプリケーションのためにどのような追加や変更が加えられるかを知っておくと便利です。この付録ではこれらの変更について説明しますが、共通ファイルの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
Portal Frameworkアプリケーションで一意のファイル(portlet.xml
など)。これらのファイルについては、ファイルの目的とその内容を知っておくと便利です。これらのファイルについては、この付録で詳細に説明します。
作成および変更されるファイルは、Portal Frameworkアプリケーションの一部として作成するオブジェクトと密接に関連しています。したがって、これらのファイルは、次のようにオブジェクトごとに説明するのが最もわかりやすい方法です。
この項では、WebCenter PortalのPortal Frameworkアプリケーション・テンプレートを使用して、アプリケーションを作成する際に作成されるファイルについて説明します。内容は次のとおりです。
また、アプリケーションで使用されるイメージ・ファイルも作成されます。
catalog-registry.xml
は、カタログ・レジストリ・ファイルです。ユーザーがリソース・カタログを作成または編集する際に、実行時管理コンソールにより使用されます。レジストリは、作成または変更するカタログに含められるすべてのアイテムのスーパーセットを定義します。1つのアプリケーションに対して複数のカタログを作成できますが、1つのアプリケーションが持つことのできるカタログ・レジストリ・ファイルは1つのみです。
default-catalog.xml
は、デフォルト・リソース・カタログです。ユーザーが実行時にコンポーザを使用してページを編集すると、デフォルトのカタログ・ファイルは、ページに追加できるすべてのアイテムを指定します。
default-navigation-model.xml
は、ポータル・サイトのナビゲーション構造に組み込まれるナビゲーション・モデル・ファイルです。詳細は、第10章「ナビゲーション・モデルの開発」を参照してください。
index.html
は、リダイレクト文を含んでおり、ページ階層で指定されたhomeページを参照するURLエレメントpages_home
などのポータル・ナビゲーション・モデルを参照します。詳細は、第5.11項「デフォルトのホーム・ページおよびログイン/ログアウト・ターゲット・ページの変更」を参照してください。
navigation-registry.xml
は、ユーザーがナビゲーション・モデルを作成または編集する際に、実行時管理コンソールにより使用されます。レジストリは、作成または変更するモデルに含められるすべてのアイテムのスーパーセットを定義します。1つのアプリケーションに対して複数のナビゲーション・モデルを作成できますが、1つのアプリケーションが持つことのできるナビゲーション・レジストリ・ファイルは1つのみです。詳細は、第10章「ナビゲーション・モデルの開発」を参照してください。
pages.xml
(ページ階層ファイル)は、ページ間の親子関係を使用してページをツリー構造に編成します。この階層構造により、ページからサブページにセキュリティ設定を簡単に伝播または継承することが可能になります。詳細は、第5.3.2項「ページ、ページ・テンプレートとスタイル、およびポータルのページ階層の理解」を参照してください。
error.jspx
は、Oracle WebCenter Portalでエラーが発生したときにユーザーに表示されるデフォルトのエラー・ページです。
home.jspx
は、ユーザーにドキュメント、リンク、タグおよびディスカッションなどの機能へのアクセスを提供するデフォルト・ホームページです。
login.jspx
は、ユーザーにログイン/ログアウト機能を提供するデフォルト・ログイン・ページです。ログイン・ページのカスタマイズの詳細は、第74.9項「ログイン・ページへのポートレットの追加」を参照してください。
navigation-renderer.jspx
は、ポートレット、コンテンツ、タスク・フローなど、ナビゲーションに表示されるページ以外のリソースのレンダリングに使用されます。詳細は、第10.8項「ナビゲーション・レンダラの編集」を参照してください。
pageTemplate_globe.jspx
は、アプリケーションの作成時に「標準ポータル機能のアプリケーションの構成」オプションを選択したときに作成される2つのシード・ページ・テンプレートの1つです。このテンプレートは、基本的にpageTemplate_swooshy.jxpx
と同じ機能を提供しますが、グラフィックは異なります。詳細は、第11章「ページ・テンプレートの開発」を参照してください。
pageTemplate_swooshy.jspx
は、アプリケーションの作成時に「標準ポータル機能のアプリケーションの構成」オプションを選択したときに作成される2つのシード・ページ・テンプレートの1つです。このテンプレートは、基本的にpageTemplate_globe.jxpx
と同じ機能を提供しますが、グラフィックは異なります。詳細は、第11章「ページ・テンプレートの開発」を参照してください。
この項では、JSR 286ポートレットを構築する際に作成されるファイルについて説明します。内容は次のとおりです。
portlet.xml
は、JSR 286ポートレットの特性を定義します。portlet.xml
の詳細は、次で入手できるJavaポートレット仕様を参照してください。
http://jcp.org/en/jsr/detail?id=168
例A-1は、portlet.xml
ファイルのサンプル・フラグメントです。この例には、portlet.xml
の使用可能な要素がすべて含まれているわけではありません。
例A-1 portlet.xmlのサンプル
<portlet> <description xml:lang="en">JSR 286 map portlet </description> <portlet-name>portlet1</portlet-name> <display-name xml:lang="en">Map Portlet</display-name> <portlet-class>jsrportlet.MapPortlet</portlet-class> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>edit</portlet-mode> <portlet-mode>help</portlet-mode> <portlet-mode>about</portlet-mode> </supports> <supported-locale>en</supported-locale> <resource-bundle>jsrportlet.resource.MapPortletBundle</resource-bundle> <portlet-info> <title>Map Portlet</title> <short-title>Map</short-title> <keywords/> <portlet-preferences> <preference> <name>portletTitle</name> </preference> </portlet-preferences> <security-role-ref> <role-name>viewer</role-name> </security-role-ref> </portlet>
JSR 286ポートレットの場合、portlet.xml
ファイルには、ポートレットおよびそれらの設定関連の情報がすべて含まれています。前のサンプルでは、これらの設定がすべて使用されているわけではありません。
<description>
: エンド・ユーザーに詳細情報を提供するポートレットについて説明します。
<portlet-name>
: ポートレット・アプリケーション内でポートレット・プロデューサ・アプリケーションを一意に識別します。
<display-name>
: ユーザーに使用可能なポートレットのリストを表示するときに使用します。
<portlet-class>
: javax.portlet.Portlet
インタフェースを実装するクラス、またはポートレット・ロジックのエントリ・ポイントとなるGenericPortlet
抽象クラスを拡張するクラスの完全修飾クラス名が入ります。ポートレット・コンテナは、ポートレット・ライフ・サイクル・メソッドを起動するときにこのクラスを使用します。Oracle JSF Portlet Bridgeを使用して作成されるJSFポートレットの場合、これはoracle.portlet.bridge.adf.application.ADFBridgePortlet
になります。
<expiration-cache>
: 有効期限のキャッシュのデフォルトの期間です。
<init-param>
: ポートレットの動作を構成する初期化パラメータを定義します。Oracle JSF Portlet Bridgeは、表示モードなど、ポートレットでサポートされる別のポートレット・モデルのエントリ・ポイントを識別するために初期化パラメータを使用します。
<init-param> <name>javax.portlet.faces.defaultViewId.view</name> <value>/myPage.jspx</value> </init-param>
他のWebCenter Portal対応モードの初期化パラメータは、次のとおりです。
編集モード: javax.portlet.faces.defaultViewId.edit
ヘルプ・モード: javax.portlet.faces.defaultViewId.help
情報モード: javax.portlet.faces.defaultViewId.about
構成モード: javax.portlet.faces.defaultViewId.config
デフォルト編集モード: javax.portlet.faces.defaultViewId.edit_defaults
プレビュー・モード: javax.portlet.faces.defaultViewId.preview
印刷モード: javax.portlet.faces.defaultViewId.print
注意:
|
<supports>
: コンテンツ・タイプごとにサポートされているポートレット・モードについての情報を提供します。WebCenter Portalでサポートされているポートレット・モードには、edit
、help
、about
、config
、edit_defaults
、preview
およびprint
があります。
<supported-locale>
: ポートレットで実行時にサポートされるロケールをリストします。
<resource-bundle>
: リソース・バンドルの完全修飾クラス名で、タイトルやキーワードなど、言語専用のポートレット情報提供するために使用されます。
<title>
: ポートレットの静的タイトル。通常は、ポートレット・ウィンドウ上のポートレットの装飾内で表示されます。
<short-title>
: 表示能力が限られているデバイス(携帯電話など)で使用されるタイトル。
<keywords>
: ユーザーに検索能力を提供するアプリケーションで使用されます。
<portlet-preferences>
: プリファレンス属性定義です。
<supported-processing-event>
: ポートレットで受信可能なイベントです。
<supported-publishing-event>
: ポートレットを呼び出すイベントです。
<supported-public-render-parameter>
: ポートレットでサポートされるパブリック・レンダラ・パラメータです。
<container-runtime-option>
: 追加の実行時の動作を定義するオプションです。
<security-role-ref>
: web.xml
でセキュリティ・ロールにロール名をマップします。<security-role-ref>
をマップする先のweb.xml
内にあるロールのリストは、プロデューサのユーザー・カテゴリとしてコンシューマに公開されます。web.xml
では、<security-role>
は次のように表示されます。
<security-role> <description>Viewer role</description> <role-name>viewer</role-name> </security-role>
oracle-portlet-tags.jar
は、Javaポートレット仕様で定義されているJSPタグ・ライブラリのOracle実装です。
ポートレット用に作成するポート・モードの実装スタイルに応じて、対応するJSPファイルが、そのモードを定義するためにportlet_name
\html
ディレクトリに作成されます。たとえば、ポートレットに表示モードと編集モードを使用する場合、portlet_name
\html
ディレクトリにview.jsp
とedit.jsp
が必要になります。JSR 286ポートレットの場合、使用するポートレット・モードに対して次のJSPファイルが作成されます。
about.jsp
config.jsp
edit_defaults.jsp
edit.jsp
help.jsp
preview.jsp
print.jsp
view.jsp
ポートレット・モードの詳細は、第57.4.2項「ポートレット・モード」を参照してください。
portlet_name
.java
は、ポートレット・ロジックのエントリ・ポイントの役割を果すクラスです。このクラスは、javax.portlet.Portlet
インタフェースを実装するか、GenericPortlet
抽象クラスを拡張する必要があります。ポートレット・コンテナは、ポートレット・ライフ・サイクル・メソッドを起動するときにこのクラスを使用します。
portlet_name
Bundle.jar
は、ポートレットで使用される文字列の翻訳が含まれるリソース・バンドル・クラスです。
web.xml
ファイルは、Webアプリケーションに関する詳細情報が含まれたJava EE標準ディスクリプタです。web.xml
の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
この項では、PDK-Javaポートレットを構築する際に作成されるファイルについて説明します。内容は次のとおりです。
producer_name
.properties
は、プロデューサについてのデプロイメント詳細(provider.xml
ファイルの場所など)を指定します。たとえば、このファイルは、PDK-Javaサンプルの登録URLが次の形式の場合に使用されます。
http://host:port/jpdk/provider/samples
または
http://host:port/jpdk/provider
ここでは、サービスIDフィールドにsamples
が含まれています。第A.5.2項「_default.properties」も参照してください。
_default.properties
は、プロデューサについてのデプロイメント詳細(provider.xml
ファイルの場所など)を指定します。たとえば、このファイルは、PDK-Javaサンプルの登録URLが次の形式の場合に使用されます。
http://host:port/jpdk/provider
プロデューサ名はここでは指定されないので、デフォルトにする必要があります。第A.5.1項「producer_name.properties」も参照してください。
index.jsp
は、Oracle JDeveloperからPDK-Javaプロデューサをテストする際の便利な開始点として役立ちます。このファイルには、アプリケーションで使用可能なすべてのプロデューサのリストが含まれています。
ポートレット用に作成するポートレット・モードの実装スタイルに応じて、対応するJSPファイルが、そのモードを定義するために\htdocs\
portlet_name
ディレクトリに作成されます。たとえば、portletOne
というポートレットに表示モードと編集モードを使用する場合、\htdocs\portletOne
ディレクトリにportletOneShowPage.jsp
とPortletOneEditPage.jsp
が必要です。PDK-Javaポートレットの場合、使用するポートレット・モードに次のJSPファイルが作成されます。
portlet_nameAboutPage.jsp
portlet_nameEditDefaultsPage.jsp
portlet_nameEditPage.jsp
portlet_nameHelpPage.jsp
portlet_nameShowDetailsPage.jsp
portlet_nameShowPage.jsp
ポートレット・モードの詳細は、第57.4.2項「ポートレット・モード」を参照してください。
provider.xml
は、PDK-Javaプロデューサの定義ファイルです。
例A-2は、provider.xml
ファイルのサンプルを示しています。
例A-2 provider.xmlのサンプル
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?providerDefinition version="3.1"?> <provider class="oracle.portal.provider.v2.DefaultProviderDefinition"> <localePersonalizationLevel>none</localePersonalizationLevel> <session>true</session> <defaultLocale>en</defaultLocale> <preferenceStore class="oracle.portal.provider.v2.preference.FilePreferenceStore"> <name>prefStore1</name> <useHashing>true</useHashing> </preferenceStore> <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition"> <id>1</id> <name>SampleRenderer</name> <title>SampleRenderer example</title> <shortTitle>SampleRenderer</shortTitle> <description>Example portlet rendered using the SampleRenderer</description> <timeout>40</timeout> <timeoutMessage>SampleRenderer example timed out</timeoutMessage> <acceptContentType>text/html</acceptContentType> <showEdit>true</showEdit> <showEditToPublic>false</showEditToPublic> <showEditDefault>true</showEditDefault> <showPreview>true</showPreview> <showDetails>true</showDetails> <hasHelp>true</hasHelp> <hasAbout>true</hasAbout> <renderer class="oracle.portal.sample.v2.devguide.samplerenderer.SampleRenderer"/> <personalizationManager class="oracle.portal.provider.v2.personalize.PrefStorePersonalizationManager"> <dataClass>oracle.portal.provider.v2.personalize. NameValuePersonalizationObject </dataClass> </personalizationManager> </portlet> </provider>
web.xml
ファイルは、Webアプリケーションに関する詳細情報が含まれたJava EE標準ディスクリプタです。web.xml
の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
この項では、ページの作成または変更、アプリケーションのデプロイまたはJSR 268ポートレットの消費の際に、作成または変更されるファイルについて説明します。内容は次のとおりです。
adf-config.xml
ファイルは、ADFコンポーネントにより使用される拡張可能な構成ファイルです。このファイルは、構成情報を設定するために、ページ、ポートレット、およびすべてのツールとサービス(検索、ワークリスト、ディスカッションなど)を含む様々なWebCenter Portalのツールとサービスにより使用されます。このファイルとconnections.xml
には、大部分のツールとサービスが機能するために必要な構成情報が含まれています。
詳細は、次の項を参照してください。
DataBindings.cpx
は、Webアプリケーションに共通するファイルです。DataBindings.cpx
の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
faces-config.xml
は、JSFアプリケーションに共通するファイルです。このファイルでは、アプリケーションのページ・フローを説明しています。faces-config.xml
の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
page_name
.jspx
は、ページのためのJSPファイルです。ページに対してポートレットやデータ・コントロールなどのコンポーネントを追加または削除すると、このファイルが更新されます。
PageDef.xml
は、Oracle ADFアプリケーションに共通するファイルです。このファイルには、ポートレット・バインディングについての情報が保持されています。また、このファイルでは、ポートレット・パラメータをページの変数に関連付けることができます。
PageDef.xml
の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
PageDef.xmlのサンプル
例A-3は、PageDef.xml
ファイルのサンプルを示しています。
例A-3 PageDef.xmlのサンプル
<?xml version="1.0" encoding="UTF-8" ?> <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel" version="10.1.3.37.97" id="app_SRFeedbackPageDef" Package="oracle.srdemo.view.pageDefs"> <parameters/> <executables> <methodIterator id="findAllServiceRequestIter" Binds="findAllServiceRequest.result" DataControl="SRPublicFacade" RangeSize="4" BeanClass="oracle.srdemo.model.entities.ServiceRequest"/> <variableIterator id="variables"> <variable Name="portlet1_Param1" Type="java.lang.Object" DefaultValue=" ${bindings.findAllServiceRequestIter.currentRow.dataProvider['svrId']}"/> <variable Name="portlet1_Param2" Type="java.lang.Object"/> <variable Name="portlet1_Param3" Type="java.lang.Object"/> <variable Name="portlet1_Param4" Type="java.lang.Object"/> <variable Name="portlet1_Param5" Type="java.lang.Object"/> </variableIterator> <methodIterator id="findServiceRequestByIdIter" Binds="findServiceRequestById.result" DataControl="SRPublicFacade" RangeSize="10" BeanClass="oracle.srdemo.model.entities.ServiceRequest"/> <portlet id="portlet1" portletInstance="/oracle/adf/portlet/OmniProducer_1150310748178/ applicationPortlets/Portlet100_eebc7f18_010b_1000_8001_82235f640cea" class="oracle.adf.model.portlet.binding.PortletBinding" xmlns="http://xmlns.oracle.com/portlet/bindings"> <parameters> <parameter name="Param1" pageVariable="portlet1_Param1"/> <parameter name="Param2" pageVariable="portlet1_Param2"/> <parameter name="Param3" pageVariable="portlet1_Param3"/> <parameter name="Param4" pageVariable="portlet1_Param4"/> <parameter name="Param5" pageVariable="portlet1_Param5"/> </parameters> </portlet> </executables> <bindings> <methodAction id="findAllServiceRequest" InstanceName="SRPublicFacade.dataProvider" DataControl="SRPublicFacade" MethodName="findAllServiceRequest" RequiresUpdateModel="true" Action="999" IsViewObjectMethod="false" ReturnName="SRPublicFacade.methodResults. SRPublicFacade_dataProvider_findAllServiceRequest_result"/> <table id="findAllServiceRequest1" IterBinding="findAllServiceRequestIter"> <AttrNames> <Item Value="assignedDate"/> <Item Value="problemDescription"/> <Item Value="requestDate"/> <Item Value="status"/> <Item Value="svrId"/> <Item Value="custComment"/> <Item Value="custCommentDate"/> <Item Value="custCommentContactBy"/> <Item Value="mgrNotes"/> <Item Value="mgrNotesDate"/> </AttrNames> </table> <methodAction id="findServiceRequestById" InstanceName="SRPublicFacade.dataProvider" DataControl="SRPublicFacade" MethodName="findServiceRequestById" RequiresUpdateModel="true" Action="999" IsViewObjectMethod="false" ReturnName="SRPublicFacade.methodResults. SRPublicFacade_dataProvider_findServiceRequestById_result"> <NamedData NDName="svrIdParam" NDValue= "${bindings.findAllServiceRequestIter.currentRow.dataProvider['svrId']}" NDType="java.lang.Integer"/> </methodAction> <attributeValues id="svrId" IterBinding="findServiceRequestByIdIter"> <AttrNames> <Item Value="svrId"/> </AttrNames> </attributeValues> <attributeValues id="custComment" IterBinding="findServiceRequestByIdIter"> <AttrNames> <Item Value="custComment"/> </AttrNames> </attributeValues> <attributeValues id="mgrNotes" IterBinding="findServiceRequestByIdIter"> <AttrNames> <Item Value="mgrNotes"/> </AttrNames> </attributeValues> <list id="ServiceRequestcustCommentContactBy" IterBinding="findServiceRequestByIdIter" ListOperMode="0" StaticList="true" NullValueFlag="1"> <AttrNames> <Item Value="custCommentContactBy"/> </AttrNames> <ValueList> <Item Value=" "/> <Item Value="Phone"/> <Item Value="Email"/> <Item Value="SMS"/> </ValueList> </list> <methodAction id="mergeEntity" InstanceName="SRPublicFacade.dataProvider" DataControl="SRPublicFacade" MethodName="mergeEntity" RequiresUpdateModel="true" Action="999" IsViewObjectMethod="false" ReturnName="SRPublicFacade.methodResults. SRPublicFacade_dataProvider_mergeEntity_result"> <NamedData NDName="entity" NDValue= "${bindings.findServiceRequestByIdIter.currentRow.dataProvider}" NDType="java.lang.Object"/> </methodAction> </bindings> </pageDefinition>
JDeveloperでは、Portal Frameworkアプリケーションを作成する場合、trinidad-config.xml
ファイルが/WEB-INF
ディレクトリに自動的に作成されます。例A-4に、このシード済trinidad-config.xml
ファイルを示します。
例A-4 JDeveloperによって作成されるシード済trinidad-config.xmlファイル
<?xml version="1.0" encoding="US-ASCII"?> <trinidad-config xmlns="http://myfaces.apache.org/trinidad/config"> <skin-family>#{preferenceBean.defaultTrinidadSkin}</skin-family> </trinidad-config>
trinidad-config.xml
で、使用するスキンや必要に応じて付随する条件を決定する<skin-family>
を設定できます。trinidad-config.xml
ファイルは単純なXML構造であり、JSF Expression Language (EL)や静的な値を使用して、要素のプロパティを定義できます。
注意:
|
さらに、trinidad-config.xml
にはページ・アクセシビリティ・サポートのレベル、ページ・アニメーション、タイムゾーン、拡張デバッグ出力およびOracle Help for the Web (OHW)のURLに関する情報を含めることができます。
詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のtrinidad-config.xmlでの構成に関する項を参照してください。
trinidad-skins.xml
は、JARとして提供されるどのスキンにも必要です。このファイルは、通常、各スキンJARとバンドルされていて、スキンIDとスキンの実際のパスの間の検索を実行します。ただし、Portal Frameworkアプリケーションのポータル・リソースとして作成されるスキンでは、個々の実行時APIを使用してスキンの場所が検索されます。したがって、このファイルはそのようなスキンには必要ありません。
詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』の「スタイルおよびスキンを使用した外観のカスタマイズ」の章を参照してください。
web.xml
ファイルは、Webアプリケーションに関する詳細情報が含まれたJava EE標準ディスクリプタです。web.xml
の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
weblogic-application.xml
は、Oracle WebLogic Serverのデプロイメント用のデプロイメント・ディスクリプタです(アプリケーションの構成を定義するサーバー構成ファイル)。
WebCenter Portal Frameworkアプリケーションをデプロイすると、プロジェクト・ディレクトリ内にmds
サブディレクトリが作成されます。このサブディレクトリには、ポートレットのカスタマイズやパーソナライズなど、他のサブディレクトリやメタデータ・ファイルが含まれています。
アプリケーションでJSR 286ポートレットを使用する場合、wsdl
サブディレクトリがWEB-INF
ディレクトリ内に作成されます。このサブディレクトリ内のファイルは、1つのWSRPプロデューサのポートレット用に作成された内部ファイルです。
この項では、セキュリティを実装または変更する際に作成または変更されるファイルについて説明します。内容は次のとおりです。
connections.xml
ファイルには、ポートレット・プロデューサ接続情報が含まれています。例A-5に、サンプルのconnections.xml
ファイルを示します。
例A-5 connections.xml
<?xml version = '1.0' encoding = 'UTF-8'?> <References xmlns="http://xmlns.oracle.com/adf/jndi"> <Reference name="SampleWSRPProducer-wsconn" className="oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl" xmlns=""> <Factory className="oracle.adf.model.connection.webservice.api.WebServiceConnectionFactory"/> <RefAddresses> <XmlRefAddr addrType="WebServiceConnection"> <Contents> <wsconnection description="http://portlet.example.com:9999/portletapp/portlets/wsrp2?WSDL"> <model name="{urn:oasis:names:tc:wsrp:v2:wsdl}WSRP_v2_Service" xmlns="http://oracle.com/ws/model"> <service name="{urn:oasis:names:tc:wsrp:v2:wsdl}WSRP_v2_Service"> <port name="WSRP_v2_PortletManagement_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_PortletManagement_Binding_SOAP"> <soap addressUrl="http://host:port
/portletapp/portlets/WSRP_v2_PortletManagement_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="setPortletProperties"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setPortletProperties" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="setPortletProperties"/> <output name="setPortletPropertiesResponse"/> </operation> <operation name="getPortletProperties"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletProperties" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getPortletProperties"/> <output name="getPortletPropertiesResponse"/> </operation> <operation name="importPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:importPortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="importPortletsResponse"/> <input name="importPortlets"/> </operation> <operation name="destroyPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:destroyPortlets" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="destroyPortlets"/> <output name="destroyPortletsResponse"/> </operation> <operation name="exportPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:exportPortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="exportPortletsResponse"/> <input name="exportPortlets"/> </operation> <operation name="releaseExport"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:importPortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="releaseExport"/> <output name="releaseExportResponse"/> </operation> <operation name="getPortletsLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletsLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getPortletsLifetimeResponse"/> <input name="getPortletsLifetime"/> </operation> <operation name="copyPortlets"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:copyPortlets" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="copyPortletsResponse"/> <input name="copyPortlets"/> </operation> <operation name="getPortletPropertyDescription"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletPropertyDescription" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getPortletPropertyDescription"/> <output name="getPortletPropertyDescriptionResponse"/> </operation> <operation name="clonePortlet"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:clonePortlet" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="clonePortletResponse"/> <input name="clonePortlet"/> </operation> <operation name="setPortletsLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setPortletsLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="setPortletsLifetimeResponse"/> <input name="setPortletsLifetime"/> </operation> <operation name="getPortletDescription"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getPortletDescription" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getPortletDescription"/> <output name="getPortletDescriptionResponse"/> </operation> <operation name="setExportLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setExportLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="setExportLifetime"/> <output name="setExportLifetimeResponse"/> </operation> </port> <port name="WSRP_v2_Markup_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_Markup_Binding_SOAP"> <soap addressUrl="http://host:port
/portletapp/portlets/WSRP_v2_Markup_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="initCookie"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:initCookie" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="initCookieResponse"/> <input name="initCookie"/> </operation> <operation name="getMarkup"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getMarkup" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getMarkupResponse"/> <input name="getMarkup"/> </operation> <operation name="releaseSessions"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:releaseSessions" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="releaseSessions"/> <output name="releaseSessionsResponse"/> </operation> <operation name="performBlockingInteraction"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:performBlockingInteraction" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="performBlockingInteraction"/> <output name="performBlockingInteractionResponse"/> </operation> <operation name="getResource"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getResource" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getResourceResponse"/> <input name="getResource"/> </operation> <operation name="handleEvents"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:handleEvents" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="handleEvents"/> <output name="handleEventsResponse"/> </operation> </port> <port name="WSRP_v2_Registration_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_Registration_Binding_SOAP"> <soap addressUrl="http://host:port
/portletapp/portlets/WSRP_v2_Registration_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="register"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:register" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="register"/> <output name="registerResponse"/> </operation> <operation name="getRegistrationLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getRegistrationLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <output name="getRegistrationLifetimeResponse"/> <input name="getRegistrationLifetime"/> </operation> <operation name="setRegistrationLifetime"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:setRegistrationLifetime" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="setRegistrationLifetime"/> <output name="setRegistrationLifetimeResponse"/> </operation> <operation name="deregister"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:deregister" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="deregister"/> <output name="deregisterResponse"/> </operation> <operation name="modifyRegistration"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:modifyRegistration" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="modifyRegistration"/> <output name="modifyRegistrationResponse"/> </operation> </port> <port name="WSRP_v2_ServiceDescription_Service" binding="{urn:oasis:names:tc:wsrp:v2:bind}WSRP_v2_ServiceDescription_Binding_SOAP"> <soap addressUrl="http://host:port
/portletapp/portlets/WSRP_v2_ServiceDescription_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="getServiceDescription"> <soap soapAction="urn:oasis:names:tc:wsrp:v2:getServiceDescription" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/> <input name="getServiceDescription"/> <output name="getServiceDescriptionResponse"/> </operation> </port> </service> </model> </wsconnection> </Contents> </XmlRefAddr> </RefAddresses> </Reference> <Reference name="SampleWSRPProducer" className="oracle.portlet.client.connection.wsrp.WSRPProducerConnection" xmlns=""> <Factory className="oracle.portlet.client.connection.wsrp.WSRPProducerConnectionFactory"/> <RefAddresses> <XmlRefAddr addrType="connectionDesc"> <Contents> <wsrpproducerconnection wsConnection="SampleWSRPProducer-wsconn" timeout="30"/> </Contents> </XmlRefAddr> </RefAddresses> </Reference> </References>
アプリケーション用のセキュリティを実装または変更すると、jazn-data.xml
ファイルが作成または変更されます。
jazn-data.xml
ファイルは、アプリケーションのレルムおよびポリシー情報のデプロイを容易にするために使用されます。使用する開発環境(Oracle JDeveloper)で、jazn-data.xml
は、アプリケーションのworkspacedir
/src/META-INF
ディレクトリにあります。デプロイメント後、このファイルの内容は、ドメイン・レベルのアイデンティティ・ストアまたはポリシー・ストアでマージされます。このファイルには、設計時に作成されたポリシーが含まれ、JpsApplicationLifecycleListener
により、デプロイメント・ターゲットのsystem-jazn-data.xml
ファイル(または適切に構成されたポリシー・ストア)へのデプロイ時にマージされます。
JpsApplicationLifecycleListener
を使用してセキュリティ情報を移行する際、jazn-data.xml
ファイルは、移行用のソース・ファイルとして使用できます。移行ロールの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
jazn-data.xmlのサンプル
例A-6は、jazn-data.xml
ファイルのサンプルを示しています。
A-6 jazn-data.xmlのサンプル
<?xml version = '1.0' encoding = 'UTF-8'?> <jazn-data> <jazn-realm> <realm> <name>jazn.com</name> </realm> </jazn-realm> <policy-store> <applications> <application> <name>mdsapp-secure</name> <app-roles> <app-role> <name>unauthenticated-role</name> <display-name>anonymous-role</display-name> <class>oracle.security.jps.service.policystore.ApplicationRole</class> </app-role> <app-role> <name>authenticated-role</name> <display-name>authenticated-users</display-name> <class>oracle.security.jps.service.policystore.ApplicationRole</class> </app-role> <app-role> <name>approle</name> <display-name>approle</display-name> <description>approle</description> <guid/> <class>oracle.security.jps.service.policystore.ApplicationRole</class> <members> <member> <class>oracle.security.jps.internal.core.principals.JpsXmlUserImpl</class> <name>orcladmin</name> </member> </members> </app-role> </app-roles> <jazn-policy> <grant> <grantee> <principals> <principal> <class>oracle.security.jps.internal.core.principals.JpsAuthenticatedRoleImpl</class> <name>authenticated-role</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.adf.share.security.authorization.RegionPermission</class> <name>project1.pageDefs.securePageDef</name> <actions>view</actions> </permission> </permissions> </grant> <grant> <grantee> <principals> <principal> <class>oracle.security.jps.internal.core.principals.JpsAnonymousRoleImpl</class> <name>anonymous-role</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.adf.share.security.authorization.RegionPermission</class> <name>project1.pageDefs.publicPageDef</name> <actions>view</actions> </permission> </permissions> </grant> </jazn-policy> </application> </applications> </policy-store> <jazn-policy/> </jazn-data>
cwallet.sso
は、外部アプリケーションの資格証明(存在する場合)と、データベース・パスワードなど、接続の保護されたデータを含みます。cwallet.sso
ファイルは、workspaceroot
/src/META-INF
ディレクトリに格納されています。
jps-config.xml
は、workspaceroot
/src/META-INF
に格納されています。アプリケーションとともにパッケージ化されているjps-config.xml
ファイルは、設計時にのみ使用されます。実行時は、ドメイン・レベルで格納されている構成のjps-config.xml
ファイルが機能します。
jps-config.xml
はOPSSサービスを構成します。jps-config.xml
の要素の階層および属性に関する詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』のOPSS構成ファイルの参照に関する項を参照してください。
推奨される移行は、移行コマンドの要求として定義された移行元および移行先のコンテキストで新しいjps-config.xml
ファイルを作成することです。IDの移行に関する詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』の手動によるIDの移行に関する項を参照してください。
ポリシー・ストアを移行する方法には、ポリシー・ストア全体、アプリケーション固有のポリシーおよびグローバル・ポリシーを移行する方法があります。詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』の手動によるポリシーの移行に関する項を参照してください。
資格証明ストアは、2つの方法(資格証明ストア全体またはアプリケーションに固有の資格証明)で移行できます。アプリケーション固有の資格証明を移行するときは、srcFolder
およびtargetFolder
が同じであることを確認します。srcFolder
およびtargetFolder
は、adf-config.xml
ファイルのappUID
から決定されます。例A-7を参照してください。詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』の手動による資格証明の移行に関する項を参照してください。
セキュリティ構成は、adf-config.xml
に格納されています。このファイルは、workspaceroot
/.adf/META-INF/adf-config.xml
に格納されています。例A-8を参照してください。
例A-8 adf-config.xml
<adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
<JaasSecurityContext initialContextFactoryClass="oracle.adf.share.security.JAASInitialContextFactory"
jaasProviderClass="oracle.adf.share.security.providers.jps.JpsSecurityContext"
authorizationEnforce="true"
authenticationRequire="true"/>
<CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore"
credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
</adf-security-child>
注意: サンプルの |
この項では、ページ・テンプレートを作成する際に作成または変更される、pagetemplate-metadata.xml
ファイルについて説明します。
pagetemplate-metadata.xml
には、プロジェクトで作成したすべてのページ・テンプレートが記録されます。
この項では、いくつかのWebCenter Portalのツールとサービスのconnections.xml
およびadf-config.xml
ファイルのサンプルを示します。
例A-9は、SES Webサービス接続に最低限必要な構成を示しています。
例A-9 SES Web Service接続のサンプル
<Reference name="GenericSesConnection" className="oracle.adf.mbean.share.connection.webcenter.search.SesConnectionReferenceable"
credentialStoreKey="GenericSesConnection" xmlns="">
<Factory className="oracle.adf.mbean.share.connection.webcenter.search.SesConnectionFactory"/>
<RefAddresses>
<XmlRefAddr addrType="SesConfig">
<Contents>
<SesConfig>
<AttributeMap>
<Attribute name="date">
<SesAttribute>LastModifiedDate</SesAttribute>
</Attribute>
<Attribute name="person">
<SesAttribute>Author</SesAttribute>
</Attribute>
</AttributeMap>
<SoapUrl>http://host:port
/search/query/OracleSearch</SoapUrl>
</SesConfig>
</Contents>
</XmlRefAddr>
<StringRefAddr addrType="appUsername">
<Contents>wpadmin</Contents>
</StringRefAddr>
<SecureRefAddr addrType="appPassword"/>
</RefAddresses>
</Reference>
例A-10では、ドキュメントのadf-config.xml
のサンプルを示します。
例A-10 ドキュメントのADF構成
<doclibC:adf-doclib-config xmlns="http://xmlns.oracle.com/webcenter/doclib/config" primaryConnectionName="Oracle_Content_Server"> <doclibC:spaces-repository spacesRoot="/repositoryPath" adminUserName="sysadmin" applicationName="application_name" /> </doclibC:adf-doclib-config>
例A-11では、ワークリストのadf-config.xml
のサンプルを示します。