アプリケーションのデプロイ

この章では、アプリケーション・デプロイメントについて学習します。また、この章では、Oracle Forms Application Deployment Services (FADS)の構成および使用に関する情報も記載します。

この節の内容は以下のとおりです。

ノート:

クライアント構成の詳細は、「クライアント構成」を参照してください。

Oracle Forms Servicesのアクション

このトピックでは、Oracle Fusion MiddlewareでForms Servicesを実行するステップ、および構成ファイルの使用方法について説明します。

ユーザーが即時利用可能なForms URLを引数なしで実行すると、Formsのバージョン番号情報が表示されたデフォルトのテスト・フォームが表示されます。この情報が表示されない方が望ましい場合、管理者は、Forms Web構成の[default]構成セクションを変更するだけで、別のフォームが指定されるようにできます(または、フォームが一切指定されないようにします。この場合、ユーザーがそのURLを試行すると、バージョン番号が含まれるフォームが表示されずにエラー・メッセージが表示されます)。たとえば、Oracle HTTP Server (OHS)がexample.comというコンピュータのポート7777で実行されていると想定します。また、Oracle Fusion Middlewareのインストール・プロセス時に作成した標準構成には、一切変更を行っていないことを前提にします。

ユーザーがOracle Forms Servicesアプリケーションを実行すると、次の一連のイベントが発生します。

  1. ユーザーは、次のURLを使用してFormsをコールします。

    http://example.com:7777/forms/frmservlet?config=myapp&form=hrapp

    この例では、実行するトップ・レベルのフォーム・モジュールをhrappと呼び、myappという構成セクションを使用します。

  2. Oracle HTTP Serverリスナーはリクエストを受信します。これは、URL内のパス/formsを検索し、WebLogicハンドラ・マッピングに基づいて正しいOracle WebLogic管理対象サーバーにリクエストを転送します。このマッピングは、forms.confで定義されます。

    ノート:

    WebLogic Serverの前面におけるOracle HTTP Serverの使用はオプションです。この実行を選択するには、インストール後にforms.confを構成する必要があります。ファイルに含まれる例を適切な設定の例として使用できます。設定を保存したら、ファイルを、他の.confファイルが含まれるOHS構成ファイル・ディレクトリに移動する必要があります(「Oracle Forms Servicesを使用したOracle HTTP Serverの有効化」を参照)。
  3. Oracle WebLogic管理対象サーバーは、/formsをコンテキスト・ルートとするOracle Forms Servicesアプリケーションにこのリクエストをマップします。次に、application.xmlファイルで指定したfrmservletのマッピングを使用して、そのリクエストをFormsサーブレットにマップします。
  4. Oracle WebLogic管理対象サーバーで実行しているFormsサーブレットが、このリクエストを処理します。このサーブレットが実行する処理は次のとおりです。
    • $DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/configにあるこのサーブレットの構成ファイル(デフォルトではformsweb.cfg)を開きます。
    • formsweb.cfgファイルで使用する構成セクションを決定します。この例では、URLには問合せパラメータconfig=myappが含まれているため、[myapp]セクションが使用されます。
    • 次のことに基づいて、使用するテンプレート・ファイル(たとえば、baseHTML、basejnlp、basesaa.txt)が決定されます:
      1. リクエストを行ったクライアント構成(たとえば、ブラウザ、web start、FSAL)
      2. ユーザーが実行しているプラットフォーム、および
      3. formsweb.cfgファイル内の様々なパラメータの設定。
    • テンプレート・ファイルが読み取られ、次のように変数置換が実行された後、内容が(クライアント構成の選択に基づいて)HTML、JNLPまたはテキストとして返されます。

      Formsサーブレットは変数(%myParam%など)を検出すると、一致するURL問合せパラメータ(&myParam=xxxなど)を検索し、そのパラメータが見つからないときはformsweb.cfgファイル内で一致するパラメータを検索します。一致するパラメータが見つかると、変数(%myParam%)はそのパラメータの値で置換されます。

      この例では、テンプレート・ファイルにはテキスト%form%が含まれています。これが値"hrapp"に置き換わります。

  5. Formsサーブレットがどのテンプレート・ファイルを選択したかに応じて、クライアントに返されるページには、Formsアプレットを起動するapplet、object、embedまたはjnlpタグが含まれます。Formsクライアントは、リクエスト・タイプに応じて、Oracle Javaプラグイン、Web StartまたはスタンドアロンJava実行可能ファイルによって提供されるJVM環境内で動作します。
  6. Formsアプレットを起動するには、そのJavaコードを最初にロードしておく必要があります。アプレットの場所は、アプレットのコードベースとアーカイブ・パラメータで指定されます。

    /forms/javaweblogic.xmlファイルにある仮想パスの定義により、Webサーバーからアプレット・コードをロードできます。

    ノート:

    Formsアプレット・コードがネットワークを介してロードされるのは、ユーザーがOracle Forms Servicesアプリケーションを最初に実行したとき、または、新しいバージョンのOracle Forms ServicesがWebサーバーにインストールされたときのみです。それ以外の場合は、ローカル・ディスクにあるJavaキャッシュからロードされます。
  7. Oracle Forms Servicesアプレットが実行されると、URL http://example.com:7777/forms/lservletにあるFormsリスナー・サーブレットに接続してFormsセッションを起動します。
  8. Oracle HTTP Serverリスナーはリクエストを受信します。このFormsリスナー・サーブレット用のweb.xmlファイルにあるサーブレット・マッピングにパス/forms/lservletが一致することから、このリクエストをOracle WebLogic管理対象サーバーに転送します。
  9. Formsリスナー・サーブレット(lservlet)は、FormsセッションのFormsランタイム・プロセス(frmweb.exeまたはfrmweb)を起動します。
  10. FormsアプレットとFormsランタイム・プロセス間の通信は、Formsセッションが終了するまでリスナー・サーブレットを介して継続します。
  11. URLの属性値(実行するフォーム名など)がFormsランタイム・プロセスに渡されます。テンプレート・ファイルのserverArgs値にある%form%"hrapp"に置き換わります。そのため、このランタイム・プロセスはファイル"hrapp.fmx"のフォームを実行します。

    このファイルは、環境ファイル(デフォルトではdefault.env)で定義されたFORMS_PATH環境設定に指定されているディレクトリのいずれかに格納されている必要があります。

  12. Formsセッションは、次のいずれかが起きた場合に終了します。
    • トップ・レベルのフォームが終了した場合(たとえば、"exit_form"組込み関数をコールするPL/SQLトリガー・コードにより)。この場合、保存していない変更があれば、ユーザーはその変更を保存するように指示されます。exit_form(no_validate)を指定している場合は、この指示が表示されずにフォームが終了します。
    • ユーザーが保留中の変更を保存せずにセッションを終了すると、変更内容はすべて失われます。

アプリケーション・デプロイメント

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 Fusion Middleware構成ウィザードによって設定されるデフォルトのパラメータを使用して基本フォームをデプロイするには:

  1. Oracle Forms Developerでアプリケーションを作成し、関連するソース・ファイル(.fmb.mmb.pll.olb)がホストされるアプリケーション・サーバー上の目的の場所にこれらのファイルを保存またはコピーします。

    ソース・ファイルは、Forms Developer以外ではオープンできない設計時ファイルです。実行可能ファイル(.fmx.mmx.plx)は、(Forms Compilerを使用して)ソース・ファイルをコンパイルしたときに作成されるランタイム・ファイルで、Webデプロイメントに使用します。

    Formsファイル・タイプの詳細とForms Compiler (frmcmp)の使用方法は、Form Builderの「ヘルプ」メニューを参照してください。

  2. Forms Compilerを使用して、ソース・ファイルから実行可能ファイルを生成します。コンパイラおよびその場所は、次を参照してください。
    • UNIXプラットフォームの場合: FORMS_INSTANCE/bin/frmcmp.sh

    • Microsoft Windowsの場合: ORACLE_HOME\bin\frmcmp.exe

    起動時にコンパイラに引数が渡されない場合、グラフィカル・ユーザー・インタフェースの起動が試みられます。Forms Compilerの使用の詳細は、Forms Developer (Forms Builder)ヘルプを参照してください。または、–helpオプションを使用してオプションの引数を表示します。たとえば: frmcmp -help

    使用例: frmcmp.sh module=myForm.fmb module_type=form compile_all=yes userid=user1/user1@orcl

  3. 目的のアプリケーション・モジュールにOracle Forms Servicesからアクセスできるようにformsweb.cfgを変更します。このファイルは、Fusion Middleware Controlの「Web構成」ページで編集します(「Forms Servicesの構成」を参照)。

    表-1は、form=hrapp.fmxというフォーム・モジュールを持つアプリケーションmy_applicationの構成を示しています:

    表-1 構成セクションのパラメータ値の例

    構成セクション名 Formsモジュール名の値

    my_application

    hrapp.fmx

    構成が完了すると、ブラウザのURLに「...?config=my_application」(formsweb.cfg「Web構成」セクションの名前)と入力することにより、Web上でOracle Forms Servicesモジュールhrapp.fmxへアクセス可能になります。

    ノート:

    この構成セクションの名前に使用できる文字は、空白以外の英数字のみです。

  4. .fmxファイルの場所は、必ずFORMS_PATH環境変数で指定します。

    たとえばWindowsでは、.fmxファイルがd:\my_files\applicationsにある場合は、FORMS_PATHd:\my_files\applicationsと記述します。Windowsの場合、複数の場所を指定するには各ディレクトリ名をセミコロンで区切ります。UNIXとLinuxの場合はコロン(:)で区切ります。その環境ファイルの「環境構成」ページで、この情報を指定します。

  5. 環境ファイルを変更するには、Fusion Middleware Controlの「環境構成」ページで環境ファイルを選択し、アプリケーションの必要に応じて環境変数を追加または編集します。たとえば、次の表に示す環境変数を追加できます。

    表-2 環境変数の値の例

    環境変数の名前 環境変数の値

    NLS_LANG

    NLS_LANG=GERMAN_GERMANY.WE8ISO8859P15

    環境ファイルでこれらの環境変数を指定した場合は、「Web構成」ページを使用して、formsweb.cfgの該当する構成セクションでこの環境ファイルを指定します。

  6. 次のように、URLで記述したアプリケーションの名前を入力します。

    http://example.com:9001/forms/frmservlet?

    exampleはコンピュータのホスト名で、9001はWebLogic Manager Serverによって使用されるポートです

    構成セクションを作成した後、config=に続いてその構成セクション名を記述します。この例では、hrapp.fmxにアクセスするためのURLは次のようになります。

    http://example.com:9001/forms/frmservlet?config=my_application

パラメータの指定

Oracle Forms Servicesアプリケーションにパラメータ値を事前定義するには、2つの方法があります。次の方法でパラメータを定義できます。

  • Fusion Middleware Controlの「Web構成」ページのデフォルト・セクションで、アプリケーション設定を編集します。デフォルトの構成セクションには、Oracle Forms Servicesで使用するデフォルト値が表示されます。

  • 名前を付けたアプリケーションの構成セクションで、他のシステム・パラメータとユーザー・パラメータの値を管理(追加、編集、コピー、削除)します(「Fusion Middleware Controlでの構成セクションの作成」を参照)。たとえば、myApp用に作成した構成セクションで、次の表に示すパラメータおよびその値を追加または変更できます。

    表-3 構成セクションの例: myAppのパラメータ値

    パラメータ名 パラメータ値

    baseHTML

    mybase.htm

    baseHTMLjpi

    mybasejpi.htm

    form

    hrapp.fmx

    userid

    scott/tiger@orcl

ノート:

「Web構成」の名前付き構成セクションで指定したパラメータは、デフォルト・セクションの設定をオーバーライドします。

ノート:

システム・パラメータは、ユーザー・パラメータとは異なりURLにおいてオーバーライドできません。

Fusion Middleware Controlでの構成セクションの作成

アプリケーションのデプロイのステップ2で作成した構成セクションで、Oracle Forms Servicesアプリケーションのパラメータを指定できます。「Web構成」ページのデフォルト・セクションで使用可能なアプリケーションおよびシステム・パラメータを任意で指定できます。

たとえば、lookAndFeelパラメータをoracleの値に設定し、「適用」をクリックすると、アプリケーションのルック・アンド・フィールをOracleのルック・アンド・フィールに設定できます。

また、名前付き構成セクションのデフォルトのパラメータ値をオーバーライドすることもできます。たとえば、アプリケーションへの接続情報を<username>/<password>@orclとして事前定義するには、useridのパラメータ値を設定する必要があります。これには、名前を付けた構成セクションでuseridのパラメータ値を<username>/<password>@orclに変更します。

編集可能な他のパラメータは、「Forms構成パラメータ」を参照してください。

Oracle Forms Servicesアプリケーションへのアクセスに使用するURLの編集

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つの場所のいずれかで指定できます。

  1. テンプレートHTMLファイル(base.htmなど)のserverArgsパラメータの値。

  2. (1)の変数参照を(直接または再帰的に)置換する、構成ファイル(formsweb.cfgなど)で指定された変数の値。通常、これらの値は、Fusion Middleware Controlを使用して管理します。「Forms Servicesの構成」を参照してください。

  3. (1)または(2)の変数参照を直接置換する、URLの属性値。

(3)では、URL構文規則(ブラウザおよびアプリケーション・サーバーで実行される)により、URLエスケープ・シーケンスとして特定の文字を入力する必要があります(計3文字のうち、%に続く2桁の16進数字は文字のASCII値を表します)。

この要件には、%文字自体が含まれます(%25として入力する必要があります)。さらに、現在Oracle Forms Servicesでは、ブラウザおよびアプリケーション・サーバーでエスケープなしに引用符を入力できる場合でも、引用符('"')は%22として入力する必要があります。

URL構文規則では、(URLエスケープ・シーケンス%20の代替として)空白を+として入力することも許可されています。ただし、otherparams構成パラメータの値では、+は特別に扱われ、ランフォーム・パラメータの値に埋め込まれた空白を示すのとは対象的に、name=valueペアを分割します。

たとえば、ランフォーム・アプリケーションにユーザー・パラメータparam1param2が指定されており、これらのパラメータに「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に設定した構成セクションを指定します。

テンプレート・ファイルの考慮事項

独自のテンプレート・ファイルを作成する場合は、次の点を考慮してください:

  • escapeparams変数(%がHTMLデリミタ文字の場合は文字列%escapeparams%)への参照がserverArgsアプレット・パラメータ値の最初の部分に表示され、空白が続くように設定することをお薦めします。例については、付属のbase.htmファイルを参照してください。
  • escapeparams変数への参照が、テンプレート・ファイルの他の部分に表示されないようにしてください。serverArgsアプレット・パラメータの値を引用符ではなくアポストロフィで囲む場合は、テンプレート・ファイル内のランフォーム・パラメータの値の内部でアポストロフィをエスケープする(%27)必要があります。引用符にはエスケープ・シーケンスは不要です。
  • serverArgsアプレット・パラメータ値の先頭からescapeparams変数への参照を省略することが可能です。これにより、構成ファイルでescapeparams変数に指定した値に関係なく、以前のリリースの動作が得られます。
静的HTMLページの考慮事項
静的HTMLを使用してランフォーム・エンジンを呼び出し、最新リリースの動作を取得する場合は、特定のステップに従う必要があります。

ノート:

静的HTMLまたはJNLPの使用はお薦めしません。Formsアプリケーションに対するコールはすべて、Formsサーブレット(frmservlet)を介してルーティングすることをお薦めします。これを行わないと、予期しない動作が発生することがあります。

基本的な規則として、静的HTMLがForms Servletで生成されたHTMLのように見える必要があります。具体的には、serverArgsアプレット・パラメータの値を文字列escapeparams=trueで開始する必要があります(大/小文字の区別なし)。

さらに、serverArgsアプレット・パラメータ値の各name=valueペアの値部分で、次の表に示すURLエスケープ・シーケンスによって特定の文字を指定する必要があります。

表-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">

Oracle Forms Application Deployment Services

Forms Application Deployment Services (FADS)により、アプリケーションのパッケージ化やアプリケーションのアーカイブ・コピーのデプロイ、構成および格納のプロセスが簡略化されます。

Forms Application Deployment Servicesを使用すると、管理者または開発者はボタンをクリックするだけで、アプリケーションのパッケージ化やアプリケーションのアーカイブ・コピーのデプロイ、構成および格納ができるようになります。Formsアプリケーションを配信およびデプロイするには、fmx、mmx、plxファイルなどのForms実行可能ファイルを含むアプリケーション・パッケージを作成する必要があります。実行可能ファイルの生成に加えて、アプリケーションでは、jarやhtmlなどの追加のカスタム・ファイルや、場合によっては一意の構成設定を必要とすることもあります。

FADS Webインタフェースを使用すると、デプロイメント・ステータスの確認、アプリケーションの更新済バージョンのデプロイ、不要になったアプリケーションの削除などが可能です。コマンドライン・インタフェースも使用でき、Webインタフェースの使用が適切でないFormsビルド統合や自動デプロイメント・ジョブのスクリプト化の際に役立ちます。

ノート:

FADS Webインタフェースでは、100MB最大アーカイブ(.far)ファイル・サイズ制限がサポートされています。100MBを超えるファイルをデプロイしようとすると、タイムアウト・エラーとなり、デプロイメントが失敗することがあります。大規模なファイルの場合は、Webインタフェースではなく、提供されているコマンドライン・ユーティリティを使用してください。

内容は次のとおりです。

FADSへのアクセス

FADSで使用するには、Webインタフェースまたはコマンドライン・インタフェースを使用できます。

Webインタフェースへのアクセス

FADSは、WebLogic Server管理サーバーにデプロイされます。したがって、FADSにアクセスするには、WebLogic Server管理サーバーが実行され、アクセス可能である必要があります。最高レベルのセキュリティを確保するために、WebLogic Server管理サーバーでSSLを有効にすることをお薦めします。HTTPリスナーとOracle WebLogic ServerでのOracle Forms Servicesの使用方法を参照してください。

FADS Webインタフェースにアクセスするには、次のようなURLを使用します。

http://example.com:7001/fadsui

FADSにアクセスするには、Fusion Middleware Control (Enterprise Manager)へのアクセスで使用した資格証明と同じものを使用します。

ノート:

管理サーバー・ログに表示されるFADSに関連する一部のADFエラーおよび警告は、FADSが正しく機能していない場合でなければ無視して構いません。

コマンドライン・インタフェースへのアクセス

FADSCLIは、最新のOracle Fusion Middleware 12cドメインで実行されているForms Application Deployment Servicesに接続してやり取りできるようになるコマンドライン・インタフェースです。

デフォルトでは、FADSコマンドライン・インタフェースは非SSLモードでサーバーに接続します。

SSLモードを使用するには、追加の引数ssl=trueを様々なFADSCLIオプションに渡して、WebLogic管理サーバーのSSLポートに接続します。SSLモードでの実行時、FADSCLIを実行しているクライアント側JVMで証明書をインポートする必要があります。Javaキーストアへの証明書のインポートについては、Javaのドキュメントを参照してください。

FADSCLIには、FADSCLIスクリプトとそのライブラリが格納されています。これは、FMW ORACLE_HOMEのディレクトリORACLE_HOME/forms/fads/fads-clientにあります。

様々なFADSCLIオプションの詳細は、「FADSCLIのオプション」を参照してください。

Formsアプリケーション・パッケージャの使用

FADSを使用してアプリケーション・パッケージをデプロイするには、そのアプリケーション・パッケージをあらかじめ作成する必要があります。Forms Application Packager (FAP)コマンドライン・ユーティリティを使用して、FARファイルと呼ばれるFormsアプリケーション・アーカイブ・ファイルをパッケージ化します。

Formsアプリケーション・パッケージャは、アーティファクト・ディレクトリ内でFormsアーティファクトを検索し、FARファイルを生成します。このようなFARファイルは、最新のOracle Fusion Middleware 12cリリースのドメインで実行されているFADSにデプロイできます。

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

Formsアプリケーション・パッケージャの取得

Formsアプリケーション・パッケージャは、アーティファクト・ディレクトリ内でFormsアーティファクトを検索し、FARファイルを生成します。このようなFARファイルは、最新のOracle Fusion Middleware 12cリリースのドメインで実行されているFADSにデプロイできます。Formsアプリケーション・パッケージャを使用するには、Webインタフェースからクライアント・ツール・セットをダウンロードします。このセットには、FAPユーティリティが含まれています。

Formsアプリケーション・パッケージャには、スクリプト(fa_packager.shおよびfa_packager.cmd)とその依存ライブラリが含まれます。Formsアプリケーション・パッケージャ・ユーティリティは次から入手できます。
  • 現在のOracle Fusion Middleware 12cリリースおよびOracle Forms Standalone Builder 12cのインストールの$FMW_HOME/forms/fads/fads-clientディレクトリ。
  • Forms Application Deployment Services Webインタフェースからダウンロードすることもできます。右上にある「<username>」(weblogicなど)ドロップダウン・メニューに移動し、「クライアント・ツールのダウンロード」オプションを選択します。fads_download-fap-menu.pngの説明が続きます
    図fads_download-fap-menu.pngの説明

    クライアント・ツールのダウンロードには、Formsアプリケーション・パッケージャ・ユーティリティとFADSコマンドライン・インタフェース(FADSCLI)の両方が含まれます。

アプリケーション・パッケージの作成

様々なFormsアプリケーション・パッケージャ引数を使用して、アプリケーション・パッケージを作成します。

Formsアプリケーション・パッケージャで使用する構文は次のとおりです。

fa_packager.sh appName=<app_name> appVersion=<app_version> artifactDirs=<artifact_dirs>
                       outputDir=<output_dir> preserveDir=<preserve_dir> startForm=<startForm> ignoreExt=<ignore extn list>

Formsアプリケーション・パッケージャ引数は、構文のリストに示したものと同じ順序で渡す必要があります。引数の詳細は、表-5を参照してください。

表-5 Formsアプリケーション・パッケージャの引数

引数 説明 必須/オプション ノート

appName

Formsアプリケーション名

必須

最初の引数は常にFormsアプリケーション名にする必要があります。

例: sales

appVersion

Formsアプリケーションのバージョン

必須

2番目の引数は常にFormsアプリケーションのバージョンにする必要があります。これはFormsアプリケーションのバージョンであり、Forms製品のバージョンとは関係ありません。

例: 1.0

artifactDirs

Formsアプリケーションのアーティファクト・ディレクトリ

これは、Formsアプリケーション・アーティファクト(Forms、メニュー、PLSQLライブラリ、オブジェクト・ライブラリなど)が常駐するディレクトリです。

オプションとして、Formsアプリケーション関連の構成をFARファイルに含めるには、表-6に示すようにファイル内に構成の内容を作成します。

必須

3番目の引数は常にアーティファクト・ディレクトリにする必要があります。

すべてのFormsアプリケーションに対して1つのトップレベル・ディレクトリを作成することは避けてください。

例: FormsアプリケーションSales、FinanceおよびHuman Resourcesがある場合。これらのアプリケーションそれぞれについて別々のトップレベル・ディレクトリを作成し、そのディレクトリ・パスをアーティファクト・ディレクトリとして渡します。

オプションの構成ファイルを指定する場合は、アーティファクト・ディレクトリの最上位ディレクトリにファイルを配置します。Formsアプリケーション・パッケージャでは、これらのファイルから構成を集めてFARファイルに含めます。

outputDir

これは、FARファイルが生成されるディレクトリです。

オプション

ノート:

preserve_dir引数を使用する場合、output_dirは必須になります。

使用する場合、常にFAパッケージャに渡す4番目の引数とします。

出力ディレクトリを指定すると、fa_packagerによってこのディレクトリ内にFARファイルが生成されます。この引数を指定しないと、fa_packgerによって現行ディレクトリ内にFARファイルが生成されます。

preserveDir

これはブール引数(true/false)で、デフォルト値はfalseです。

アーティファクト・ディレクトリのディレクトリ構造をFARファイル内で維持する必要があるかどうかを示します。

オプション

使用する場合、常にFAパッケージャに渡す5番目の引数とします。

表-6 Formsアプリケーション関連の構成ファイル

ファイル ノート 追加先のForms構成ファイル

app.cfg

このファイルの内容は、デプロイ時にFADSによってformsweb.cfgに追加されます。

  • 複数のアプリケーション・セクションをこのファイルに定義できます。

  • "default"という名前のアプリケーション・セクションを含めるたり、Formsアプリケーションにdefaultと名前を付けることはいずれもできません。

  • app.cfgを指定しないと、アプリケーション名に基づいて空のアプリケーション・セクションがformsweb.cfgに作成されます。

  • userIdパラメータがこのファイルに追加されている場合、無視されます。

formsweb.cfg

app.env

このファイルの内容は、デプロイ時にFADSによって新しいenvファイルに追加されます。

  • app.envを指定しないと、FADSにより、必須の環境変数がすべて指定されたForms環境構成ファイルが作成されます。

<appname>.env

app_jvmcontrollers.cfg

このファイルの内容は、デプロイ時にFADSによってjvmcontrollers.cfgに追加されます。

jvmcontrollers.cfg

app_registry.dat

このファイルの内容は、Registry.datに追加されます

Registry.dat

FARファイルの内容の理解

この項では、FARファイルの内容について説明します。

表-7に、Formsアプリケーション・パッケージャによって生成されるFARファイルの内容を示します:

表-7 FARファイルの内容

名前 説明

Forms_application.xml

パッケージ化されたFormsアプリケーションに関連するメタデータがすべて含まれるFADSデプロイメント・ディスクリプタです。

fmbディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリのForms (fmb)ファイルがすべて含まれます。

mmbディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリのMenus (mmb)ファイルがすべて含まれます。

pllディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリのPLSQLライブラリ(pll)ファイルがすべて含まれます。

olbディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリのオブジェクト・ライブラリ(olb)ファイルがすべて含まれます。

sqlディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリのSQLファイルがすべて含まれます。

user_exitsディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリのユーザー・イグジット・ライブラリ(.soおよびWindowsプラットフォームの場合は.dll)ファイルがすべて含まれます。

client_jarsディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリの次のアーティファクトが含まれます。

  • JARファイル(*.jar)

  • HTMLファイル(*.htm、*.html)

  • JavaScriptファイル(*.js)

  • イメージ・ファイルとアイコン・ファイル(*.jpeg、*.jpg、*.gif、*.png)

  • JNLPファイル(*.jnlp)

java_importerディレクトリ

FormsアプリケーションにJava Importer関連のJARファイルがある場合、java_importerという名前のディレクトリに入れ、Formsアプリケーション・アーティファクト・ディレクトリ下のトップレベル・ディレクトリに入れる必要があります。

misc_filesディレクトリ

Formsアプリケーション・アーティファクト・ディレクトリのMicrosoft Word (*.doc, *.docx)ファイル、Portable Document Format (*.pdf)ファイルおよびテキスト(*.txt)ファイルがすべて含まれます。

webutil 32ビット・ファイル・ディレクトリ

すべての32ビットwebutilファイルが含まれています。

最上位のwebutilディレクトリには、すべての32ビットwebutillファイルを格納するwin32サブディレクトリがあります。次に例を示します。

webutil/win32/*.dll

webutil 64ビット・ファイル・ディレクトリ

すべての64ビットwebutilファイルが含まれています。

最上位のwebutilディレクトリには、すべての64ビットwebutillファイルを格納するwin64サブディレクトリがあります。次に例を示します。

webutil/win64/*.dll

ノート:

preserve_dir引数を渡した場合、表-7に示したディレクトリはいずれも作成されません。アーティファクト・ディレクトリ内のサブディレクトリと同様のサブディレクトリがFARファイルに作成されます。

アプリケーション・パッケージのデプロイメント

アプリケーション・パッケージを作成した後、FADSを使用してデプロイできます。

Webインタフェースの使用

FADS Webインタフェースを使用すると、アプリケーションを迅速にデプロイできます。

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

UIの理解

FADS Webインタフェースには、「ダッシュボード」タブと「アーカイブ」タブがあります。ドロップダウン・メニューを使用して、構成オプションにアクセスすることもできます。

「ダッシュボード」タブ

FADS Webインタフェースの「ダッシュボード」タブは、最初のログオン時に表示されます。名前が示すとおり、このタブを使用してアプリケーションをデプロイすると、デプロイメントの進行状況およびステータスを表示できます。fads_dashboard-png.pngの説明が続きます
図fads_dashboard-png.pngの説明

「アーカイブ」タブ

「アーカイブ」タブには、以前にデプロイされたすべてのアプリケーションがリストされます。アーカイブ名、アプリケーション名とバージョンおよび日付を確認できます。リストで特定のアプリケーションを検索するには、「検索」フィールドを使用します。リスト内の選択したアプリケーションについて、詳細の表示、デプロイ、デプロイの停止、削除またはダウンロードを実行できます。fads_archives.pngの説明が続きます
図fads_archives.pngの説明

「<username>」ドロップダウン・メニュー

「<username>」(weblogicなど)ドロップダウン・メニューには複数のオプションがあります。これらのオプションを使用すると、サービス構成の表示、ツールのダウンロード、ログの表示、およびページ・リフレッシュ間隔の指定を行うことができます。

fads_config.pngの説明が続きます
図fads_config.pngの説明

FADS関連の構成設定がリストされた「サービス構成」ページを表示するには、「サービス構成」オプションをクリックします。このページには、事前移入された「環境」、「設定」および「ルール」セクションが含まれます。fads_serv_config.pngの説明が続きます
図fads_serv_config.pngの説明

アプリケーション・パッケージのデプロイ

Formsアプリケーション・パッケージャで作成したアプリケーション・パッケージをデプロイするには、FADS Webインタフェースの「ダッシュボード」タブを使用します。

  1. FADS Webインタフェースにアクセスします。
  2. 「ダッシュボード」タブの「デプロイ」セクションに移動します。
  3. 「WLSサーバー」リストからサーバーを選択します。
  4. このFormsアプリケーションの生成に必要なデータベース・ユーザー資格証明を指定します。
  5. このFormsアプリケーションの生成に必要なデータベース名を入力します。
  6. アプリケーション・パッケージ(.far)ファイルを参照して選択し、「デプロイ」をクリックします。
    「コンテンツ」セクションが更新され、選択したアプリケーション・パッケージに含まれるファイルが表示されます。「アプリケーション」セクションには、デプロイメント・ステータスが表示されます。
  7. FARファイルのデプロイメント中に発生する可能性がある障害、またはFADSデプロイメント・サービスで発生したエラーの詳細は、FADSサービスの診断ログを参照してください。
    FADS診断ログにアクセスするには、ページの右上の現在のユーザー名の横にあるドロップダウン矢印をクリックし、「最新のサービス・ログ」をクリックします。
コマンドライン・インタフェースの使い方

FADSコマンドライン・インタフェースを使用して、複数のアプリケーションをデプロイし、アプリケーションのデプロイメントをスケジュールします。

FADSコマンドライン・インタフェースは、次のようなデプロイが必要な場合に効率的です。
  • 同時に複数のアプリケーションをデプロイする
  • 同時に複数の既存アプリケーションの更新をデプロイする
  • 選択したアプリケーションの夜間または定期的なスケジュール更新をデプロイする
FADS CLIには複数のオプションがあり、アプリケーションのデプロイおよび管理に役立ちます。

表-8 FADSCLIのオプションのリスト

オプション 説明

listApps

Forms Application Deployment Servicesを介してFMWドメインにデプロイされたFormsアプリケーションをすべて表示します。

listArchives

Forms Application Deployment Servicesのアーカイブ・リポジトリにあるFormsアプリケーション・アーカイブ(far)ファイルをすべて表示します。

deployApp

指定のFormsアプリケーション・アーカイブ(far)ファイルをFMWドメインで実行されているForms Application Deployment Servicesにデプロイします。

deployApps

これはバッチ・モードのデプロイメントで、指定のアーカイブ・ディレクトリ内のFormsアプリケーション・アーカイブ(far)ファイルをすべて、FMWドメインで実行されているForms Application Deployment Servicesにデプロイします。

deployArchive

アーカイブ・リポジトリにあるFormsアプリケーション・アーカイブ・ファイルをFMWドメインで実行されているForms Application Deployment Servicesにデプロイします。

undeployApp

Forms Application Deployment Servicesに現在デプロイされているFormsアプリケーションをアンデプロイまたは削除します。

describeApp

Forms Application Deployment Servicesに現在デプロイされているFormsアプリケーションの内容の説明を示します。

deleteArchive

アーカイブ・リポジトリにあるFormsアプリケーション・アーカイブ・ファイルをデプロイします

downloadLog

Forms Application Deployment ServicesにデプロイされているFormsアプリケーションのデプロイメント・ログをダウンロードします。

downloadArchive

アーカイブ・リポジトリにあるFormsアプリケーション・アーカイブ・ファイルを削除します。

これらのオプションの詳細は、「FADSCLIオプション」を参照してください。

FADSCLIのオプション

この項では、FADSCLIで使用できるオプションを説明します。

ヘルプ

次のスクリプトは、FADSCLIのヘルプを示しています。


sh-4.1$ ./fadscli.sh
fadscli Help : 
------------------------------------------------------------------------------------------------------------------------------
         options          |                description                                                                        
------------------------------------------------------------------------------------------------------------------------------
         listApps         |   displays all the applications deployed to the FMW domain                                        
         listArchives     |   displays all the far files that reside in the archives repository                               
         deployApp        |   deploys the far file to the FMW domain                                                          
         deployApps       |   deploys all the far files in the local archives directory (archivedir) to the FMW domain        
         deployArchive    |   deploys the far file (archivename) from the archive repository to the FMW domain                
         undeployApp      |   undeploys/deletes the Forms application from the FMW domain                                     
         describeApp      |   describes the contents of an application that is deployed on the FMW domain                     
         deleteArchive    |   deletes the archive from the archive repository                                                 
         downloadLog      |   gets the deployment logs of an application that is deployed to the FMW domain                   
         downloadArchive  |   downloads an archive from the archive repository                                                


Usage : 
     fadscli.sh option hostname=hostname portno=portno username=username password=password

-----------------------------o-p-t-i-o-n-s-----a-r-g-u-m-e-n-t-s--------------------------------------------------------------

     fadscli.sh listApps hostname=<hostname> portno=<portno> username=<username> password=<password>
     fadscli.sh listArchives hostname=<hostname> portno=<portno> username=<username> password=<password>
     fadscli.sh deployApp hostname=<hostname> portno=<portno> username=<username> password=<password> farfile=<path to the far file> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>
     fadscli.sh deployApps hostname=<hostname> portno=<portno> username=<username> password=<password> archivedir=<path to the directory containing far files> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>
     fadscli.sh deployArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>
     fadscli.sh undeployApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>
     fadscli.sh describeApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>
     fadscli.sh deleteArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>
     fadscli.sh downloadLog hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>
     fadscli.sh downloadArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>

 optional argument: pass argument ssl=true when running HTTPS/SSL
------------------------------------------------------------------------------------------------------------------------------
sh-4.1$ 

listApps


sh-4.1$ ./fadscli.sh help listApps

listApps : displays all the applications deployed to the FMW domain 

usage:

     fadscli.sh listApps hostname=<hostname> portno=<portno> username=<username> password=<password>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password

listArchives


sh-4.1$ ./fadscli.sh help listArchives

listArchives : displays all the far files that reside in the archives repository  

usage:

     fadscli.sh listArchives hostname=<hostname> portno=<portno> username=<username> password=<password>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password

deployApp


sh-4.1$ ./fadscli.sh help deployApp

deployApp : deploys the far file to the FMW domain  

usage:

     fadscli.sh deployApp hostname=<hostname> portno=<portno> username=<username> password=<password> farfile=<path to the far file> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
farfile       : path of the far file that is to be deployed
dbuser        : Forms application database username
dbpassword    : Forms application database password
dbalias       : Forms application database alias
managedserver : Forms Managed Servers where the Forms application should be deployed

deployApps


sh-4.1$ ./fadscli.sh help deployApps

deployApps : deploys all the far files in the local archives directory (archivedir) to the FMW domain

usage:

     fadscli.sh deployApps hostname=<hostname> portno=<portno> username=<username> password=<password> archivedir=<path to the directory containing far files> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivedir    : local directory path containing the far files
dbuser        : Forms application database username
dbpassword    : Forms application database password
dbalias       : Forms application database alias
managedserver : Forms Managed Servers where the Forms application should be deployed

deployArchive


sh-4.1$ ./fadscli.sh help deployArchive

deployArchive : deploys the far file (archivename) from the archive repository to the FMW domain  

usage:

     fadscli.sh deployArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivename   : Name of the archive in archive repository
appname       : Forms application name
appversion    : Forms application version 
dbuser        : Forms application database username
dbpassword    : Forms application database password
dbalias       : Forms application database alias
managedserver : Forms Managed Servers where the Forms application should be deployed

undeployApp


sh-4.1$ ./fadscli.sh help undeployApp

undeployApp : undeploys/deletes the Forms application from the FMW domain   

usage:

     fadscli.sh undeployApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
appname       : Forms application name
appversion    : Forms application version 

describeApp


sh-4.1$ ./fadscli.sh help describeApp

describeApp : describes the contents of an application that is deployed on the FMW domain  

usage:

     fadscli.sh describeApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
appname       : Forms application name
appversion    : Forms application version 

deleteArchive


sh-4.1$ ./fadscli.sh help deleteArchive

deleteArchive : deletes the archive from the archive repository  

usage:

     fadscli.sh deleteArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivename   : Name of the archive in archive repository
appname       : Forms application name
appversion    : Forms application version 

downloadLog


sh-4.1$ ./fadscli.sh help downloadLog

downloadLog : gets the deployment logs of an application that is deployed to the FMW domain  

usage:

     fadscli.sh downloadLog hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
appname       : Forms application name
appversion    : Forms application version 

downloadArchive


sh-4.1$ ./fadscli.sh help downloadArchive

downloadArchive : downloads an archive from the archive repository 

usage:

     fadscli.sh downloadArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivename   : Name of the archive in archive repository
appname       : Forms application name
appversion    : Forms application version