HTTPリスナーとOracle WebLogic ServerでのOracle Forms Servicesの使用方法
Oracle HTTP Server (OHS)は、Oracle Fusion MiddlewareのWebサーバー・コンポーネントです。これはOracle WebLogic Serverのフロントエンド・リスナー(プロキシなど)として使用でき、静的ページ、動的ページおよびWeb上のアプリケーションをホストするフレームワークを提供します。
この章の構成は、次のとおりです。
WebLogic管理対象サーバーおよびHTTP Serverについて
管理対象サーバーは、ビジネス・アプリケーション、アプリケーション・コンポーネント、Webサービスおよび関連リソースをホストします。
パフォーマンスを最適化するために、管理対象サーバーは、ドメインの構成ドキュメントの読取り専用コピーを保持します。管理対象サーバーが起動すると、ドメインの管理サーバーに接続して、その構成ドキュメントと管理サーバーに保持されているドキュメントが同期化されます。Oracle Fusion Middlewareシステム・コンポーネント(Forms、Reports、Oracle HTTP Server、Identity Managementコンポーネントなど)および顧客によりデプロイされたアプリケーションは、ドメイン内の管理対象サーバーにデプロイされます。構成中に、Oracle Fusion Middlewareアプリケーション(Forms JavaEEアプリケーションなど)のホスト用にいくつかの管理対象サーバーが作成されます。
図-11は、WebLogic管理対象サーバーからFormsランタイム・プロセスへのHTTPリクエストのフローを示してします。図の左側にはFormsクライアントがあります。Formsサーブレットは開始HTMLファイルをレンダリングし、Formsリスナー・サーブレットに関する情報をクライアントに提供します。クライアントは、このHTTPリクエストを中間のOracle HTTP Serverリスナーに渡します。Oracle HTTP Serverリスナーは、WebLogic管理対象サーバー内で実行されているFormsリスナー・サーブレットにそのHTTPリクエストを渡します。WebLogic管理対象サーバー・プロセスには、Webコンテナ、JBコンテナおよびその他のサービス(JNDI (Java Naming and Directory Interface)、JMS、JavaMailなど)が含まれます。Forms Listener ServletがForms Serverランタイム・プロセスを起動し、クライアント・ブラウザとランタイム・プロセス間の進行中の通信を担当します。
Oracle Forms Servicesを使用したOracle HTTP Serverの有効化
Oracle Fusion Middlewareでは、Oracle HTTP ServerでリクエストをForms管理対象サーバーにルーティングできるようにするには、インストール後のステップを実行する必要があります。
-
「Oracle Formsのユーティリティおよびスクリプト」で説明するように、Forms構成ヘルパー・スクリプトを使用して、これにenable_ohsオプションを渡します。
-
forms.confを手動で編集します(詳細は、「forms.confの編集について」を参照)。
forms.confの編集について
forms.confは、Oracle HTTP Serverディレクティブ・ファイルです。Oracle Fusion Middlewareでは、$DOMAIN_HOME/config/fmwconfig/components/OHS/<OHS INSTANCE NAME>/moduleconfのOracle HTTP Server構成ディレクトリにforms.confファイルが含まれる必要があります。
カスタムOracle HTTP Serverディレクティブをforms.confに追加した場合、これが存在するOracle HTTP Serverノードを再起動する必要があります。
Formsリスナー・サーブレットでのHTTPSの使用
Oracle FormsにHTTPSを使用するのは、他のWebベースのアプリケーションでHTTPSを使用するのと変わりません。
HTTPSでは、デジタル証明書(DigiCertやVeriSignなど)を使用する必要があります。Forms ServicesサーブレットはユーザーのWebサーバーからアクセスできるため、Oracle Formsのクライアントとサーバー間の通信に特別な証明書を購入する必要はありません。正式な認証局からユーザーのWebサーバー用の証明書を購入するだけで済みます。
エンドユーザーと中間層の間で最高レベルのセキュリティを確保するためにSecure Socket Layer (SSL)を構成することをお薦めします。使用環境でSSLを有効にする方法の詳細は、『Oracle HTTP Serverの管理』の「アプリケーション・セキュリティの管理」および『Oracle Fusion Middlewareの管理』の「Oracle Fusion MiddlewareでのSSLの構成」を参照してください。
SSLの有効化
Oracle Forms ServicesアプリケーションをSSLモードで実行するには、一定のステップを実行する必要があります。
次のステップを実行します。
-
証明書を管理するウォレットを作成します。
-
Oracle HTTP ServerでHTTPSポートを有効にします。デフォルトのOracle HTTP Serverでは、SSLポートが1つ有効になっています。
-
必要に応じて、Forms管理対象サーバー(WLS_FORMSなど)のWebLogic ServerでHTTPSを有効にすることを検討してください。
ロード・バランシング・ルーターによるSSLの有効化
HTTPSポートを使用するFormsアプリケーションを実行するには、証明書をインポートする必要があります。Oracle Formsがロード・バランシング・ルーターの後ろにあり、そのOracle FormsでSSLが終了する場合、証明書をロード・バランシング・ルーターからインポートする必要があります。
ロード・バランシング・ルーター上のFormsアプリケーションでSSLを有効にするには:
-
Webブラウザを起動して、FormsアプリケーションのHTTPS URLを入力します。このURLでは、Oracleインストールで使用している完全修飾ホスト名を指定します(必要に応じてポート番号も指定)。たとえば、
https://example.com:443/forms/frmservletとします。「セキュリティ・アラート」ダイアログ・ボックスが表示されます。
-
「証明書の表示」をクリックします。
-
「証明書」ダイアログで、「詳細」タブをクリックします。
-
「ファイルへコピー」をクリックします。
-
証明書エクスポート・ウィザードの「ようこそ」ページで、「次へ」をクリックします。
-
エクスポート・ファイル形式ページで、「Base-64 encoded X.509 (.CER)」を選択し、「次」をクリックします。
-
c:\temp\formsなどのファイル名を入力して、「次」をクリックします。 -
「終了」をクリックします。
エクスポートが正常に終了したことを示すメッセージが表示されます。
-
「OK」をクリックします。
-
「セキュリティ・アラート」ダイアログは開いたまま証明書エクスポート・ウィザードを終了します。
-
使用しているJVMの証明書ストアに保存してあるセキュリティ証明書ファイルをインポートします。
-
「セキュリティ・アラート」ダイアログで「はい」をクリックしてセキュリティ証明書を受け入れ、Formsアプリケーションを起動します。
Javaプラグインに証明書をインポートするには:
- クライアント・マシンでコントロール・パネルを開きます。
- Javaを開きます。
- 「セキュリティ」タブにナビゲートします。
- 「証明書」をクリックします。
- 前述の項でエクスポートした証明書をインポートします。
- 「適用」をクリックします。
Forms管理対象サーバーでの作業
デフォルト(特別な設定をしていないインストール)では、Forms ServicesのJava EEアプリケーション(formsapp.ear)はForms管理対象サーバー(WLS_FORMS)に配布されます。
Oracle WebLogic管理コンソールまたはOracle Fusion Middleware Controlを使用して、WLS_FORMSおよびformsapp.earを管理できます。次のリンクを参照してください。
-
Forms管理対象サーバーの起動と停止: 詳細は、『Oracle Fusion Middlewareの管理』のプロシージャの起動と停止の概要に関する項を参照してください
-
Forms管理対象サーバーへのFormsアプリケーションのデプロイ: 詳細は、構成ウィザードを使用したFormsの構成に関する項を参照してください
-
Forms Java EEアプリケーションのカスタム・デプロイメント: 詳細は、「Forms Java EEアプリケーションのカスタム・デプロイメント」を参照してください。
-
Forms管理対象サーバー・クラスタの拡張: 詳細は、「Forms管理対象サーバー・クラスタの拡張」を参照してください。
-
デプロイ後の
weblogic.xml、web.xml、application.xmlおよびweblogic-application.xmlの変更: 詳細は、「Forms J2EEアプリケーション・デプロイメント・ディスクリプタの変更」を参照してください。 -
WindowsサービスとしてのForms管理対象サーバーの起動: 詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』の「WindowsサービスとしてのWebLogic Serverインスタンスの設定」を参照してください。
Forms Java EEアプリケーションのカスタム・デプロイメント
ユーザーは、デフォルトのForms JavaEEアプリケーションのコンテキスト・ルート(/forms)およびデフォルトのFormsサーブレットの別名(frmservlet)をオーバーライドし、カスタマイズできます。
デフォルトのFormsアプリケーションのアクセスURL: http://host:port/forms/frmservletはhttp://host:port/<user-context>/<user-servlet-alias>に変更できます。
カスタム管理対象サーバーを作成し、そこにFormsアプリケーションをデプロイするには、次のステップを実行します。
カスタム・アプリケーションの作成およびデプロイ
カスタム・アプリケーションを作成してデプロイするステップは、次のとおりです。
パッチ適用後のタスク
Formsに追加の管理対象サーバーが作成されており、Oracle Forms固有のパッチが適用されている場合は、下記ステップに従います。これにより、パッチに含まれているFormsサーブレットに対する更新が、追加された管理対象サーバーに適用されます。
- ドメイン内のサーバーが停止していることを確認します。
- パッチを適用した後、
update_appオプションを使用してfrmconfighelperスクリプトを実行します。 update_appオプションを実行後に有効にするには、管理対象サーバーを再起動する必要があります。
ノート:
frmconfighelperスクリプトの詳細は、「Oracle Formsの構成ヘルパー・スクリプト」を参照してください。
Forms管理対象サーバー・クラスタの拡張
ハイエンド・マシン(マルチプロセッサと大容量メモリーを搭載したマシン)でFormsデプロイメントのスケーラビリティとパフォーマンスの向上を図るには、Forms管理対象サーバー・クラスタ(cluster_forms)を拡張します。次の手動のステップを実行してForms管理対象サーバー・クラスタを拡張します。
-
次のステップを実行して、新しい管理対象サーバーをデフォルトのFormsアプリケーション・クラスタ(
cluster_forms)に追加します。-
構成ウィザードを使用して別の管理対象サーバーを追加します。必ずFORMS-MAN-SRVグループを選択してください。
新規管理対象サーバーの追加。
-
管理対象サーバーの作成後にcluster_formsに追加されていることを確認します。
新規管理対象サーバーの追加。
-
新しく作成した管理対象サーバーを起動します。
-
-
forms.confのWebLogicClusterエントリに、新しい管理対象サーバーのホストとポートの情報を追加します。<Location /forms> SetHandler weblogic-handler WebLogicCluster <HostName>:9001, <HostName>:9010 DynamicServerList OFF </Location>
-
OHSを再起動します。
同じ物理マシンでの複数のFormsシステム・コンポーネント・インスタンスの作成
同じ物理マシンで複数のFormsシステム・コンポーネント・インスタンスを設定する場合、Forms管理対象サーバーをそれぞれのFormsシステム・コンポーネント・インスタンスに関連付ける必要があります。
この設定を行うには、Forms管理対象サーバーでforms.instanceシステム・プロパティを定義し、Formsシステム・コンポーネント・インスタンス名に設定します。
たとえば:
Machine 1 forms1 WLS_FORMS
forms2 WLS_FORMS2
WLS_FORMS1のforms.instanceシステム・プロパティをforms1に設定します。同様に、WLS_FORMS2のforms.instanceシステム・プロパティをforms2に設定します。これは、Oracle WebLogic Server管理コンソールで管理対象サーバーの設定を使用して行うことができます。
Forms J2EEアプリケーション・デプロイメント・ディスクリプタの変更
配布後は、Forms J2EEアプリケーションのデプロイメント・ディスクリプタ(weblogic.xml、web.xml、application.xmlおよびweblogic-application.xml)をOracle WebLogic Serverで変更することはできなくなります。
次のステップを実行してForms J2EEアプリケーションのデプロイメント・ディスクリプタをカスタマイズし、そのアプリケーションを再配布することでこの問題を解決できます。
-
デフォルトのformsappデプロイメント・プラン
$DOMAIN_HOME/config/fmwconfig/deployment-plans/formsapp/12.2.1/plan.xmlのバックアップを作成します。 -
Forms J2EEアプリケーションのデプロイメント・プランに、デプロイメント・ディスクリプタのカスタマイズを追加します。
ノート:
デプロイメント・プランを変更する方法については、次の例を参照してください。
デプロイメント・プランを更新するには、『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。
-
WebLogic管理コンソールを使用して、Formsアプリケーションを更新(再デプロイ)し、「このアプリケーションを新しいデプロイメント・プランの変更とあわせた場所に更新します(このオプションには、デプロイメント・プランを指定する必要があります)。」オプションを選択します。
-
WebLogic管理コンソールを使用してForms J2EEアプリケーションを再起動します。
例: デプロイメント・プランの変更:
この例では、FormsサーブレットのtestModeパラメータをオーバーライドしてその値をtrueに設定するようにデプロイメント・プランを変更します。デプロイメント・プランを変更するには、次のステップを実行します。
パフォーマンス/スケーラビリティのチューニング
Formsリスナー・サーブレットをチューニングするステップは、スループットの高いサーブレット・アプリケーションをチューニングするステップと同様です。
特定のForms Servicesの構成に最適なチューニングを行うには、リソース管理とユーザーのニーズを考慮する必要があります(『パフォーマンスのチューニング・ガイド』の「モニタリング」を参照)。
Oracle WebLogic Serverのロード・バランシング
Formsリスナー・サーブレットのアーキテクチャでは、標準のHTTPロード・バランシング技術を使用して、システムのロード・バランスを実現します。
Oracle HTTP Serverリスナーで提供するロード・バランシング・メカニズムでは、複数のWebLogicインスタンスをHTTPプロセスと同じホストで実行することも、複数の異なるホストやその組合せで実行することもできます。次に、HTTPリスナーはHTTPリクエストをOracle WebLogic管理対象サーバー・インスタンスにルーティングします。
次のシナリオは、考えられる組合せのほんの一例で、可能性の一部を示すことを目的としたものです。ユーザーのサイトにどのような選択が最も適しているかは、様々な要因により異なります。この機能の詳細な説明は、『パフォーマンスのチューニング・ガイド』の「モニタリング」を参照してください。
次の図では、4つのデプロイメント・シナリオを示します。
図-16 Oracle HTTP Listenerと同じホスト上にある複数のOracle WebLogic Server

「図-16 Oracle HTTP Listenerと同じホスト上にある複数のOracle WebLogic Server」の説明
図-17 Oracle HTTP Listenerとは異なるホスト上にある複数のOracle WebLogic Server

「図-17 Oracle HTTP Listenerとは異なるホスト上にある複数のOracle WebLogic Server」の説明
図-18 それぞれが異なるホスト上にある複数のOracle WebLogic Serverと複数のOracle HTTP Listener

「図-18 それぞれが異なるホスト上にある複数のOracle WebLogic Serverと複数のOracle HTTP Listener」の説明
図-19 異なるホスト上にある複数のOracle HTTP Listenerと同じホスト上にある複数のOracle WebLogic Server

「図-19 異なるホスト上にある複数のOracle HTTP Listenerと同じホスト上にある複数のOracle WebLogic Server」の説明
ノート:
HTTPリスナーおよびOracle WebLogic Serverを使用したForms Servicesのチューニングと最適化を行うには、『パフォーマンスのチューニング・ガイド』の「Oracle HTTP Serverのチューニング」を参照してください。認証プロキシを使用したOracle Forms Servicesアプリケーションの実行
Oracle Fusion Middlewareのインストール・プロセスで設定されたデフォルトの構成では、認証プロキシがサポートされます。
認証プロキシでは、アプリケーションを実行する接続先サーバーにアクセスするためのユーザー名とパスワードをユーザーが指定する必要があります。認証プロキシは通常、ユーザーがログインしているか(または認証されているか)どうかを検出するためにCookieを設定します。Cookieはその後のすべてのネットワーク要求時に送信され、不要なログイン・プロンプトを回避します。
Oracle WebLogic Serverのインストール・プロセスで設定されるコードベースおよびサーバーURLの値には、$FMW_HOME/forms/javaおよび/forms/lservletが含まれます。これらはページのドキュメント・ベース($FMW_HOME/forms)の下にあるので、認証プロキシが機能します。




