この章ではOracle Formsについて説明します。Oracle Formsの開発およびデプロイメント環境の概要を説明し、Oracle Fusion Middlewareの関連するコンポーネントの詳しい情報を記述したリファレンスを提供します。
この章には、次の項が含まれています。
Oracle FormsはOracle Fusion Middlewareのコンポーネントです。Formsアプリケーションを開発およびデプロイするには、Oracle Formsが使用されます。Formsアプリケーションは、効率的かつ密接に連結してOracle Databaseにアクセスするためのユーザー・インタフェースを提供します。JavaとWebのサービスにアプリケーションを統合して、サービス指向アーキテクチャ(SOA)を活用できます。
Oracle Formsは、次の内容で構成されています。
Oracle Forms Developer: Formsアプリケーションの開発とコンパイルに使用します。
Oracle Forms Services: アプリケーションの配布に使用するサーバー・コンポーネントです。
Oracleデータベースにアクセスしてデータを提供できるフォームを開発するには、Oracle Forms Developerが使用されます。アプリケーションの迅速な開発を実現するウィザードとユーティリティが用意されています。ソース形式(*.fmb)を作成し、実行可能ファイル(*.fmx)にコンパイルします。Formsアプリケーションは、Formsランタイム・プロセスで実行(解釈)されます。
Oracle Forms Developerの詳細は次のドキュメントを参照してください。
Oracle Forms Builderのオンライン・ヘルプ: Oracle Forms Builderで利用できます。Oracle Forms Developerを使用してFormsアプリケーションを開発、コンパイルする方法に関する情報が得られます。
Oracle Forms 6iからOracle Forms 12cへのアップグレード: Oracle Forms Developerの非推奨となった機能と、Formsアプリケーションのアップグレード手順について説明しています。
Oracle Forms Servicesは、Formsアプリケーションを複数層環境に配布するために最適化された包括的なアプリケーション・フレームワークです。Webの使用やアクセスが簡単なことを利用し、Webに単なる静的な情報公開メカニズムを超えた、複雑で動的なアプリケーションをサポートできる環境としての機能を与えます。
Oracle Forms Developerで設計、開発したFormsアプリケーションは、Oracle Fusion Middlewareに配布されます。これらのアプリケーションは中間層で動作します(図1-2を参照)。ユーザー・インタフェースは、クライアントのブラウザで表示するJavaアプレットとしてクライアント層に置かれます。
このガイドでは、構成ファイルと、Formsアプリケーションのデプロイメントをカスタマイズするために使用できる環境変数について説明します。また、パフォーマンス、ロギング、および配布の監視についても取り上げます。Oracle Fusion Middleware Controlを使用して、構成ファイルと環境変数の管理およびデプロイメントの監視が可能です。
ユーザーがアプリケーションのURLへのリンクをクリックすることで最初にOracle Formsアプリケーションを起動すると、FormsサーブレットがベースHTMLファイルを読み取ります。ベースHTMLファイル内の変数(%variablename%)は、formsweb.cfg
ファイルに指定された適切なパラメータ値によって置換され、URLリクエストがある場合はその問合せパラメータの値によって置換されます。
要件に応じて、Oracle Fusion Middleware Controlで構成ファイルを簡単に変更できます。また、Fusion Middleware Controlが含まれないOracle Formsインストール内の構成ファイルを手動で更新することもできます。第1.6項「Oracle Forms Servicesのアーキテクチャ」では、一般的なFormsアプリケーションの配布および実行に関連するプロセスについて説明します。
Oracle Databaseは、RDBMSの最新バージョンです。Oracle Real Application Clustersの無限のスケーラビリティと業界随一の信頼性、スタンバイ・データベース・テクノロジの利点を採り入れた新しい高可用性テクノロジ(Oracle Data Guard)、ビルトインOLAP、データ・マイニング機能、抽出、変換およびロード(ETL)機能など数多くの最新機能が盛り込まれています。
Oracle Databaseの詳細は、https://docs.oracle.com/en/database/database.html
を参照してください。
Oracle WebLogic Server 12cは、稼働コストの低減、パフォーマンスの向上およびOracleアプリケーション群のサポートのための新しい機能の支援によってエンタープライズJava EEアプリケーションを構築およびデプロイするためのアプリケーション・サーバーです。
作成するのがステージング環境、本番環境またはテスト環境のいずれであっても、最初にWebLogicドメインを作成します。WebLogicドメインには、WebLogic Serverのインスタンスが含まれ、その1つが管理サーバーとして構成されます。管理サーバーは、ドメインの構成データを保持します。管理サーバーにアプリケーションをデプロイできますが、管理対象サーバーを作成して、管理対象サーバーにアプリケーションをデプロイすることをお薦めします。Oracle WebLogic Serverの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの紹介』を参照してください。
構成の作業では、Oracle Formsの管理対象サーバーが作成されます(WLS_FORMS)。WLS_FORMSの詳細は、第5.1項「Oracle WebLogic管理対象サーバーおよびHTTP Serverについて」を参照してください。
Oracle Fusion Middlewareは、Webサーバー、アプリケーション・サーバー、コンテンツ管理システムで構成されるほか、ソフトウェア・アプリケーションの開発、配布および管理を全面的にサポートする各種開発者向けツールを備えています。コンポーネントとしてOracle Forms Services、Oracle WebLogic ServerおよびOracle Fusion Middleware Controlがあり、ともにインターネット・コンピューティングの利点を最大限に実現するテクノロジを提供します。
Oracle Formsは、Oracle Fusion Middleware Controlを使用して管理および監視できます。
Oracle Fusion Middlewareの総合的な概要、コンポーネントのリストおよび概念的な情報は、次のマニュアルを参照してください。
Oracle Fusion Middlewareの理解
Oracle Fusion Middleware管理者ガイド
インストーラでは、これらの製品をすべて構成できるほか、そのうちのいくつかを選択して構成することもできます。Oracle Formsのインストールの詳細は、次のガイドを参照してください。
Oracle Fusion Middlewareインストレーション・プランニング・ガイド
アップグレードの詳細は、次のドキュメントを参照してください。
Oracle Fusion Middlewareアップグレード・プランニング・ガイド
変更された機能または非推奨となった機能については、Oracle Forms Oracle Forms 6iからOracle Forms 12cへのアップグレード・ガイドを参照してください。
図1-1に、Forms Servicesを構成する3層アーキテクチャを示します。
イメージの上位にあるクライアント層には、次の2つの構成の1つが含まれる場合があります。
アプリケーションが表示されるかアプリケーションの起動元であるWebブラウザ、Java Development Kit (JDK)およびJava Plug-In (JPI)。
Formsスタンドアロン・ランチャ(FSAL)およびJava Runtime EnvironmentまたはJava Development Kit (JDK)。
図の中央に示されている中間層は、アプリケーション・ロジックとサーバー・ソフトウェアが格納されるアプリケーション・サーバーです。
Oracle Forms Servicesは、複雑なトランザクション型のFormsアプリケーションをイントラネットやインターネットなどのネットワーク上に配布する、中間層のアプリケーション・フレームワークです。開発者は、Forms Developerを使用してFormsアプリケーションを作成し、Forms Servicesを使用して作成したアプリケーションを配布します。また、開発者は従来のクライアント/サーバー型アプリケーションを、3層のアーキテクチャに移行することもできます。3層アーキテクチャへの移行では、アプリケーション・コードの小規模な変更が必要になることもあります。
図1-2に示すとおり、フォームを実行するための3層構成は次の内容で構成されています。
図の最上部に示されているクライアントは、クライアント層に常駐します。
Formsリスナー・サーブレットは、JavaクライアントとFormsランタイム・プロセス間でブローカとしての役割を果たします。これは、Javaクライアント・プロセスから接続リクエストを受け取ると、Javaクライアント・プロセスにかわってFormsランタイム・プロセスを開始します。
図1-3は、クライアントがHTTPリクエストを送信し、Forms ServicesからHTTPレスポンスを受信する仕組みを示しています。Oracle Forms ServicesはFormsリスナー・サーブレットを使用して、Formsランタイム・プロセスの開始と終了、Formsランタイム・プロセスとの通信を行います。この図では、クライアントは左側に示されています。図の中央に示されているHTTPリスナーは、クライアントのネットワーク・エンドポイントとしての役割を果たし、他のサーバー・マシンやポートがファイアウォールで公開されないようにします。
図の右側に示されているFormsランタイム・プロセスは、特定のFormsアプリケーションに含まれているコードを実行します。Formsリスナー・サーブレットは、クライアントごとにFormsランタイム・プロセスの生成を管理し、クライアントとそれに対応するFormsランタイム・プロセス間のネットワーク通信を管理します。
注意: Formsリスナー・サーブレットは、Oracle Fusion Middlewareのインストール・プロセスで構成されます。 |
Formsランタイム・プロセスは次の2つの役割を果たします。クライアント・ブラウザと通信する場合は、クライアント・ブラウザからのリクエストを処理するサーバーとしての役割を果たし、メタデータをクライアントに送信してユーザー・インタフェースを伝えます。データベース・サーバーと通信する場合は、リクエストされたデータをデータベースに問い合せるクライアントとしての役割を果たします。
アプリケーション・サーバーには、Oracle Formsセッションごとに1つのOracle Formsランタイム・プロセスが存在します。Oracle Formsは実際にはこのプロセスで実行され、アプリケーション・ロジックと処理はこのプロセスにより管理されます。また、これは、データベース接続の管理、データの問合せと更新、フォーム内の任意のPL/SQLの実行、トリガーの実行なども行います。クライアント/サーバー・モードで実行するのに使用されたのと同じフォーム、メニューおよびライブラリ・ファイルを使用します。
Formsランタイム・プロセスには、アプリケーションでJavaを実行するためのJava仮想マシン(JVM)も含まれています。最適化のために、このJVMはFormsアプリケーションでJava Importerが使用される場合に起動します。10gでJVMプーリング機能を使用するのはJava Importerのみです。12cでは、Formsランタイム・プロセスがReportsをコールするときに別のJVMを作成することはなくなりました。かわりに、フォームにJVMコントローラを構成しておくと、そのフォームはReportsをコールするときに共有JVMを使用できます。これにより、メモリー消費を削減できるので、サーバーではより多くのリソースを解放できます。JVMの使用とプーリングの管理の詳細は、第10章「Java仮想マシンの構成と管理」を参照してください。