ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
11g リリース 1 (11.1.1)
B61375-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

18.8 Oracle Forms ServicesからのOracle Reportsのコール

Oracle ReportsとOracle Forms Servicesとの間で緊密に製品を統合すると、2つの製品間でデータ・ブロックの受渡しができ、同じ問合せの実行が不要になります。問合せのパーティション化と呼ばれる技法により、Oracle Reportsではデータのフォーマットのみを行い、トリガーや文字パラメータによる問合せの動的な変更が無視されます。

Oracle Forms Servicesでは、すべてのレポート・リクエストに共有Java仮想マシン(JVM)コントローラが使用されます。これによって、メモリー使用量が削減されます。


注意:

データ・パラメータが過度に広範な場合や問合せが非常に複雑な場合を除いて、体感パフォーマンスの向上はごくわずかです。また、フォームから渡されるデータを受け取ることができるのは、レポートの最上位レベルのグループのみです。

Oracle Forms ServicesとOracle Reportsとの典型的統合では、データ入力フォームを実現するアプリケーションがあり、レポートの生成に使用されます。このプロセスで実行する手順は次の例に類似しています。

18.8.1 異なるインスタンス上にインストールされているReportsとFormsの間の通信

Oracle Reports 11g リリース1(11.1.1)では、Formsとの通信が行われます。FormsとReportsが異なるOracleインスタンス上に構成されている場合は、Formsで次の手順を実行し、Reports Serverとの通信を容易にする必要があります。FORMS_ORACLE_INSTANCEは、Formsが構成されているOracleインスタンスです。

  1. 現在の作業ディレクトリから、次のコマンドを実行します。

    cd $FORMS_ORACLE_INSTANCE/config

  2. 次のようにReportsToolsディレクトリを作成します。

    mkdir -p ReportsToolsComponent/ReportsTools

  3. 次のようにtools-logging.xmlファイルをコピーします。

    cp $ORACLE_HOME/reports/conf/ReportsTools/tools-logging.xml $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/logging.xml

  4. 次のようにtools-log-template.xmlファイルをコピーします。

    cp $ORACLE_HOME/reports/conf/ReportsTools/tools-log-template.xml $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/component-logs.xml

  5. 次のようにrwnetwork.confファイルをコピーします。

    cp $ORACLE_HOME/reports/conf/rwnetwork.conf $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwnetwork.conf

  6. コピーされたファイルの次のマクロを置き換えます。

    • $$Instance.directory$$$FORMS_ORACLE_INSTANCEで置き換えます。

    • $$Self.component_type$$ReportsToolsComponentで置き換えます。

    • $$Self.name$$ReportsToolsで置き換えます。

    • $$Instance.oracle_home$$をORACLE_HOMEディレクトリへのパスで置き換えます。

FormsとReportsが異なるOHSサーバー上に構成されている場合、次のようにして、Formsが構成されているOHSインスタンスからReportsサーブレットにWebリクエストをルーティングする必要があります。

  1. reports_ohs.confファイルを次のようにコピーします。

    cp $ORACLE_HOME/reports/conf/reports_ohs.conf $FORMS_ORACLE_INSTANCE/config/OHS/ohs1/moduleconf/.

  2. マクロ$$managedserverhost$$および$$managaerserverport$$を、WLS_REPORTS管理対象サーバーのホストおよびポートで置き換えます。

  3. FORMS_ORACLE_INSTANCEで実行されているOHSを再起動します。

18.8.2 ランダムで連続していないジョブIDの生成

11g リリース1(11.1.1)の場合、Oracle Reportsでは連番ではなくランダムなジョブIDを生成できるため、特定のジョブのジョブIDを予測するのは不可能です。インプロセス・サーバーの場合に連番ではなくランダムなジョブIDを生成するには、JVMオプションを使用して"-Djobid=random"をOracle WebLogic Serverに渡す必要があります。

スタンドアロン・サーバーの場合は、コマンドラインでJVMオプションを使用して"-Djobid=random"を渡すか、REPORTS_JVM_OPTIONS変数を設定することによって連番ではなくランダムなジョブIDを生成できます。詳細は、第B.1.53項「REPORTS_JVM_OPTIONS」を参照してください。

これにより、悪意のあるユーザーがURLにジョブIDを入力してセキュアでないレポート出力を表示することができなくなります。