この節の内容は以下のとおりです。
この項では、Formsサーブレットが初期のHTMLページの生成に役立つことを前提に、Oracle Fusion MiddlewareでForms Servicesが実行される手順と、構成ファイルが使用される仕組みについて説明します。
即時利用可能なForms URLを引数なしで実行すると、Formsのバージョン番号情報が表示されたデフォルトのテスト・フォームが表示されます。この情報が表示されない方が望ましい場合、管理者は、使用環境内の(デフォルトの)構成セクションを変更するだけで、別のフォームが指定されるようにできます(または、フォームが一切指定されないようにします。この場合、ユーザーがバージョン番号が含まれるフォームを表示すかわりにそのURLを試みたときに、エラー・メッセージが表示されます)。ここでは、Weblogic Managed Serverがexample.comと呼ばれるコンピュータのポート9001で実行されていると想定します。また、Oracle Fusion Middlewareのインストール・プロセス時に作成した標準構成には、一切変更を行っていないことを前提にします。
ユーザーがOracle Forms Servicesアプリケーションを実行すると、次の一連のイベントが発生します。
ユーザーはWebブラウザを起動し、次のようなURLを指定します。
http://example.com:9001/forms/frmservlet?config=myapp&form=hrapp
この例では、実行されるトップ・レベルのフォーム・モジュールはhrappで、使用する構成セクションはmyappです。
Oracle HTTP Serverリスナーはリクエストを受信します。これは、URL内のパス/forms
を検索し、WebLogicハンドラ・マッピングに基づいて正しいOracle WebLogic管理対象サーバーにリクエストを転送します。このマッピングは、forms.conf
で定義されます。
注意:
WebLogic Serverの前面におけるOracle HTTP Server (OHS)の使用はオプションです。この実行を選択するには、インストール後にforms.confを構成する必要があります。ファイルに含まれる例を適切な設定の例として使用できます。設定を保存したら、ファイルを、他の.confファイルが含まれるOHS構成ファイル・ディレクトリに移動する必要があります(「Oracle Forms Servicesを使用したOracle HTTP Serverの有効化」を参照)。
Oracle WebLogic管理対象サーバーは、/forms
をコンテキスト・ルートとするOracle Forms Servicesアプリケーションにこのリクエストをマップします。次に、application.xml
ファイルで指定したfrmservletのマッピングを使用して、そのリクエストをFormsサーブレットにマップします。
Oracle WebLogic管理対象サーバーで実行しているFormsサーブレットが、このリクエストを処理します。このサーブレットが実行する処理は次のとおりです。
$DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config
にあるこのサーブレットの構成ファイル(デフォルトではformsweb.cfg
)を開きます。
formsweb.cfg
ファイルで使用する構成セクションを決定します。この例では、URLには問合せパラメータconfig=myapp
が含まれているため、[myapp
]セクションが使用されます。
使用するベースHTMLまたはbasejnlpファイルを決定します。このときの判断基準は、(a)リクエストを発行しているブラウザ(User-Agent)、(b)ブラウザを実行しているプラットフォーム、(c) formsweb.cfg
ファイルの各種パラメータの設定です。
ベースHTMLファイルを読み取り、次のように変数を置換した後、コンテンツをHTML (またはJNLP)ページとしてユーザーのWebブラウザに送り返します。
Formsサーブレットは変数(%myParam%
など)を検出すると、一致するURL問合せパラメータ(&myParam=xxx
など)を検索し、そのパラメータが見つからないときはformsweb.cfg
ファイル内で一致するパラメータを検索します。一致するパラメータが見つかると、変数(%myParam%
)はそのパラメータの値で置換されます。
この例では、ベースHTMLファイルにはテキスト%form%
が記述されています。このテキストが値hrappに置き換わります。
FormsサーブレットがどのベースHTMLファイルを選択したかに応じて、Webブラウザに送り返されるHTMLページには、Formsアプレット(シン・クライアント)を起動するapplet、object、embedまたはjnlpタグが含まれます。Formsクライアントは、リクエスト・タイプに応じて、Oracle Javaプラグイン、Web StartまたはスタンドアロンJava実行可能ファイルによって提供されるJVM環境内で動作します。
Formsアプレットを起動するには、そのJavaコードを最初にロードしておく必要があります。アプレットの場所は、アプレットのコードベースとアーカイブ・パラメータで指定されます。
/forms/java
のweblogic.xml
ファイルにある仮想パスの定義により、Webサーバーからアプレット・コードをロードできます。
注意: Formsアプレット・コードがネットワークを介してロードされるのは、ユーザーがOracle Forms Servicesアプリケーションを最初に実行したとき、または、新しいバージョンのOracle Forms ServicesがWebサーバーにインストールされたときのみです。それ以外の場合は、ローカル・ディスクにあるJavaキャッシュからロードされます。
Oracle Forms Servicesアプレットが実行されると、URL http://example.com:9001/forms/lservlet
にあるFormsリスナー・サーブレットに接続してFormsセッションを起動します。
Oracle HTTP Serverリスナーはリクエストを受信します。このFormsリスナー・サーブレット用のweb.xml
ファイルにあるサーブレット・マッピングにパス/forms/lservlet
が一致することから、このリクエストをOracle WebLogic管理対象サーバーに転送します。
Formsリスナー・サーブレット(lservlet)は、FormsセッションのFormsランタイム・プロセス(frmweb.exe
またはfrmweb
)を起動します。
FormsアプレットとFormsランタイム・プロセス間の通信は、Formsセッションが終了するまでリスナー・サーブレットを介して継続します。
URLの属性値(実行するフォーム名など)がFormsランタイム・プロセスに渡されます。ベースHTMLファイルのserverArgs値にある%form%
はhrappに置き換わります。そのため、このランタイム・プロセスはファイルhrapp.fmxのフォームを実行します。
このファイルは、環境ファイル(デフォルトではdefault.env
)で定義されたFORMS_PATH
環境設定に指定されているディレクトリのいずれかに格納されている必要があります。このディレクトリをformsweb.cfg
で指定することもできます(例: form=c:\<path>\myform
)。
Formsセッションは、次のいずれかが起きた場合に終了します。
トップ・レベルのフォームが終了した場合(exit_form組込み関数をコールするPL/SQLトリガー・コードなどにより)。この場合、保存していない変更があれば、ユーザーはその変更を保存するように指示されます。exit_form(no_validate)
を指定している場合は、この指示が表示されずにフォームが終了します。
ユーザーがWebブラウザを終了した場合。この場合、保存されていない更新は失われます。
この項では、Formsアプリケーションの構成に使用する基本ファイルについて説明します。
内容は次のとおりです。
WebUtilの構成ファイルおよびテンプレートHTMLファイル
注意:
ファイルの場所は、DOMAIN_HOME
ディレクトリに関連して指定されます。Windowsでは、フォワードスラッシュをバックスラッシュに置き換える必要があります。Middlewareホーム、Oracleホーム、Oracleインスタンスなど、使用される用語の詳細は、『Oracle Fusion Middlewareの管理』の「Oracle Fusion Middlewareの起動と停止」を参照してください。
構成の詳細は、「Forms Servicesの構成と管理」を参照してください。
Oracle Forms構成ファイルを使用すると、Formsのパラメータを指定できます。これらのファイルは、Oracle Fusion Middleware Controlで管理できます。
これらの構成ファイルには次のものが含まれます。
注意:
Forms構成ファイルとその格納場所のリストは、表C-1を参照してください。
場所: $DOMAIN_HOME/config/fmwconfig/servers/<MANAGED_SERVER>/applications/<appname>_<appversion>/config
通常、この場所は$DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config
です。
このファイルにはFormsランタイムの環境設定が含まれています。UNIXおよびLinuxの場合、default.env
にはPATH
とLD_LIBRARY_PATH
が記述されています。
default.env
の詳細は、「環境変数の管理」を参照してください。
場所: $DOMAIN_HOME/config/fmwconfig/servers/<MANAGED_SERVER>/applications/<appname>_<appversion>/config
通常、この場所は$DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config
です。
このForms構成ファイルには、次の内容が含まれています。
Formsランタイムのコマンドライン・パラメータの値、使用する環境ファイルの名前(envFile
設定)。
インストール時に設定するサーブレット構成パラメータのほとんどの設定。変更が必要な場合は、これらのパラメータをカスタマイズできます。
base.htm
ファイル内の変数(%variablename%
)は、formsweb.cfg
ファイルに指定された適切なパラメータ値によって置換されます。URLリクエストがある場合は、その問合せパラメータの値によって置換されます。
formsweb.cfg
の詳細は、「Fusion Middleware Controlによるパラメータの構成」を参照してください。
場所: $DOMAIN_HOME//config/fmwconfig/components/FORMS/instances/<FORMS Instance Name>/server/ftrace.cfg
このファイルは、Forms Traceを構成します。Forms Traceは、以前のリリースのFormsで使用されていたForms Runtime Diagnostics (FRD)によって提供されていた機能に代わるものです。Forms Traceは、フォームでの実行パス(たとえば、ユーザーがフォームの使用時に行った手順など)をトレースします。
ftrace.cfg
の詳細は、「トレースと診断」を参照してください。
Forms Services Java EEアプリケーションEAR (Enterprise Archive)ファイルformsapp.ear
は、Oracle Formsの構成時にWLS_FORMS (Oracle WebLogic管理対象サーバー)に配布されます。
これにより、$DOMAIN_HOME/servers/WLS_FORMS/tmp/_WL_user/formsapp_12.2.1/<random_string1>/APP-INF
ディレクトリの下に次のようなディレクトリ構造が作成されます。
./APP-INF ./APP-INF/lib ./APP-INF/lib/frmconfig.jar ./APP-INF/lib/frmconfigmbeans.jar ./META-INF ./META-INF/application.xml ./META-INF/jazn-data.xml ./META-INF/jps-config.xml ./META-INF/mbeans.xml ./META-INF/weblogic-application.xml
$DOMAIN_HOME/servers/WLS_FORMS/tmp/_WL_user/formsapp_12.2.1/<random_string2>/war/WEB-INF
ディレクトリの下には、次のようなディレクトリ構造が作成されます。
./WEB-INF ./WEB-INF/lib ./WEB-INF/lib/frmsrv.jar ./WEB-INF/web.xml ./WEB-INF/weblogic.xml
注意:
$DOMAIN_HOME/servers/WLS_FORMS/tmp/_WL_user/formsapp_12.2.1
のサブディレクトリは、Oracle WebLogic Serverのnostageデプロイメント・プロセスで作成されます。これらのディレクトリにはランダムな文字列の名前が割り当てられます。たとえば、e18uoiやwb1h9eなどのディレクトリ名になります。
デプロイメント・ディスクリプタ:
application.xml
とweblogic-application.xml
では、EARファイルの構造が定義されます。
web.xml
では、FormsサーブレットとFormsリスナー・サーブレット用に、別名frmservlet
とlservlet
が定義されます。
weblogic.xml
では、コンテキスト・パラメータとユーザー定義の仮想ディレクトリ・マッピングを定義します。
Oracle Forms Services用のOracle HTTP Listenerを構成するには、特定の構成ファイルを使用する必要があります。
場所: $DOMAIN_HOME/config/fmwconfig/components/OHS/<OHS INSTANCE NAME>/moduleconf
forms.conf
は、Oracle Forms Services用のOracle HTTPリスナーの構成ファイルです。これには、Forms Services関連のディレクティブ(Forms WebLogic管理対象サーバーのハンドラ・マッピングなど)が含まれます。
Oracle Formsとともに使用するためにOracle HTTP Serverを構成するには、次を参照してください。
Registry.dat
は、Forms Servicesで使用されるデフォルトのフォント、フォント・マッピング、アイコンおよびカスタム色スキーム情報を含んでいるファイルです。
場所: $DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config/oracle/forms/registry/Registry.dat
Registry.dat
の詳細は、「Forms Servicesで使用するフォント、アイコンおよびイメージの配置」を参照してください。
場所: $DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<Forms Instance Name>/server
Oracle Formsアプリケーションを起動するために使用されるHTMLページを生成する場合、次のいずれかがFormsサーブレットによってテンプレートとして使用されます。
base.htm
basejpi.htm
basesaa.txt
base.jnlp
basejpi_jnlp.htm
構成の変更は、これらのファイルを編集するのではなく、Oracle Fusion Middleware Controlを使用してformsweb.cfg
ファイルで行うことをお薦めします。ベースHTMLファイルを変更するには、ユーザー自身のバージョンを作成し、設定を適切に変更してformsweb.cfg
ファイルからそのユーザー・バージョンのファイルを参照します。
実行時にWebUtilを構成するには、特定のファイルを使用する必要があります。
設計時に使用するWebUtilの詳細は、Oracle Forms Developerのオンライン・ヘルプを参照してください。WebUtil構成ファイルは次のとおりです。
場所: $DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<Forms Instance Name>/server
このファイルには、次のようなWebUtilの構成設定がすべて示されます。
ロギング・オプション
インストール・オプション
ファイルのアップロードおよびダウンロードのオプション
ロギング・エラーやログ・メッセージに対するサーバー・サイドのロギング・オプション
場所: $DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<Forms Instance Name>/server
これは、汎用APPLETタグを使用してWebUtil対応フォームを実行するためのデフォルトのベースHTMLファイルです。
場所: $DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<Forms Instance Name>/server
これは、Javaプラグインを使用してWebUtil対応フォームを実行するためのデフォルトのベースHTMLファイルです。このファイルは、たとえば、UNIX上でFirefoxを使用してWebUtil対応フォームを実行する場合に使用できます。
これは、Java Web Startまたは埋込みJNLPを使用してWebUtil対応フォームを実行するためのデフォルトのbasejnlpファイルです。
場所: $DOMAIN_HOME/config/fmwconfig/components/FORMS/instances/<Forms Instance Name>/server
Forms Enterprise Manager Fusion Middleware Controlの「拡張構成」ページは、フリー・テキスト・エディタを使用して構成テンプレートおよびキー・バインディング・ファイルを追加、編集および削除する場合に使用します。
Forms Enterprise Manager Fusion Middleware Controlの「ホーム」ページで、「拡張構成」をクリックして「拡張構成」ページを開きます。
「拡張構成」ページには、「カテゴリの選択」リスト・ボックスと「ファイルの選択」リスト・ボックスが表示されます。「カテゴリの選択」リスト・ボックスでカテゴリを選択すると、すべての関連ファイルが「ファイルの選択」リスト・ボックスに表示されます。
この項の内容は、次のとおりです。
「拡張構成」ページで構成テンプレート・ファイルの追加、既存の構成テンプレート・ファイルの変更または削除を行うには、次の手順を実行します。
ファイルを作成するには、次の手順を実行します。
「類似作成」ボタンをクリックしてダイアログ・ボックスを開きます。
「カテゴリ」フィールドと「ソース・ファイル名」フィールドは、「ファイルの選択」リスト・ボックスで選択したファイルに基づいて事前に選択されています。ファイルが選択されていない場合は、特定のカテゴリを選択する必要があります。
「新規ファイル名」フィールドに名前を入力します。
「作成」ボタンをクリックして、新しいファイルを作成します。
注意:
同じファイル名のファイルが存在する場合、エラー・メッセージが表示されます。ファイルを編集するには、次の手順を実行します。
「ファイルの選択」リスト・ボックスでファイルを選択し、「編集」ボックスにその内容を表示します。
注意:
「編集」ボックスでは、フリー・テキスト・エディタが使用されます。「編集」ボックスで、ファイルの内容を更新して「適用」をクリックします。
または
「回復」,をクリックすると、変更が破棄されます。
注意:
ファイルの内容の読取りおよび保存は、mBean操作を使用して行われます。ファイルを削除するには、次のステップを実行します。
「カテゴリの選択」リスト・ボックスでカテゴリを選択します。
「ファイルの選択」リスト・ボックスでファイルを選択します。
「削除」ボタンをクリックして、特定のファイルを削除します。
注意:
選択したファイルがユーザー作成ファイルの場合は、「削除の確認」ダイアログ・ボックスが表示されます。選択したファイルが同梱ファイルの場合は、次のようなエラー・メッセージが表示されます: 標準ファイルは削除できません。ユーザー作成ファイルのみ削除できます。
キー・バインディング・ファイルを編集するには、「拡張構成」ページで次の手順を実行する必要があります。
キー・バインディング・ファイルを編集するには、次の手順を実行します。
「キー・バインディング・ファイルの選択」ボタンをクリックしてダイアログ・ボックスを開きます。
「言語の選択」フィールドは、「ファイルの選択」リスト・ボックスで選択したキー・バインディング・ファイルに基づいて事前に選択されています。ファイルが選択されていない場合は、「言語の選択」フィールドで特定の言語を選択する必要があります。特定の言語に関連するファイルが表示されます。
「ファイルの選択」リスト・ボックスでファイルのチェック・ボックスを選択または選択解除します。
標準ファイルおよび非標準ファイルが「ファイルの選択」リスト・ボックスに表示されます。4つの標準ファイルとMBeanがすでに存在するファイルは、チェック・ボックスが選択された状態で表示されます。非標準ファイルは、チェック・ボックスの選択が解除された状態で表示されます。
別の言語を選択して、「ファイルの選択」リスト・ボックスに移入されたファイル・リストをリフレッシュします。
新たに選択した項目についてMBeanを作成し、新たに選択を解除した項目についてMBeanを削除するには、「保存」ボタンをクリックします。選択内容が変らないファイルについて、MBeanは削除または追加されません。
複数の言語の場合、選択プロセスを繰り返すことができます。
新たに選択した項目についてMBeanを作成し、新たに選択を解除した項目についてMBeanを削除してダイアログ・ボックスを閉じるには、「保存して閉じる」ボタンをクリックします。
コミットの確認ダイアログ・ボックスに、メッセージ「キー・バインディング・ファイルの変更がコミットされました。」
が表示されます。
「取消」ボタンをクリックして、変更内容を破棄して「キー・バインディング・ファイルの選択」ダイアログ・ボックスを閉じることもできます。
Forms Developerでアプリケーションを作成したら、そのアプリケーションをWeb上に配布できます。Oracle Forms Servicesは、指定されたURLによってOracle Fusion Middlewareのアプリケーションにアクセスします。
次に、そのURLでHTTP Listenerにアクセスし、そこでListener Servletと通信します。リスナー・サーブレットは、Forms ServicesのセッションごとにFormsランタイム・プロセス(Windowsではfrmweb.exe
、UNIXとLinuxではfrmweb
)を起動します。
Forms Servicesが実行される仕組みの詳細は、「Oracle Forms Servicesのアクション」を参照してください。
内容は次のとおりです。
Oracle Forms Servicesアプリケーションにパラメータ値を事前定義するには、2つの方法があります。次の方法でパラメータを定義できます。
Fusion Middleware Controlの「Web構成」ページのデフォルト・セクションで、アプリケーション設定を編集します。デフォルトの構成セクションには、Oracle Forms Servicesで使用するデフォルト値が表示されます。
名前を付けたアプリケーションの構成セクションで、他のシステム・パラメータとユーザー・パラメータの値を管理(追加、編集、コピー、削除)します(「Fusion Middleware Controlでの構成セクションの作成」を参照)。たとえば、myApp
用に作成した構成セクションで、次の表に示すパラメータおよびその値を追加または変更できます。
表3-3 構成セクションの例: myAppのパラメータ値
パラメータ名 | パラメータ値 |
---|---|
baseHTML |
mybase.htm |
baseHTMLjpi |
mybasejpi.htm |
form |
hrapp.fmx |
userid |
scott/tiger@orcl |
注意:
「Web構成」の名前付き構成セクションで指定したパラメータは、デフォルト・セクションの設定をオーバーライドします。
注意:
システム・パラメータは、ユーザー・パラメータとは異なりURLにおいてオーバーライドできません。
「アプリケーションのデプロイ」のステップ2で作成した構成セクションで、Oracle Forms Servicesアプリケーションのパラメータを指定できます。「Web構成」ページのデフォルト・セクションで使用可能なアプリケーションおよびシステム・パラメータを任意で指定できます。
たとえば、lookAndFeel
パラメータをoracle
の値に設定し、「適用」をクリックすると、アプリケーションのルック・アンド・フィールをOracleのルック・アンド・フィールに設定できます。
また、名前付き構成セクションのデフォルトのパラメータ値をオーバーライドすることもできます。たとえば、アプリケーションへの接続情報をscott/tiger@orcl
として事前定義するには、userid
のパラメータ値を設定する必要があります。これには、名前を付けた構成セクションでuserid
のパラメータ値をscott/tiger@orcl
に変更します。
編集可能な他のパラメータは、「Forms構成パラメータ」を参照してください。
Oracle Forms ServicesアプリケーションにアクセスするURLにパラメータを直接入力できます。前述の例の場合、構成ファイルにform
パラメータを指定するかわりに、URLに次のように入力することもできます。
http://example.com:9001/forms/frmservlet?config=my_application&form=hrapp
アンパサンド(&)を使用すれば、フォームと名前を付けた構成パラメータの組合せをコールすることができます。前述の例では、my_applicationで指定したパラメータ設定を使用して、フォームhrappをコールしています。
注意:
URLで指定したパラメータは、構成セクションで設定したパラメータをオーバーライドします(「アプリケーションのURLセキュリティの管理」を参照)。
ランフォーム・パラメータに渡される値に特殊文字が含まれている場合は、特定の考慮事項が適用されます。この項では、こうした考慮事項について説明し、今回のリリースのデフォルト動作と前リリースのデフォルト動作を比較します。
ランフォーム・パラメータは、テンプレートHTMLファイルのserverArgsアプレット・パラメータで指定されるパラメータです。テンプレートHTMLファイルのserverArgsパラメータで指定された値は、変数の置換後に、コマンドライン・パラメータ文字列と呼ばれることもあります。これは、空白で区切られた一連のname=value
のペアで構成されます。この名前には、英数字またはアンダースコアのみが使用可能です。name=valueペアの値の部分には、任意の文字列を使用できます。
ランフォーム・パラメータの値は、次に示す3つの場所のいずれかで指定できます。
テンプレートHTMLファイル(base.htmなど)のserverArgs
パラメータの値。
(1)の変数参照を(直接または再帰的に)置換する、構成ファイル(formsweb.cfg
など)で指定された変数の値。通常、これらの値は、Fusion Middleware Controlを使用して管理します。「Forms Servicesの構成」を参照してください。
(1)または(2)の変数参照を直接置換する、URLの属性値。
(3)では、URL構文規則(ブラウザおよびアプリケーション・サーバーで実行される)により、URLエスケープ・シーケンスとして特定の文字を入力する必要があります(計3文字のうち、%に続く2桁の16進数字は文字のASCII値を表します)。
この要件には、%
文字自体が含まれます(%25
として入力する必要があります)。さらに、現在Oracle Forms Servicesでは、ブラウザおよびアプリケーション・サーバーでエスケープなしに引用符を入力できる場合でも、引用符('"')は%22
として入力する必要があります。
URL構文規則では、(URLエスケープ・シーケンス%20
の代替として)空白を+
として入力することも許可されています。ただし、otherparams
構成パラメータの値では、+
は特別に扱われ、ランフォーム・パラメータの値に埋め込まれた空白を示すのとは対象的に、name=valueペアを分割します。
たとえば、ランフォーム・アプリケーションにユーザー・パラメータparam1
とparam2
が指定されており、これらのパラメータに「a b」および「c d」を割り当てる場合は、次の文字列をURLに取り込みます。
&otherparams=param1=a%20b+param2=c%20d
(1)および(2)のように、テンプレートHTMLファイルまたは構成ファイルでランフォーム・パラメータを指定する場合、Formsでは状況によってURLエスケープ・シーケンスが必要とされる場合やURLエスケープ・シーケンスの使用が許可される場合、また許可されない場合があります。
ランフォーム・パラメータの値の外部では、URLエスケープ・シーケンスは使用できません。たとえば、name=valueペアの=
は、常にそのまま=
として指定する必要があります。隣接する2つのname=valueペアを区切る空白は、常にそのまま" "(シングル・スペース文字)として指定する必要があります。
ランフォーム・パラメータの値の内部では、空白(' ')をURLエスケープ・シーケンス(%20
)として指定する必要があります。HTMLデリミタ文字(構成ファイルで指定)もURLエスケープ・シーケンスとして指定する必要があります。また、(1)のようにランフォーム・パラメータがテンプレートHTMLファイルで指定されている場合は、引用符('"')をURLエスケープ・シーケンス(%22)として指定する必要があります。
その他の7ビットASCII文字も、URLエスケープ・シーケンスとして指定する場合があります。ただし、この指定は必須ではありません(次に示すとおり、%
では必要な場合があります)。%
文字には、特定の追加制限が適用されます。これには次のものがあります。
HTMLデリミタが%
(デフォルト)である場合、ランフォーム・パラメータの値内の%
の出現をエスケープする(%25
として指定する)必要があります。(HTMLデリミタ文字のエスケープの必要性については、前述のとおりです)。さらに、7ビットのASCII値を表す2桁の16進数字(最初の文字が0から7の2桁の16進数字)で変数名を開始することはできません。
HTMLデリミタが%
でなければ、その直後に8進数字と16進数字が続く場合、%
の出現はエスケープする必要があります。%の他の出現もエスケープすることをお薦めしますが、これは必須ではありません。
(前リリースで作成した既存のテンプレートHTMLファイルまたは構成ファイルを所有し、そのファイルで%以外のHTMLデリミタが使用され、ランフォーム・パラメータの値に%が含まれている場合は、この推奨事項を無視することもできます)。
リリース9.0.4以降の動作は、テンプレートHTMLファイルと構成ファイルのランフォーム・パラメータの値では引用符をエスケープ(%22)する必要がある点を除いて、現行リリースと同じです。
9.0.4より前のリリースでは、テンプレートHTMLファイルや構成ファイルで指定したランフォーム・パラメータの値にはURLエスケープ・シーケンスを使用できませんでした(前述の(1)と(2)の場合)。3つのすべての場合において、特定の特殊文字、特に空白、引用符、アポストロフィを指定することは困難または不可能でした。さらに、パラメータ値には、値をランフォームに渡す前に特定の変換が適用されました。特に顕著なのは値がアポストロフィで開始および終了する場合で、通常これらのアポストロフィは削除されました。ただし、こうした変換は明確に定義されたものではなく、Web環境とクライアント/サーバー環境の間には差異がありました。
使用しているアプリケーションが前リリースの動作に依存している場合は、構成ファイルでescapeparams
変数の値をFalse
に設定するだけで、現行リリースで前リリースの動作を取得できます(この作業はFusion Middleware Controlで実行します)。
以前の動作の取得を選択したアプリケーションに限定する場合は、異なる構成セクションのescapeparams
変数に異なる値を指定できます。以前の動作を必要とするアプリケーションでは、escapeparams
変数をFalse
に設定した構成セクションを指定します。新しい動作を必要とする(または許容する)アプリケーションでは、escapeparams
変数をTrue
に設定した構成セクションを指定します。
独自のテンプレートHTMLファイルを作成する場合は、次の点に留意してください。
escapeparams
変数(%
がHTMLデリミタ文字の場合は文字列%escapeparams%
)への参照がserverArgs
アプレット・パラメータ値の最初の部分に表示され、空白が続くように設定することをお薦めします。(例については、付属のbase.htmファイルを参照)。
escapeparams
変数への参照が、テンプレートHTMLファイルの他の部分に表示されないよう注意してください。serverArgs
アプレット・パラメータの値を引用符ではなくアポストロフィで囲む場合は、テンプレートHTMLファイル内のランフォーム・パラメータの値の内部でアポストロフィをエスケープする(%27)必要があります。引用符にはエスケープ・シーケンスは不要です。
serverArgs
アプレット・パラメータ値の先頭からescapeparams
変数への参照を省略することが可能です。これにより、構成ファイルでescapeparams
変数に指定した値に関係なく、以前のリリースの動作が得られます。
静的HTMLを使用してランフォーム・エンジンを呼び出し、最新リリースの動作を取得する場合は、特定の手順に従う必要があります。
基本的な規則として、静的HTMLがForms Servletで生成されたHTMLのように見える必要があります。具体的には、serverArgs
アプレット・パラメータの値を文字列escapeparams=true
で開始する必要があります(大/小文字の区別なし)。
さらに、serverArgs
アプレット・パラメータ値の各name=valueペアの値部分で、次の表に示すURLエスケープ・シーケンスによって特定の文字を指定する必要があります。
表3-4 静的HTMLページのURLエスケープ・シーケンス
エスケープが必要な文字 | URLエスケープ・シーケンス |
---|---|
改行' \n ' |
%0a |
空白' ' |
%20 |
引用符' " ' |
%22 |
パーセント' % ' |
%25 |
アポストロフィ' ' ' |
%27 |
左カッコ' ( ' |
%28 |
右カッコ' ) ' |
%29 |
name=value
ペアの値部分に使用されている他の7ビットASCII文字をエスケープすることもできます。
静的HTMLでのserverArgs
アプレット・パラメータの書式の例を次に示します。この例は、my formという名前のフォームに関するものです。ここでは、値foo'barがユーザー定義パラメータmyparam
に渡されます。
<PARAM NAME="serverArgs" VALUE="escapeparams=true module=my%20form userid=scott/tiger@mydb myparam=foo%27bar">
次のURLにアクセスすると、リスナー・サーブレットのテスト・ページを表示できます。
http://<
hostname
>:<
port
>/forms/frmservlet/admin
表示される情報は、初期化パラメータTestMode
の値に依存します。このパラメータは$DOMAIN_HOME/servers/WLS_FORMS/tmp/_WL_user/formsapp_12.2.1/<random_string>/war/WEB-INF
/web.xml
ファイルで設定します。次に例を示します。
<init-param> <!-- Display sensitive options on the /admin page --> <param-name>TestMode</param-name> <param-value>true</param-value> </init-param>
要件に応じて、使用可能なクライアントの構成を使用できます。
次のクライアントの構成が使用可能です。
HTMLに埋め込まれたアプレット
デフォルトの構成
SSO、SSOログアウトおよびJavaスクリプト統合に対する完全なサポート
Javaプラグインおよびブラウザが必要
HTMLに埋め込まれたJNLP
SSO、SSOログアウトおよびJavaスクリプト統合に対する完全なサポート
Javaプラグインおよびブラウザが必要
Base64によってクライアント側のhtmlソースでJNLPコードをエンコード
Java Web Start
SSOをサポート(ブラウザを使用して使用する場合)
SSOログアウトまたはJavaスクリプト統合に対するサポートなし
JDKまたはJavaプラグイン(JRE)のインストールが必要
ネイティブの外観でアプリケーションを表示
スタンドアロン(Formsスタンドアロン・ランチャ)
SSO、SSOログアウトまたはJavaスクリプト統合に対するサポートなし
JDKまたはJavaプラグイン(JRE)のインストールが必要
ブラウザは不要
ネイティブの外観でアプリケーションを表示
ページ例の参照可能な場所: http://server:9001/forms/html/fsal.htm
注意:
これらの各構成の使用方法の例は、Forms Web構成formsweb.cfgを参照してください。
次のリンクでは、クライアント・ブラウザ、Javaバージョンおよびサポートされている最新のプラットフォームの詳細を参照できます。また、Oracle Java Plug-inを使用してOracle Formsアプリケーションを表示することもできます。
Oracleサポート: https://support.oracle.com
を参照してください。
製品動作保証の要件に関するドキュメント: Oracle Fusion Middlewareでサポートされるシステム構成を参照してください。
システム要件: Oracle Fusion Middlewareのシステム要件と仕様を参照してください。
ブラウザからOracle Formsアプリケーションをリクエスト(たとえば、アプリケーションのURLへのリンクをクリック)すると、Formsサーブレットにより、次の処理が行われます。
使用しているブラウザを検出します。
次の表を使用して、適切なベースHTMLファイルを選択します。
表3-5 ベースHTMLファイルの説明
検出されたブラウザ | 使用されるベースHTMLファイル |
---|---|
Internet Explorer |
|
Mozilla FireFox |
|
その他すべてのブラウザとMacintoshクライアント |
|
ベースHTMLファイル内の変数(%variablename%)が、Formsのservlet.initArgs
ファイルやformsweb.cfg
ファイルに指定された適切なパラメータ値や、URLリクエストがある場合はその問合せパラメータの値で置換されます。
HTMLファイルをユーザーのブラウザに送信します。