プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発
11gリリース1 (11.1.1.9.0)
E49666-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

64 OmniPortletを使用したポートレットの作成

この章では、Oracle JDeveloper環境でのOmniPortletの使用方法について説明します。

この章の内容は、次のとおりです。

OmniPortletウィザードの使用方法の詳細は、『Oracle WebCenter Portalでのポータルの構築』の「OmniPortletの使用」の章を参照してください。

64.1 OmniPortletの概要

OmniPortletはデータ公開ポートレットであり、Oracle WebCenter Portalのサブコンポーネントとして提供されています。OmniPortletを使用すると、開発者がコードを記述することなく、多様なレイアウトを使用して様々なデータ・ソースからデータを容易に公開できます。OmniPortletは使いやすいウィザードを使用して、設計時にアプリケーションに追加し、実行時にカスタマイズします。OmniPortletのベースには、SQL、XML、Webサービス、スプレッドシート(カンマ区切り)、さらには既存のWebページのアプリケーション・データなど、多様なデータ・ソースを使用できます。このデータは、カスタマイズ可能なチャートや表などの様々なレイアウトで公開できます。図64-1に、OmniPortletを使用して作成されたポートレットの例を示します。

図64-1 OmniPortletの例

図64-1の説明が続きます
「図64-1 OmniPortletの例」の説明

OmniPortletを使用すると、WebCenter Portal Frameworkアプリケーション開発者およびコンポーネント開発者は、次のことができます。

  • 複数ソース(CSV、XML、Webサービス、SQLなど)のデータの表示

  • 表示するデータのソート

  • 多様なレイアウト(箇条書きリスト、チャート、HTMLなど)を使用したデータの書式設定

  • ポートレット・パラメータの使用

  • ページ・ビューアへのパーソナライズ可能な設定の公開

パーソナライズされたデータを表示する場合は、データ・ソースから戻された結果をフィルタリングして、取得したデータを絞り込み、保護されたデータのアクセスに使用する資格証明情報をパラメータ化できます。OmniPortletには最初から、表、チャート、HTML、ニュース、箇条書きリストおよびフォームなど、最も一般的なポートレット用のレイアウトが用意されています。

64.2 アプリケーションへのOmniPortletの追加

第63章「ポートレットの消費」で説明しているように、OmniPortletは、Oracle JDeveloperで作成されたページに追加できます。OmniPortletは、Oracle JDeveloperとともにインストールされる統合WebLogic Server (統合WLS)内の、事前構成済PortalToolsポートレット・プロデューサに含まれています。

アプリケーションにOmniPortletを追加するには:

  1. 統合WLSを起動します。詳細は、第2.2.4項「統合WebLogic Serverの管理」を参照してください。

  2. 事前構成済PortalToolsポートレット・プロデューサがまだデプロイされていない場合は、デプロイします。詳細は、第2.4.1.1項「事前構成済ポートレット・プロデューサのデプロイ」を参照してください。

  3. アプリケーションにOmniPortletプロデューサを登録します。詳細は、第63.2.2項「WebCenter Portal FrameworkアプリケーションへのOracle PDK-Javaポートレット・プロデューサの登録」を参照してください。

  4. OmniPortletを対象のJSPXページにドラッグして、アプリケーションに追加します。詳細は、第63.5項「ページへのポートレットの追加」を参照してください。


    注意:

    Oracle JDeveloperでOmniPortletのインスタンスをページに追加する際、ポートレットの「プロパティ・インスペクタ」を開き、AllModesSharedScreenプロパティとRenderPortletInIFrameプロパティが次のように設定されていることを確認します。
    • AllModesSharedScreenは、「カスタマイズ」と「パーソナライズ」がフル・ページのサイズで表示されるようにFalseに設定されています。

    • RenderPortletInIFrameは、表示モードでOmniPortletが独自のインライン・フレーム(iframe)に表示されるようにTrueに設定されています。


Oracle JDeveloperでのOmniPortletの構成の詳細は、第64.4項「OmniPortlet構成のヒント」を参照してください。

64.3 OmniPortletのカスタマイズ

設計時にOmniPortletをアプリケーションに追加しておくと、アプリケーションをブラウザで実行することにより、コンテンツ、レイアウトおよびその他のオプションをカスタマイズできます。この項では、実行時のカスタマイズに関する大まかな概要を説明します。このポートレットの使用およびカスタマイズ方法の詳細は、『Oracle WebCenter Portalでのポータルの構築』の「OmniPortletの使用」の章を参照してください。


注意:

OmniPortletの構成の詳細は、第64.4項「OmniPortlet構成のヒント」を参照してください。

OmniPortletウィザードには最初に、5つの手順が含まれています。OmniPortletを初めて定義するときは、データ・ソース・タイプ、データ・ソース・オプション、フィルタ・オプション、表示オプションおよびレイアウトを設定します。ウィザードのこれらの設定手順を終えた後にウィザードを再開する場合は、ポートレットの「カスタマイズ」リンクをクリックします。ウィザードを再開すると、「ソース」、「フィルタ」、「表示」および「レイアウト」の各タブで定義を変更できます。


注意:

IBM Linux on Powerプラットフォームで、OmniPortletの定義時に、アクション・ボタン(「次へ」、「終了」、「取消」)が点の状態に最小化されている場合は、スタック・サイズのシェル制限を無制限にし、WLS_portletインスタンスを再起動します。スタック・サイズのシェル制限を無制限に設定するには、コマンドprompt> ulimit -s unlimitedを実行します。

OmniPortletには次の各種データ・ソースを使用できます。

  • スプレッドシート

  • SQL

  • XML

  • Webサービス

  • Webページ

OmniPortletでこれらのデータ・ソースを使用する方法の詳細は、『Oracle WebCenter Portalの使用』を参照してください。

64.4 OmniPortlet構成のヒント

この項では、OmniPortletの構成について説明します。OmniPortletウィザードの詳細は、第64章「OmniPortletを使用したポートレットの作成」を参照してください。

この項の内容は、次のとおりです。

  • 第64.4.1項「ファイアウォール外のデータにアクセスするためのOmniPortletプロデューサの構成」

  • 第64.4.2項「他のリレーショナル・データベースにアクセスするためのOmniPortletプロデューサの構成」

  • 第64.4.3項「PortalツールおよびWebプロデューサの構成(オプション)」


    注意:

    この項では、OmniPortlet_WAR_DIRは、WebLogic ServerでomniPortlet.warがデプロイされているディレクトリを示します。その正確なパスは、インストールに応じて異なります。このパスを見極めるには、ファイル・システム内でomniPortlet/provider.xmlを検索します。たとえば、UNIXでは次のコマンドを実行します。
    > find DOMAIN_DIR -name "provider.xml" | grep -i omniportlet
    

    統合WebLogic Server (統合WLSまたはデフォルト・サーバー)では、OmniPortletのprovider.xmlのパスは次の場所にあります。

    JDEV_SYSTEM_DIRECTORY/DefaultDomain/servers/DefaultServer/tmp/_WL_user/portalTools_11.1.1.2.0/RANDOMLY_GENERATED_DIRECTORY/war/WEB-INF/providers/omniPortlet/provider.xml
    

    Windowsプラットフォームでは、JDeveloperのシステム・ディレクトリへのパスに空白が含まれている場合、Portal Frameworkアプリケーション内のページはレンダリングされません。したがって、JDEV_SYSTEM_DIRECTORYパスに空白が含まれていないことを確認してください。

    Fusion Middleware 11gインストールでは、OmniPortletのprovider.xmlのパスは、次の場所にあります。

    FMW_HOME/user_projects/domains/wc_domain/servers/WLS_Portlet/tmp/_WL_user/portalTools_version_number/RANDOMLY_GENERATED_DIRECTORY/war/WEB-INF/providers/omniPortlet/provider.xml
    

64.4.1 ファイアウォール外のデータにアクセスするためのOmniPortletプロデューサの構成

OmniPortletプロデューサがファイアウォールの内側にある場合、OmniPortletがファイアウォールの外側にあるデータ(CSV、XMLまたはWebサービスなど)のURLにアクセスできるように、プロキシ情報を構成する必要があります。そのために、WebLogic Serverを起動するときにコマンドラインでプロキシ情報を設定できます。また、OmniPortlet_WAR_DIR/WEB-INF/providers/omniPortlet/provider.xmlにあるOmniPortletのprovider.xmlファイルでプロキシ情報を設定することもできます。


注意:

Webサービス・データ・ソースの場合、provider.xmlファイルとコマンドライン・パラメータの両方でプロキシ情報を設定する必要があります。

  • WebLogic Serverを起動するときにコマンドラインでプロキシ情報を設定するには、HTTPプロキシ・ホストを使用している場合は表64-1、HTTPSプロキシ・ホストを使用している場合は表64-2に示すパラメータを設定します。

    表64-1 HTTPプロキシ情報コマンドライン・パラメータ

    パラメータ 説明

    http.proxyHost

    プロキシ・サーバーのホスト名(OmniPortletプロデューサからそのデータ・ソースにURL接続するためにそれが必要な場合)。

    http.proxyPort

    HTTPプロキシ・ホストのポート番号。

    http.nonProxyHosts

    ローカル・マシンなど、プロキシ・サーバーを迂回して直接接続できる任意のドメインまたはホストの名前。

    localhost|localhost.localdomain

    ホストは、完全修飾ホスト名でもIPアドレスでもかまいません。

    http.proxyUser

    プロキシ・サーバーが認証を必要とする場合にプロキシ・サーバーにログインするためのユーザー。

    http.proxyPassword

    プロキシ・サーバーが認証を必要とする場合にプロキシ・サーバーにログインするためのパスワード。

    http.proxyAuthType

    プロキシ・サーバーの認証タイプ。指定可能な値: Basic | Digest

    http.proxyAuthRealm

    プロキシ・サーバーのレルムの名前。レルムの名前がわからない場合は、プロキシ・サーバーの管理者に問い合せてください。


    表64-2 HTTPSプロキシ情報コマンドライン・パラメータ

    パラメータ 説明

    https.proxyHost

    プロキシ・サーバーのホスト名(OmniPortletプロデューサからそのデータ・ソースにURL接続するためにそれが必要な場合)。

    https.proxyPort

    HTTPSプロキシ・ホストのポート番号。

    https.nonProxyHosts

    ローカル・マシンなど、プロキシ・サーバーを迂回して直接接続できる任意のドメインまたはホストの名前。

    localhost|localhost.localdomain

    ホストは、完全修飾ホスト名でもIPアドレスでもかまいません。

    https.proxyUser

    プロキシ・サーバーが認証を必要とする場合にプロキシ・サーバーにログインするためのユーザー。

    https.proxyPassword

    プロキシ・サーバーが認証を必要とする場合にプロキシ・サーバーにログインするためのパスワード。

    https.proxyAuthType

    プロキシ・サーバーの認証タイプ。指定可能な値: Basic | Digest

    https.proxyAuthRealm

    プロキシ・サーバーのレルムの名前。レルムの名前がわからない場合は、プロキシ・サーバーの管理者に問い合せてください。


    3つのパラメータとその値の例を次に示します。

    -Dhttps.proxyHost=myProxyServer.mycompany.com
    -Dhttps.proxyPort=80
    -Dhttps.nonProxyHosts=localhost|localhost.localdomain|127.0.0.1|
    
  • provider.xmlファイルにプロキシ情報を構成するには、表64-3のパラメータのリストとその説明を参照してください。

    表64-3 Provider.xmlのタグ

    パラメータ 説明

    httpProxyHost

    OmniPortletプロデューサからそのデータ・ソースへのURL接続を行うために必要な場合、プロキシ・サーバーのホスト名を入力します。

    httpProxyPort

    HTTPプロキシ・ホストのポート番号を入力します。

    dontProxyFor

    プロキシ・サーバーを介さずに直接接続できるドメインまたはホスト名を入力します。ドメイン名は、次の例のように、企業、組織、政府機関などの名前を含むURLの一部です。

    *.company.com, *.us.company.com

    ホストは、完全修飾ホスト名でもIPアドレスでもかまいません。

    proxyUseAuth

    指定可能な値: true | false

    プロキシ・サーバーに認証が必要な場合は、trueを入力します。認証パラメータは、proxyTypeproxyRealmproxyUseGlobalproxyUserNameおよびproxyPasswordのタグによって指定します。

    proxyType

    指定可能な値: Basic | Digest

    プロキシ・サーバーのタイプを選択します。

    BasicまたはDigest認証の詳細は、http://www.faqs.org/rfcs/rfc2617.htmlを参照してください。

    proxyRealm

    この表で後から説明するログイン情報に従い、ユーザーがアクセスするプロキシ・サーバーのレルムの名前を入力します。レルムの名前がわからない場合は、プロキシ・サーバーの管理者に問い合せてください。

    proxyUseGlobal

    指定可能な値: true | false

    trueの場合、<proxyUser><proxyPassword>の値はすべてのユーザーに使用されます。ユーザーには「ソース」タブおよび「パーソナライズ」ページで「プロキシ認証」セクションが表示されません。falseの場合、ページ設計者は、ポートレットを定義する際、「ソース」タブの「プロキシ認証」セクションを使用してログインする必要があります。エンド・ユーザーは、「パーソナライズ」画面の「プロキシ認証」セクションを使用してログインする必要があります。<proxyUsername>および<proxyPassword>を指定すると、それらはパブリック・ユーザーにのみ使用されます。

    proxyUserName

    プロキシ・サーバーにログインするユーザー名を入力します。

    ProxyPassword

    指定したユーザー名のパスワードを入力します。プレーン・パスワード・テキストの前に!を付ける必要があります。プロデューサが起動すると、これはprovider.xmlファイルで暗号化されて保護されます。


    ファイアウォール外のデータにアクセスするためにプロキシを使用する基本的な例は、次のとおりです。

    <proxyInfo class="oracle.portal.provider.v2.ProxyInformation">
    <httpProxyHost>www-proxy.example.com</httpProxyHost>
    <httpProxyPort>80</httpProxyPort>
    <proxyUseAuth>false</proxyUseAuth>
    </proxyInfo>
     
    

    次の例では、プロキシ・サーバーのすべてのユーザーに、ログインおよびBasic認証が必要です。

    <proxyInfo class="mycompany.portal.provider.v2.ProxyInformation">
    <httpProxyHost>myport.example.com</httpProxyHost>
    <httpProxyPort>8080</httpProxyPort>
    <proxyUseAuth>true</proxyUseAuth>
    <proxyType>Basic</proxyType>
    <proxyRealm>myport</proxyRealm>
    <proxyUseGlobal>false</proxyUseGlobal>
    </proxyInfo>
    

64.4.2 他のリレーショナル・データベースにアクセスするためのOmniPortletプロデューサの構成

OmniPortlet SQLデータ・ソースは、OracleデータベースにはOracle JDBCドライバを使用して、ODBCデータ・ソースにはSun MicrosystemのJDBC-ODBCドライバを使用してアクセスするように事前に構成されています。開発者は、DataDirect JDBCドライバを使用して他のリレーショナル・データベースにアクセスできます。


関連項目:

サポートされているデータベースのリストは、Oracle Technology Network (http://www.oracle.com/technetwork/index.html)で入手できるOracle Application ServerおよびDataDirect JDBCの動作保証マトリックスを参照してください。

この項の内容は、次のとおりです。

64.4.2.1 DataDirect JDBCドライバのインストール

WebLogic Serverインストールには、次のDataDirect JDBCドライバが含まれています。

  • YMutil.jar

  • YMsybase.jar

  • YMsqlserver.jar

  • YMspy.jar

  • YMinformix.jar

  • YMdb2.jar

  • YMbase.jar

これらのDataDirectドライバを使用する予定がない場合は、かわりに目的のデータベースにアクセスするためのDataDirect JDBCドライバをダウンロードできます。これらのドライバは、1つのZIPにパッケージ化されており、次の場所からダウンロードできます。

http://www.oracle.com/technetwork/topics/datadirect-index-091847.html

DataDirect JDBCドライバをインストールするには:

  1. ZIPファイルの中身を一時ディレクトリ(/temp/datadirectなど)に解凍します。

  2. DataDirect JDBCドライバを一時ディレクトリからご使用のWebLogic ServerディレクトリであるWLS_DOMAIN_DIRECTORY/libにコピーします。

64.4.2.2 OmniPortletへのDataDirectドライバの登録

OmniPortletはWebプロデューサとして実装され、構成プロパティはすべてprovider.xmlファイルに格納されています。DataDirect JDBCドライバをOmniPortletで使用するには、これらのドライバをprovider.xmlファイルに登録する必要があります。

新しいDataDirect JDBCドライバを登録するには:

  1. OmniPortlet_WAR_DIRECTORY/WEB-INF/providers/omniPortlet/provider.xmlファイルをバックアップして、そのファイルを開きます。

  2. SQLデータ・ソース構成エントリに使用するドライバを追加します。

    1. XMLタグdriverInfoを検索します。

    2. 最後のdriverInfoタグの後に新しいエントリを追加します。

    WebLogic DataDirectドライバのdriverInfoの例を次に示します。

    • Microsoft SQL Server (デフォルト接続):

      <driverInfo class="oracle.webdb.reformlet.data.jdbc.JDBCDriverInfo">
        <name>Microsoft SQL Server</name>
        <sourceDataBase>other</sourceDataBase>
        <subProtocol>weblogic:sqlserver</subProtocol>
        <connectString>mainProtocol:subProtocol://databaseName</connectString>
        <driverClassName>weblogic.jdbc.sqlserver.SQLServerDriver
        </driverClassName>
        <dataSourceClassName>weblogic.jdbcx.sqlserver.SQLServerDataSource
        </dataSourceClassName>
        <connHandlerClass>oracle.webdb.reformlet.data.jdbc.JDBCConnectionHandler
        </connHandlerClass>
        <connPoolSize>5</connPoolSize>
        <loginTimeOut>30</loginTimeOut>
      </driverInfo>
      
    • Microsoft SQL Server (名前付き接続。たとえば、mycompany.com:port;databaseName=mydb):

      <driverInfo class="oracle.webdb.reformlet.data.jdbc.JDBCDriverInfo"> 
        <name>Microsoft SQL Server</name> 
        <sourceDataBase>other</sourceDataBase> 
        <subProtocol>weblogic:sqlserver</subProtocol> 
        <connectString>mainProtocol:subProtocol://databaseName</connectString> 
        <driverClassName>weblogic.jdbc.sqlserver.SQLServerDriver
        </driverClassName> 
        <connHandlerClass>
        oracle.webdb.reformlet.data.jdbc.JDBCODBCConnectionHandler 
        </connHandlerClass> 
        <connPoolSize>5</connPoolSize> 
        <loginTimeOut>60</loginTimeOut> 
      </driverInfo>
      
    • Sybase:

      <driverInfo class="oracle.webdb.reformlet.data.jdbc.JDBCDriverInfo">
        <name>Sybase</name>
        <sourceDataBase>other</sourceDataBase>
        <subProtocol>weblogic:sybase</subProtocol>
        <connectString>mainProtocol:subProtocol://databaseName</connectString>
        <driverClassName>weblogic.jdbc.sybase.SybaseDriver
        </driverClassName>
        <connHandlerClass>
        oracle.webdb.reformlet.data.jdbc.JDBCODBCConnectionHandler
        </connHandlerClass>
        <connPoolSize>5</connPoolSize>
        <loginTimeOut>30</loginTimeOut>
      </driverInfo>
      
    • DB2:

      <driverInfo class="oracle.webdb.reformlet.data.jdbc.JDBCDriverInfo">
        <name>DB2</name>
        <sourceDataBase>other</sourceDataBase>
        <subProtocol>weblogic:db2</subProtocol>
        <connectString>mainProtocol:subProtocol://databaseName</connectString>
        <driverClassName>weblogic.jdbc.db2.DB2Driver
        </driverClassName>
        <connHandlerClass>
        oracle.webdb.reformlet.data.jdbc.JDBCODBCConnectionHandler
        </connHandlerClass>
        <connPoolSize>5</connPoolSize>
        <loginTimeOut>30</loginTimeOut>
      </driverInfo>
      
    • Informix:

      <driverInfo class="oracle.webdb.reformlet.data.jdbc.JDBCDriverInfo">
        <name>Informix</name>
        <sourceDataBase>other</sourceDataBase>
        <subProtocol>weblogic:informix</subProtocol>
        <connectString>mainProtocol:subProtocol://databaseName</connectString>
        <driverClassName>weblogic.jdbc.informix.InformixDriver
        </driverClassName>
        <connHandlerClass>
        oracle.webdb.reformlet.data.jdbc.JDBCODBCConnectionHandler
        </connHandlerClass>
        <connPoolSize>5</connPoolSize>
        <loginTimeOut>30</loginTimeOut>
      </driverInfo>
      

    表64-4では、driverInfoプロパティのパラメータについて説明しています。

    表64-4 driverInfoプロパティのパラメータ

    パラメータ 説明

    name

    使用するデータベースの名前。この名前は、「OmniPortlet」ウィザードの「ソース」タブで使用されます。

    sourceDataBase

    内部値。値をotherに設定します。

    subProtocol

    OmniPortletによって使用される、接続文字列を作成するためのJDBCサブプロトコル名。たとえば、sqlserversybasedb2などです。

    サブプロトコル名のリストについては、この項の最後にあるリンクから、DataDirect JDBCドライバのドキュメントを参照してください。

    connectString

    接続文字列の書式の説明。DataDirectドライバの場合、書式は次のとおりです。

    mainProtocol:subProtocol://databaseName
    

    driverClassName

    ドライバ・クラスの名前。様々な値を取得するには、この項の最後にあるリンクを使用して、DataDirect JDBCドライバのドキュメントを参照してください。

    dataSourceClassName

    接続プーリングを実装するデータ・ソース・クラスの名前。このパラメータは、OmniPortletリリース9.0.4.1以上でのみ使用可能です。使用するドライバの正しいデータ・ソース・クラス名は、表64-5を参照してください。

    connHandlerClass

    ドライバおよび接続プーリングの管理にOmniPortletで使用されるクラス。値は次のいずれかです。

    • OmniPortletリリース9.0.4.1以上の場合:

      oracle.webdb.reformlet.data.jdbc.JDBCConnectionHandler

    • OmniPortleリリース9.0.4.1より前の場合:

      oracle.webdb.reformlet.data.jdbc.JDBCODBCConnectionHandler

    connPoolSize

    接続プールによって開かれる接続の最小数。

    loginTimeOut

    このデータ・ソースが、データベースへの接続を試みる間待機する最大時間(秒)。


    表64-5では、特定のDataDirect JDBCドライバのdriverClassNameプロパティとdataSourceClassNameプロパティの値を示します。

    表64-5 driverClassNameおよびdataSourceClassNameのパラメータと値

    サポートされるDataDirectドライバ プロパティ

    Microsoft SQL Server

    パラメータ: driverClassName

    値: weblogic.jdbc.sqlserver.SQLServerDriver

    Sybase

    パラメータ: driverClassName

    値: weblogic.jdbc.sybase.SybaseDriver

    DB2

    パラメータ: driverClassName

    値: weblogic.jdbc.db2.DB2Driver

    Informix

    パラメータ: driverClassName

    値: weblogic.jdbc.informix.InformixDriver


  3. provider.xmlファイルを保存します。

  4. ポートレット・プロデューサがデプロイされていたOracle WebLogic管理対象サーバー・インスタンスを停止してから起動します。

    これを行うには、FMW_HOME/user_projects/domains/wc_Domain/binに移動し、次のコマンドを発行します。

    ./startManagedWebLogic.sh WC_Portlet
    

    注意:

    複数ノード構成(クラスタリングまたはロードバランシング環境など)でOmniPortletを使用している場合、provider.xmlファイルを手動で各ノードにコピーする必要があります。


関連項目:

DataDirect JDBCドライバの使用方法の詳細は、第64章「OmniPortletを使用したポートレットの作成」を参照してください。

64.4.3 PortalツールおよびWebプロデューサの構成(オプション)

ローカルに構築されたOmniPortletプロデューサおよびカスタムで構築されたWebプロデューサが、中間層環境で適切に機能するようにするには、追加の構成が必要な場合があります。ファイル・システムでOmniPortletまたはその他のWebプロデューサがカスタマイズされている場合、PDK-Javaによって提供されている永続ストア移行およびアップグレード・ユーティリティを使用して、既存のカスタマイズをデータベースに移行し、前のリリースからカスタマイズをアップグレードできます。PDK-Javaの永続ストア移行ユーティリティの詳細は、第60.3.8.2項「PDK-Javaプロデューサの永続ストアの移行」を参照してください。

複数中間層環境でのPortalツール・プロデューサの構成

デフォルトでは、OmniPortletプロデューサはデータベース・プリファレンス・ストアを使用します。これは、追加の構成を必要とせずに複数の中間層環境で機能します。

データベース永続ストアの構成の詳細は、第60.3.8.1項「PDK-Javaプロデューサの永続ストアの設定」を参照してください。

  1. カスタマイズを行ったOmniPortletインスタンスをファイル・システム内で作成済の場合は、永続ストア移行ユーティリティを使用して、これらのカスタマイズをデータベースに移行する必要があります。

    この移行ユーティリティを実行するには:

    1. 次のコマンドを使用して、WebCenter Portal Oracleホーム・ディレクトリに移動します。

      cd WC_ORACLE_HOME
      
    2. 次のコマンドを実行して、OmniPortletデータをファイルベースの永続ストア(FilePreferenceStore)からデータベース永続ストア(DBPreferenceStore)に移行します。

      java -classpath lib/dms.jar:jdbc/lib/ojdbc14dms.jar:portal/jlib/pdkjava.jar:portal/jlib/
      ptlshare.jar oracle.portal.provider.v2.preference.MigrationTool -mode 
      filetodb -pref1UseHashing true -pref1RootDirectory portal/portletdata/tools/omniPortlet 
      -pref2User User_Name -pref2Password User_Password -pref2URL 
      jdbc:oracle:thin:@infra.host.com:1521:orcl
      

    PDK-Javaの永続ストア移行ユーティリティの詳細は、第60.3.8.2項「PDK-Javaプロデューサの永続ストアの移行」を参照してください。

  2. 通常、ロード・バランシング・ルーター(LBR)を構成する前に、OmniPortletのHTTPプロキシ構成を実行します。LBRの構成後にこれを行う手順は、次のとおりです。

    1. Portalツールの構成情報は、中間層サーバー上のprovider.xmlファイルに格納されています。1つの中間層(M1など)で構成を直接更新し、それをLBRがフロントエンド処理を行うすべての中間層に伝播する必要があります。最初に、M1以外の中間層をすべて停止する必要があります。

    2. HTTPプロキシ設定をprovider.xmlファイルで変更できます。詳細は、第64.4.1項「ファイアウォール外のデータにアクセスするためのOmniPortletプロデューサの構成」を参照してください。

    3. OmniPortlet_WAR_DIR/WEB-INF/providers/omniPortlet/provider.xmlM1からM2へコピーすることにより、provider.xmlファイルへの変更を、中間層M2に伝播します。

  3. 中間層M2を再起動します。

  4. Portal Frameworkアプリケーションでポートレット・プロデューサ登録を更新します。プロデューサ登録URLの最初の部分をhttp://m1.abc.com:7777/からhttp://lbr.abc.com/に変更します。

  5. OmniPortletプロデューサが、LBRを介して正常に動作することを、次のURLにあるテスト・ページに移動して確認します。

    http://lbr.abc.com/portalTools/omniPortlet/producers/omniPortlet
    

    OmniPortletプロデューサのテスト・ページで、「ポートレット情報」セクションに「使用可能なポートレットはありません」というメッセージが表示された場合、ステップ1でOmniPortletを正しく構成していない可能性があります。OmniPortletが正しく構成されている場合、「OmniPortlet」と「シンプル・パラメータ・フォーム」のポートレットがテスト・ページで利用できます。


    注意:

    OmniPortletのWebページ・データ・ソースを使用するには、Oracle Web Cacheでセッション・バインディングも有効にする必要があります。

64.5 OmniPortletの問題のトラブルシューティング

この項では、OmniPortletの使用中に発生する可能性のある問題のトラブルシューティングに役立つ情報を提供します。


注意:

OmniPortletプロデューサはPortal Frameworkアプリケーションと異なる層に存在し、そこで実行されるため、セッション情報にはアクセスできません。OmniPortletがアクセスできるように、XMLファイルをPUBLICとして公開する必要があります。

「定義」リンクを使用してOmniPortletを定義できない

実行時にOmniPortletを定義することはできません。

問題

OmniPortletは、trueRenderPortletInIFrame値のみをサポートします。これはOmniPortletをIFRAME内でレンダリングする必要があることを意味します。したがって、OmniPortletプロパティRenderPortletInIFrametrueに設定する必要があります。「プロパティ・インスペクタ」で、RenderPortletInIFrameプロパティは、「表示オプション」の下にあります。

現時点では、RenderPortletInIFrameプロパティの値はfalseです。そのため、実行時に「定義」リンクをクリックしても、「タイプ」タブは表示されず、OmniPortletの定義を進めることができません。

解決方法

OmniPortletを定義するために、「処理」リストから「カスタマイズ」を選択するか、Oracle JDeveloperの「構造」ウィンドウでOmniPortletを選択して、RenderPortletInIFrametrueに設定します。