Developer Tools
Application Express
Oracle Application Expressのインストールに際しては、アーキテクチャおよび管理の面で理解しておくべき重要事項がいくつかあります。
Oracle Application ExpressはOracle Databaseの無償オプションであり、Oracle Databaseの保守契約の一部として完全にサポートされます。 Oracle Database 10.2.0.4以上のいずれのエディションにもインストールでき、これにはEnterprise Edition、Standard Edition 2、およびExpress Edition(XE)が含まれます。 Oracle Database 11g Release 1からは、標準のOracle Databaseの一部としてOracle Application Expressがインストールされるようになりました。 Oracle Application ExpressはOracle Technology Network(OTN)で入手できる最新バージョンにアップグレードすることを強く推奨します。 他のリレーショナル・データベースにOracle Application Expressをインストールすることはできません。
Oracle Real Application Clusters(Oracle RAC)環境にはOracle Application Expressをインストールできます。 Oracle Application ExpressをOracle RAC環境にインストールする場合は、Oracle Application ExpressとOracle RACに関するホワイト・ペーパーを参照してください。また、スクリプト・ファイルapxpart.sqlの実行も必要です。このファイルは、インストール・ファイルの一部としてutilitiesディレクトリの下に配置されます。
Oracle Application Expressをインストールすると、独立したスキーマ(APEX 4.2の場合はAPEX_040200)が作成され、Oracle Application Expressのエンジンおよび関連するメタデータ表を構成するプログラムが格納されます。 管理および監視をしやすくするために、Oracle Application ExpressエンジンとOracle Application Expressファイルに専用の表領域を作成することを推奨しています。たとえば、表領域APEX_TS_040200にはOracle Application Expressエンジンを含め、APEX_TS_FILESにはOracle Application Expressファイルを含める、などとします。ただし、名前は任意です。 そうすると、最初のインストール手順は、Oracle Application Expressインストール・ガイド(Oracle Technology Networkからダウンロード)の記載のとおり、
@apexins APEX_TS_040200 APEX_TS_FILES TEMP /i/となります。
ベスト・プラクティスに従い、Oracle Application Expressのインストール先は、アプリケーションで使用するデータベース・オブジェクトが保持されるデータベースにします。 Oracleデータベース・リンクを使用してアプリケーションとWebサービスを統合することもできます。

Oracle Application Expressでは、Oracle Databaseに格納されているメタデータを使用して動的にページを生成する単純なアーキテクチャを使用します。 コードが生成されることも、ファイルベースのコンパイルが実行されることもありません。 いったんフル・インストールすると、Oracle Application ExpressにアクセスするためのUniform Resource Locator(URL)が開発者とエンドユーザーの双方に定義されます。 ユーザーに必要なのは、Webブラウザと指定されたURLのみです。 その他のクライアント・ソフトウェアは必要ありません。
Webリスナーは、ブラウザ・リクエストをデータベースのストアド・プロシージャ・コールにマッピングすることで、Oracleデータベース内のOracle Application ExpressオブジェクトとWebブラウザとの間の通信ブローカとして機能します。 Webリスナーには3つの選択肢があります。
Webリスナーの選択肢は次のとおりです。
Oracle REST Data Services(旧称Oracle APEXリスナー) - Oracle REST Data ServicesはJavaベースで、J2EEに準拠した任意のWebサーバーにインストールできます。Oracle Application Expressでの使用にはこの選択肢を推奨します。 Oracle REST Data Servicesは、Oracle WebLogic Server、Oracle Glassfish Server、およびApache Tomcatに完全対応した無償ツールです。 Oracle REST Data ServicesはOracle Database Cloud Serviceの運用に使用されるリファレンス・アーキテクチャの一部です。
注:Oracle WebLogic ServerとOracle Glassfish Enterprise Editionにはライセンス・コストがかかります。 Oracle Glassfish Community Editionは無償オプションです。
埋込みPL/SQLゲートウェイ - 埋込みPL/SQLゲートウェイ(EPG)はOracleデータベース内のOracle XML DB Protocal Serverで動作するもので、mod_plsqlのコア機能が含まれています。
埋込みPL/SQLゲートウェイのライセンスはOracle Databaseのライセンスに含まれます。 Oracle HTTP Server - Oracle HTTP Server(Apache)とmod_plsqlプラグインの組合せは、データベースと同じ物理マシン、または別の物理マシンに配置できます。
注:データベースと同じ物理マシンにインストールした場合は、Oracle Databaseライセンスに付属の使用制限付きライセンスの一部としてOracle HTTP Serverが含まれます。別のマシンにインストールする場合は、Oracle HTTP Serverのライセンスが必要です。
警告:mod_plsqlは、Oracle HTTP Server 12c(12.1.3)で非推奨となっています。詳しくは、My Oracle Support Note 1576588.1を参照してください。代わりに、Oracle REST Data Servicesを使用することを推奨しています。
| 機能 | Oracle REST Data Services | 埋込みPL/SQLゲートウェイ | Oracle HTTP Server |
|---|---|---|---|
| イメージの格納場所 | ファイル・システム | データベース内 | ファイル・システム |
| 構成オプション | GUIインタフェース(Release 2.0以上)、Administrationページ | データベース初期化パラメータ | データベース・アクセス記述子(DAD) |
| 接続プールの設定 | JDBC接続パラメータ | SHARED_SERVERS、MAX_SHARED_SERVERS | Min/MaxSpareServers、MaxClients |
| RESTful Webサービスの提供 | あり(Release 2.0以上) | なし | なし |
| 複数データベースのサポート | あり、Oracle RACを含む | なし | あり、Oracle RACを含む |
| ウイルス・スキャン・ファイル | あり、ICAPサーバーとの統合による | なし | なし |
| PDF印刷 | あり、FOPのサポートを含む(Release 2.0以上) | なし | なし |
| 推奨環境 | すべて | 開発専用 | すべて |
Oracle Application Expressをインストールすると、単一のデータベースで膨大な数のアプリケーションとユーザーをホスティングできます。 開発者はワークスペースと呼ばれる専用の作業領域にログインして、1つ以上のスキーマに対してアプリケーションを開発します。 このようにアーキテクチャが柔軟であるため、1つのデータベース・インスタンスを"Platform as a Service"(PaaS)として動作させ、組織内のホスティングされたイントラネット機能、またはホスティングされたインターネット・サービスを提供できます。 一般的には、組織内の部門別にワークスペースを定義し、各部門が独自のデータベース・オブジェクトやアプリケーションを個別に開発できるようにします。

Oracle Application Express環境にアクセスする各ユーザーに、異なるロール、レスポンシビリティおよび権限を付与できます。
次に示すのは、Oracle Application Expressに関連付けられているおもな4つのロールです。
インスタンス管理者 - ワークスペースのプロビジョニング、機能の構成、セキュリティ、インスタンス設定など、インスタンスの構成と監視を担当します。
ワークスペース管理者 - ワークスペース内の開発者のリクエスト、監視、および保守を担当します。通常は、開発者のレスポンシビリティも持ちます。
開発者 - アプリケーションを開発します。オブジェクトがまだ用意できていない場合は、必要なデータベース・オブジェクトも開発します。
エンドユーザー - Oracle Application Expressのユーザー認証スキームを使用するアプリケーションに定義されたユーザー。
通常は、データベース管理者およびシステム・アーキテクトと連携する数人のインスタンス管理者を定義するだけで、Oracle Application Express環境を正しく構成および管理できます。 各ワークスペースには、1人以上のワークスペース管理者と任意の数の開発者が存在する必要があります。 ワークスペース管理者は開発者の資格証明の保守を担当します。 アプリケーション・ビルダー内にエンドユーザーを定義する必要があるのは、Oracle Application Expressのユーザー認証スキームをアプリケーションで使用する場合のみです。 アプリケーションがパブリックであり認証が不要な場合、または他の認証スキーム(SSO、LDAP、カスタム認証など)をアプリケーションで使用する場合は、エンドユーザーを定義する必要はありません。
どのようなソフトウェアの開発ライフサイクルにおいてもそうですが、開発用、テスト/QA用、および本番用に異なる環境を準備するよう強く推奨します。 ベスト・プラクティスに従い、テスト環境および本番環境には"Runtime Only"のOracle Application Expressをインストールします。 そうすると、アプリケーション・ビルダーおよびSQLワークショップのコンポーネントがテスト環境および本番環境から削除されるため、あらゆる変更を開発環境で直接行わざるを得なくなります。 開発者は、すべてのアプリケーションと関連ファイルをソース管理システムにチェックインし、データベース管理者(DBA)に依頼してソース管理システムからテスト環境や本番環境へスクリプトを直接チェックアウトして実行してもらう必要があります。
Oracle Application Expressをインストールすると、次の4つのデータベース・ジョブが作成されます。 Oracle Application Expressを正しく運用するには、これらのジョブを定期的に実行する必要があります。
インストールされるデータベース・ジョブは次のとおりです。
ORACLE_APEX_DAILY_MAINTENANCE - 毎日、システム時刻0100(午前1時)に実行。アクティビティ・ログをアーカイブし、ワークスペースを消去し、期限が切れたファイルを削除します。
ORACLE_APEX_PURGE_SESSIONS - 1時間ごとに実行。12時間を超えたセッションのセッション情報をAPEX表から削除します。
ORACLE_APEX_MAIL_QUEUE - 5分ごとに実行。電子メール・キューにあるメッセージを送信します。
ORACLE_APEX_WS_NOTIFICATIONS - 30分ごとに実行。Webシート通知を送信します。
Oracleの標準のバックアップ/リカバリ・テクニックを使用して、ワークスペース・スキーマおよびAPEXエンジン(APEX 4.2の場合はAPEX_040200)をバックアップする必要があります。 ただし、Oracle Application Expressエンジンをリストアすると、すべてのワークスペースに存在するすべてのアプリケーションのメタデータがリストアされるため、バックアップ以降に行ったアプリケーションの更新はすべて上書きされます。 特定のアプリケーションをバックアップからリストアする必要がある場合は、APEXエンジン・スキーマを別のOracle Databaseにリストアし、このインストールからアプリケーションをエクスポートすることを推奨します。 Oracle Databaseのフラッシュバック機能を使用すると、"ある時点"のアプリケーションをエクスポートできるので、開発者は、少し前の期間からエクスポートを作成できる可能性があります。ただし、フラッシュバックでは、データベースのパラメータ設定に応じた一定量の時間のみ延長できます。 開発者は、コードを完成させてソース管理システムにチェックインするまで、アプリケーションと他のファイルの両方について、独自のバックアップを定期的に実行する必要があります。