ヘッダーをスキップ
Oracle® Fusion Middleware Forms Servicesデプロイメント・ガイド
11g リリース1(11.1.1)
B61388-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

5 HTTPリスナーとOracle WebLogic ServerでのOracle Forms Servicesの使用方法

Oracle WebLogic Serverは、企業向けのスケーラブルなJava EEアプリケーション・サーバーです。WebLogic Serverは、Java EEのすべてのテクノロジを実装し、詳細管理、クラスタ化、Webサービスなどの多数の追加機能を備えています。WebLogic Serverは、Oracle Fusion Middlewareプラットフォームの中核をなし、スケーラブルでセキュアな高可用性アプリケーションを構築するための安定したフレームワークを提供します。

この章には、次の項が含まれています。

5.1 Oracle WebLogic管理対象サーバーについて

管理対象サーバーは、ビジネス・アプリケーション、アプリケーション・コンポーネント、Webサービスおよび関連リソースをホストします。パフォーマンスを最適化するために、管理対象サーバーは、ドメインの構成ドキュメントの読取り専用コピーを保持します。管理対象サーバーが起動すると、ドメインの管理サーバーに接続して、その構成ドキュメントと管理サーバーに保持されているドキュメントが同期化されます。Oracle Fusion Middlewareシステム・コンポーネント(SOA、WebCenter、Identity Managementコンポーネントなど)とカスタマによって配布されたアプリケーションは、ドメイン内の管理対象サーバーに配布されます。構成中に、Oracle Fusion Middlewareシステム・コンポーネント(wls_soa、wls_portal、wls_formsなど)のホスト用にいくつかの管理対象サーバーが作成されます。

図5-1に、Oracle WebLogic管理対象サーバーの簡単な使用例を示します。この図の左側で、Formsサーブレットは開始HTMLファイルをレンダリングし、Formsリスナー・サーブレットに関する情報をクライアントに提供します。次に、HTTPリクエストがOracle HTTP Serverリスナーで受信され、リスナーはこれをOracle WebLogic管理対象サーバー内で動作しているFormsリスナー・サーブレット(図の右側)に渡します。Formsリスナー・サーブレットはランタイム・プロセスを確立し、クライアント・ブラウザとランタイム・プロセス間で継続的な通信を維持します。多くのユーザーがOracle Formsセッションをリクエストした場合、そのリクエストはOracle HTTP Serverリスナーで受信されます。HTTPリスナーは再びそのリクエストをFormsリスナー・サーブレットに渡し、サーブレットはさらにランタイム・プロセスを確立します。Formsリスナー・サーブレットは、多数のFormsランタイム・セッションを同時に処理できます。同時ユーザー数を制限する必要はありますが、このアーキテクチャでは高いパフォーマンスを得るためのチューニングや構成を行うことができます(次の項を参照)。

図5-1 Oracle WebLogic管理対象サーバーとForms Services

HTTPリクエストのフロー
「図5-1 Oracle WebLogic管理対象サーバーとForms Services」の説明

5.2 Forms管理対象サーバーでの作業

デフォルト(特別な設定をしていないインストール)では、Forms ServicesのJava EEアプリケーション(formsapp.ear)はForms管理対象サーバー(WLS_FORMS)に配布されます。Oracle WebLogic管理コンソールまたはOracle Enterprise Manager Fusion Middleware Controlを使用して、WLS_FORMSformsapp.earを管理できます。詳細は次のトピックを参照してください。

5.2.1 Forms管理対象サーバー・クラスタの拡張

ハイエンド・マシン(マルチプロセッサと大容量メモリーを搭載したマシン)でFormsデプロイメントのスケーラビリティとパフォーマンスの向上を図るには、Forms管理対象サーバー・クラスタ(cluster_forms)を拡張します。次の手動の手順を実行してForms管理対象サーバー・クラスタを拡張します。

  1. 次の手順を実行して、新しい管理対象サーバーをクラスタ(cluster_forms)に追加します。

    1. Oracle WebLogic Server管理コンソールを使用して、デフォルトのForms管理対象サーバー(WLS_FORMS)を複製するか、新しい管理対象サーバー(ポート番号を9010としたWLS_FORMS_1など)を作成するかを選択できます。

    2. 「サーバー・プロパティ」ページで、新しく作成した管理対象サーバーをFormsクラスタcluster_formsに追加します。

    3. 「一般」タブで、この管理対象サーバーにポート番号を割り当てます。

    4. この管理対象サーバーにマシンを割り当てます。

  2. 次の手順を実行して、新しい管理対象サーバーの構成を編集します。

    1. Oracle WebLogic Server管理コンソールの「サーバーの起動」タブで、次の「サーバーの起動」プロパティを設定します。

    2. 次のシステム・プロパティを追加します。引数の間には改行を記述しません。

      -Dclassic.oracle.home=<ORACLE_HOME location>-Doracle.instance=<ORACLE_INSTANCE location>-Doracle.instance.name=<ORACLE_INSTANCE Name>

      -Doracle.forms.weblogic=1

    3. クラスパスに<ORACLE_HOME>/opmn/lib/optic.jar:<FMW_HOME>/oracle_common/modules/oracle.ldap_11.1.1/ldapjclnt11.jar:<FMW_HOME>/oracle_common/jlib/rcucommon.jarを追記します。

  3. 変更をアクティブにして、新しい管理対象サーバーを起動します。

  4. forms.confのWebLogicClusterエントリに、新しい管理対象サーバーのホストとポートの情報を追加します。

    <Location /forms>

    SetHandler weblogic-handler

    WebLogicCluster <HostName>:9001, <HostName>:9010

    DynamicServerList OFF

    </Location>

  5. OHSを再起動します。

5.2.2 Forms J2EEアプリケーションのデプロイメント・ディスクリプタの変更

配布後は、Forms J2EEアプリケーションのデプロイメント・ディスクリプタ(weblogic.xmlweb.xmlapplication.xmlおよびweblogic-application.xml)をOracle WebLogic Serverで変更することはできなくなります。

次の手順を実行してForms J2EEアプリケーションのデプロイメント・ディスクリプタをカスタマイズし、そのアプリケーションを再配布することでこの問題を解決できます。

  1. デフォルトのformsappデプロイメント・プラン$DOMAIN_HOME/deploymentplans/formsapp/11.1.1/plan.xmlのバックアップを作成します。

  2. Forms J2EEアプリケーションのデプロイメント・プランに、デプロイメント・ディスクリプタのカスタマイズを追加します。例は、「デプロイメント・プランの変更」を参照してください。


    注意:

    デプロイメント・プランの更新の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

  3. WebLogic管理コンソールを使用して、Formsアプリケーションを更新(再配布)し、オプション「このアプリケーションを新しいデプロイメント・プランの変更とあわせた場所に更新します。」を選択します。

  4. WebLogic管理コンソールを使用してForms J2EEアプリケーションを再起動します。

デプロイメント・プランの変更

この例では、FormsサーブレットのtestModeパラメータを上書きしてその値をtrueに設定するようにデプロイメント・プランを変更します。デプロイメント・プランを変更するには、次の手順を実行します。

  1. 次のコマンドを入力します。

    mkdir –p $CLASSIC_ORACLE_HOME/forms/j2ee/backup
    cd $CLASSIC_ORACLE_HOME/forms/j2ee
    cp $DOMAIN_HOME/deploymentplans/formsapp/11.1.1/plan.xml backup/
    vi $DOMAIN_HOME/deploymentplans/formsapp/11.1.1/plan.xml
    
  2. デプロイメント・プランを変更します。次はデプロイメント・プランの例で、追加したエントリを太字で強調表示しています。

    <?xml version='1.0' encoding='UTF-8'?>
    <deployment-plan xmlns="http://xmlns.oracle.com/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/deployment-plan http://xmlns.oracle.com/weblogic/deployment-plan/1.0/deployment-plan.xsd" global-variables="false">
      <application-name>formsapp</application-name>
      <variable-definition>
        <variable>
          <name>vd-/scratch/t_work/Oracle/Middleware/as_1/forms</name>
          <value>/scratch/t_work/Oracle/Middleware/as_1/forms</value>
        </variable>
        <variable>
          <name>vd-/scratch/t_work/Oracle/Middleware/user_projects/domains/ClassicDomain/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/forms</name>
          <value>/scratch/t_work/Oracle/Middleware/user_projects/domains/ClassicDomain/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/forms</value>
        </variable>
        <variable>       
           <name>FormsServlet_InitParam_testMode</name>      
           <value>true</value>    
        </variable>
      </variable-definition>
      <module-override>
        <module-name>formsapp.ear</module-name>
        <module-type>ear</module-type>
        <module-descriptor external="false">
          <root-element>weblogic-application</root-element>
          <uri>META-INF/weblogic-application.xml</uri>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>application</root-element>
          <uri>META-INF/application.xml</uri>
        </module-descriptor>
        <module-descriptor external="true">
          <root-element>wldf-resource</root-element>
          <uri>META-INF/weblogic-diagnostics.xml</uri>
        </module-descriptor>
      </module-override>
      <module-override>
        <module-name>formsweb.war</module-name>
        <module-type>war</module-type>
        <module-descriptor external="false">
          <root-element>weblogic-web-app</root-element>
          <uri>WEB-INF/weblogic.xml</uri>
          <variable-assignment>
            <name>vd-/scratch/t_work/Oracle/Middleware/as_1/forms</name>
    <xpath>/weblogic-web-app/virtual-directory-mapping/[url-pattern="java/*"]/local-path</xpath>
          </variable-assignment>
          <variable-assignment>
            <name>vd-/scratch/t_work/Oracle/Middleware/as_1/forms</name>
    <xpath>/weblogic-web-app/virtual-directory-mapping/[url-pattern="webutil/*"]/local-path</xpath>
          </variable-assignment>
          <variable-assignment>
            <name>vd-/scratch/t_work/Oracle/Middleware/user_projects/domains/ClassicDomain/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/forms</name>
    <xpath>/weblogic-web-app/virtual-directory-mapping/[url-pattern="registry/*"]/local-path</xpath>
          </variable-assignment>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>web-app</root-element>
          <uri>WEB-INF/web.xml</uri>
          <variable-assignment>
            <name>FormsServlet_InitParam_testMode</name>
    <xpath>/web-app/servlet/[servlet-name="frmservlet"]/init-param/[param-name="testMode"]/param-value</xpath>
          </variable-assignment>
        </module-descriptor>
      </module-override>
    </deployment-plan>
    
  3. WebLogic管理コンソールを使用して、Forms J2EEアプリケーションの配布(formsapp(11.1.1))を更新します。Forms J2EEアプリケーションの再配布の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

  4. WebLogic管理コンソールを使用してForms J2EEアプリケーションを再起動します。

5.3 パフォーマンス/スケーラビリティのチューニング

Formsリスナー・サーブレットをチューニングする手順は、スループットの高いサーブレット・アプリケーションをチューニングする手順と同様です。特定のForms Servicesの構成に最適なチューニングを行うには、リソース管理とユーザーのニーズを考慮する必要があります。詳細は、OTN(http://www.oracle.com/technology/documentation/)から入手可能なOracle Fusion Middlewareパフォーマンス・ガイドを参照してください。

5.3.1 HTTPDプロセス数の制限

メモリーを大量に消費するHTTPDプロセス生成を制御するには、Oracle HTTP Listener構成ファイル(httpd.conf)でKeepAliveディレクティブをKeepAlive Offと設定します。

KeepAliveでは、永続的な接続(接続ごとに複数のリクエスト)を許可するかどうかを指定します。たとえば、別のアプリケーションに対してKeepAlive Onを使用する必要がある場合は、KeepAliveTimeoutをデフォルトの15秒のような低い数値に設定してください。KeepAliveの設定は、クライアント(ブラウザ)とOHSサーバー間で永続的な接続を維持するために使用されます。OHSとOracle WebLogic Server間の接続には関係ありません。

5.3.2 高い値のMaxClientsディレクティブの設定

多数のHTTPDプロセスを作成するタイミングは、HTTPリスナーで判断できます。そのため、構成ファイル(httpd.conf)ではMaxClientsディレクティブを高い値に設定します。ただし、このパラメータを設定する際にはシステム上のメモリー容量を考慮する必要があります。

MaxClients=256は、同時にリクエストを処理するHTTPDプロセスをリスナーが最大256作成できることを示します。

HTTPリクエストが急激に増大し、必要なHTTPDプロセスを開始する時間を短縮する必要がある場合は、適切な数のプロセスに対応するように、MinSpareServersMaxSpareServershttpd.conf内)を設定できます。ただし、ほとんどのサイトではそれぞれ5と10のデフォルト値で十分です。

5.4 Oracle WebLogic Serverのロード・バランシング

Formsリスナー・サーブレットのアーキテクチャでは、標準のHTTPロード・バランシング技術を使用して、システムのロード・バランスを実現します。

Oracle HTTP Serverリスナーで提供するロード・バランシング・メカニズムでは、複数のWebLogicインスタンスをHTTPプロセスと同じホストで実行することも、複数の異なるホストやその組合せで実行することもできます。次に、HTTPリスナーはHTTPリクエストをOracle WebLogic管理対象サーバー・インスタンスにルーティングします。

次の使用例では、ホストを組み合せた使用方法を紹介します。ユーザーのサイトにどのような選択が最も適しているかは、様々な要因により異なります。

この機能の詳細は、OTN(http://www.oracle.com/technology/documentation/index.html)から入手可能なOracle Fusion Middlewareパフォーマンス・ガイドを参照してください。

次の図では、配置例を4つ示します。

図5-2 Oracle HTTP Listenerと同じホスト上にある複数のOracle WebLogicサーバー

同じホスト上にある複数のOC4JインスタンスとHTTPリスナー

図5-3 Oracle HTTP Listenerとは異なるホスト上にある複数のOracle WebLogicサーバー

HTTPリスナーとは異なるホスト上にある複数のOC4Jインスタンス

図5-4 それぞれが異なるホスト上にある複数のOracle WebLogicサーバーと複数のOracle HTTP Listener

ホストされる複数のOC4Jインスタンス、ホストされる複数のHTTPリスナー

図5-5 異なるホスト上にある複数のOracle HTTP Listenerと同じホスト上にある複数のOracle Weblogicサーバー

異なるホスト上にある複数のHTTPリスナー、同じホスト上にある複数のOC4Jインスタンス

HTTPリスナーとOracle WebLogic ServerでのForms Servicesのチューニングと最適化の詳細は、Oracle Technology Network(OTN)(http://www.oracle.com/technology/documentation/index.html)から入手可能なOracle Fusion Middlewareパフォーマンス・ガイドを参照してください。

5.5 Formsリスナー・サーブレットでのHTTPSの使用

Oracle FormsにHTTPSを使用するのは、他のWebベースのアプリケーションでHTTPSを使用するのと変わりません。HTTPSでは、デジタル証明書(VeriSignなど)を使用する必要があります。Forms ServicesサーブレットはユーザーのWebサーバーからアクセスできるため、Oracle Formsのクライアントとサーバー間の通信に特別な証明書を購入する必要はありません。正式な認証局からユーザーのWebサーバー用の証明書を購入するだけで済みます。

5.6 認証プロキシを使用したOracle Formsアプリケーションの実行

Oracle Fusion Middlewareのインストール・プロセスで設定されたデフォルトの構成では、認証プロキシがサポートされます。認証プロキシでは、アプリケーションを実行する接続先サーバーにアクセスできるように、ユーザーがユーザー名とパスワードを指定する必要があります。認証プロキシは通常、ユーザーがログインしているか(または認証されているか)どうかを検出するためにCookieを設定します。Cookieはその後のすべてのネットワーク要求時に送信され、不要なログイン・プロンプトを回避します。

Oracle WebLogic Serverのインストール・プロセスで設定されるcodebase値およびserverURL値には、$ORACLE_HOME/forms/javaおよび/forms/lservletが含まれます。これらはページのドキュメント・ベース($ORACLE_HOME/forms)の下にあるので、認証プロキシが機能します。

5.7 Oracle Forms ServicesとSSL

Oracle Forms ServicesアプリケーションをSSLモードで実行するには:

前述のトピックの詳細は、『Oracle Fusion Middleware管理者ガイド』のOracle Fusion MiddlewareでのSSL構成に関する項を参照してください。


注意:

Enterprise Managerを使用してOracle Web Cacheポートを変更する場合は、osso.confを再生成し、生成したosso.confファイルを$ORACLE_INSTANCE/config/OHS/<OHS_INSTANCE>/moduleconfディレクトリにコピーします。変更を有効にするために、Oracle HTTP ServerとOracle Web Cacheを再起動します。

5.8 ロード・バランシング・ルーターによるSSLの有効化

HTTPSポートを使用するFormsアプリケーションを実行するには、証明書をインポートする必要があります。Oracle Formsがロード・バランシング・ルーターの後ろにあり、そのOracle FormsでSSLが終了する場合、証明書をロード・バランシング・ルーターからインポートする必要があります。

ロード・バランシング・ルーター上のFormsアプリケーションでSSLを有効にするには:

  1. Webブラウザを起動して、FormsアプリケーションのHTTPS URLを入力します。このURLでは、Oracleインストールで使用している完全修飾ホスト名を指定します(必要に応じてポート番号も指定)。たとえば、https://example.com:443/forms/frmservletとします。

    「セキュリティ・アラート」ダイアログ・ボックスが表示されます。

  2. 証明書の表示」をクリックします。

  3. 「証明書」ダイアログで、「詳細」タブをクリックします。

  4. ファイルへコピー」をクリックします。

  5. 証明書エクスポート・ウィザードの「ようこそ」ページで、「次へ」をクリックします。

  6. エクスポート・ファイル形式ページで、「Base-64 encoded X.509 (.CER)」を選択し、「次へ」をクリックします。

  7. c:\temp\formsなどのファイル名を入力して、「次へ」をクリックします。

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

    エクスポートが正常に終了したことを示すメッセージが表示されます。

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

  10. 「セキュリティ・アラート」ダイアログは開いたまま証明書エクスポート・ウィザードを終了します。

  11. 使用しているJVMの証明書ストアに保存してあるセキュリティ証明書ファイルをインポートします。詳細は、次の項を参照してください。

  12. 「セキュリティ・アラート」ダイアログで「はい」をクリックしてセキュリティ証明書を受け入れ、Formsアプリケーションを起動します。

Java Plug-inへの証明書のインポート

  1. クライアント・マシンでコントロール・パネルを開きます。

  2. Javaを開きます。

  3. 「セキュリティ」タブにナビゲートします。

  4. 「証明書」をクリックします。

  5. 前述の項でエクスポートした証明書をインポートします。

  6. 「適用」をクリックします。