ソース・コード制御

アプリケーションのエクスポート

Oracle Application Expressのエクスポートでは、Oracle Application Expressのバージョンに互換性があるときにOracle Application Expressインスタンスにインポート可能なSQLスクリプト・ファイルが作成されます。アプリケーションは、Oracle Application Expressアプリケーション・ビルダー、SQL Developer (Oracle Application Expressスキーマ所有者に接続されている場合)またはコマンドラインから直接エクスポートできます。

開発者がアプリケーションの開発を完了した場合、開発したアプリケーションをエクスポートし、ソース・コード制御システムに保存することをお薦めします。このエクスポート・ファイルは、他のすべての環境(テスト、本番など)に組み込むために使用する必要があります

アプリケーションのエクスポートの自動化

Oracle Application Expressインストールには、Application ExpressのWebインタフェースからの手動エクスポートを必要としない、コマンドラインからのアプリケーションのエクスポートに使用可能なAPEXExportプログラムを含むユーティリティ・フォルダが含まれます。使用可能なプログラムは2つあります。1つはアプリケーション全体をエクスポートし、もう1つはアプリケーション・コンポーネントを別々のSQLスクリプトに分割します。

障害回復計画の一部としてこれらのコマンドライン・プログラムを使用してOracle Application Expressアプリケーションを自動的にバックアップすることをお薦めします。すべてのApplication Expressアプリケーションを自動でエクスポートする毎日のデータベース・ジョブの実装により、リカバリ・プロセスの実装が容易になります。

アプリケーションの分割

Application Expressアプリケーションには、単一ファイルのデプロイを提供するオプションのインストール・スクリプトを含めることができます。スプリッタは多くのファイルを生成し、たとえば、各ページはそれぞれのSQLスクリプト・ファイルになります。スプリッタは、分割ファイルをコールする制御ファイルも生成します。SVNなどのソース・コード制御システムと組み合せた場合、これによって、詳細にOracle Application Expressアプリケーションの変更制御を管理する機能が提供されます。

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

Oracle Application Expressで開発されたアプリケーションは、Oracle Database内のOracle Application Expressリポジトリのメタデータとして保存されます。ただし、アプリケーションは表やビューなどの様々なデータベース・オブジェクトに基づいており、パッケージ、ファンクションおよびプロシージャなどの他のデータベース・オブジェクトを起動する場合があります。また、アプリケーションを実行する前に様々なデータベース・レコードを挿入、更新または削除する必要がある場合があります。これらのDDLおよびDMLの変更はすべて、Oracle Application Expressアプリケーションをインポートする前にSQLスクリプトに記述され、ターゲット環境内で実行されます。Oracle Application Expressのサポートするオブジェクトを利用することで、これらのSQLスクリプト・ファイルをアップロードしてアプリケーション・エクスポートに含め、パッケージ・アプリケーションを作成することができます。これにより、前提条件のスクリプトは必ず正確に実行されます。

静的ファイルをパッケージ・アプリケーションに組み込み、1つのファイルだけがデプロイされる必要があるよう、インストールを簡略化することもできます。

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

アプリケーションのパッケージ化によりアプリケーションのインストールまたは更新に必要なすべてのコンポーネントのインストールが結合されます。これには、表などのデータベース・オブジェクト、データベース・データ、Oracle Application Expressアプリケーション自体、およびイメージ、CSS、JavaScriptなどのすべてのサポート・ファイルが含まれます。

アプリケーションのインストール

アプリケーションを単一のファイルにパッケージ化したら、インポート機能を使用してOracle Application Expressにアプリケーションをアップロードすることでインストールします。インポートによってウィザードが開始し、このウィザードでファイルが解析され、定義済のインストール前チェックが実行され、指定したインストール・スクリプトまたはアップグレード・スクリプトが実行されてから、アプリケーションがインストールされます。Oracle Application Expressアプリケーション定義がインストールされると、サポートするオブジェクトもインストールできます。

デバッグ

コード・インスツルメンテーション

Oracle Application Express PL/SQLコードおよびAPEX_DEBUG_MESSAGEパッケージを使用したPL/SQLプロシージャおよびファンクション内のコードをインスツルメント化できます。デバッグは、選択して有効にすることができ、最大7つの異なるレベルで有効にすることができます。次に例を示します:

begin
   apex_debug_message.log_message('I AM HERE');
end;

デバッグは、開発者のツールバーで「デバッグ」リンクをクリックして有効にできます。また、APEX_DEBUG_MESSAGEパッケージを使用し、選択して有効にすることができます。たとえば、MIKEという名前のユーザーに対してレベル3でデバッグを有効にする場合、アプリケーションまたはページ・レベルでのヘッダーの処理の前に次のOracle Application Express APIコールを発行します。

begin
   if :APP_USER = 'MIKE' then
      apex_debug_message.enable_debug_messages(3);
   end if;
end;
組込みデバッグ

開発者のツールバー、URL、プログラム、APEX_DEBUG_MESSAGEパッケージを使用してデバッグを有効にすると、標準のOracle Application Expressデバッグ・メッセージを有効にできます。これらのメッセージには、パフォーマンスおよびロジック・エラーを特定できるよう、多数のページ処理イベントが示され、詳細なタイミングが表示されます。

デバッグ出力の表示

開発者は、開発者のツールバーで「デバッグの表示」リンクをクリックしてデバッグ出力を表示できます。デバッグ出力は、タイミング・データを1/10000秒に示し、パフォーマンスおよびロジックの問題のデバッグに役立つアプリケーション・ユーザー、セッションおよび他の情報を表示します。

リモート・デバッグ

Oracle SQL Developerを使用してPL/SQLをリモートでデバッグできます。この機能は、アプリケーションが失敗しないが、予想した結果が生成されない場合に特に役立ちます。実装すると、SQL Developerはデータベース・パッケージ、プロシージャまたはファンクションがApplication Expressからコールされたときに起動され、対象となるファンクションを実行していない複雑なPL/SQL処理を行うことができます。プログラムのデータ値の確認ステップは、多くの場合、不適切なロジックの特定に役立ちます。