AI時代におけるOracle FormsからOracle APEXへの変換: APEXスキルへの最新化フォームの概要 (2026/10/01)
AI時代におけるOracle FormsからOracle APEXへの変換: APEXスキルへの最新化フォームの概要 (2026/10/01)
https://blogs.oracle.com/apex/transforming-f2a-skill
投稿者:Monica Godoy | Senior Principal Product Manager
パート1では、AIを活用した近代化ワークフローを使用して、Oracle Formsサンプルアプリケーションの顧客モジュールと注文モジュールを分析しました。このプロセスでは、Forms XMLを検証し、データベースの依存関係を確認し、再利用可能なビジネスロジックを特定し、最新のOracle APEXアプリケーションを構築するための機能要件仕様書、トレーサビリティマトリックス、および近代化レポートを作成しました。
サンプルフォーム
このデモでは、Summit Sample Formsアプリケーション、具体的には以下に示す顧客モジュールと注文モジュールを使用します。


大まかに言うと、アプリケーションは以下の機能を提供する必要があります。
- 顧客を検索・管理するための顧客ワークベンチ。
- 注文の検索と作成を行うための注文ワークベンチ。
- 選択した注文とその商品を表示する注文詳細ページ。
- 顧客、注文、注文品目用の引き出し式用紙。
- 製品別および倉庫別の在庫状況を表示する製品在庫ページ。
- 支払い検証、出荷日検証、品目番号生成、製品のデフォルト設定、および注文合計金額の計算には、提供されているデータベース関数と手順を使用してください。
前提条件
パート1に記載されている前提条件に加えて、以下のものが必要です。
- Oracle APEX 26.1環境へのアクセス、またはOCIで無料のOracle AI Autonomous Databaseをダウンロードまたはプロビジョニングしてください。
- AI コーディング エージェントに APEXlang スキルをインストールしてください。VS Code での Oracle APEX 開発の開始を 参照してください。
- スキーマメタデータファイルを生成します。
- このファイルには、フォームで使用されるOracleデータベースのスキーマメタデータ(テーブル、列、データ型、キー、制約、インデックス、およびフォームとデータベースから推論されたビジネスルールなど)が含まれます。このファイルはパート1で生成済みです。
- Summitサンプルアプリケーションの機能要件ドキュメントを作成します。
- これは、パート1で作成したAPEXアプリケーションの仕様書です。
機能要件文書を確認する
自然言語で書かれた機能要件文書が手に入ったので、それを見直して要件が完全であることを確認するとともに、最も重要なこととして、ビジネスにとって関連性がなくなったため、改善、簡素化、または廃止できるプロセスを特定してください。
ドキュメントを読み進めていくと、アプリを大幅に改善できる点がいくつか見つかるかもしれません。また、アプリケーションで使用されているAPEXコンポーネントについて、より詳細に把握しておきたい場合もあるでしょう。以下にいくつかの例を示します。
FormsからAPEXスキルへの近代化
近代化プロジェクトは組織によって異なります。各組織は、複数のモジュールやアプリケーションに適用できる特定のルール、動作、およびガードレールを必要とする場合があります。スキル を取得し、組織のニーズに合わせて調整してください。
近代化スキルは、パート1で作成された機能要件とスキーマメタデータを権威ある入力として扱います。アプリケーションを生成する前に、スキルは以下を含む近代化ワークフローを定義します。
- ビジネスプロセス、エンティティ、トランザクション、検証、計算、レポート、およびマスター/ディテール関係を特定します。
- これらの要件をデータベーススキーマおよび既存のビジネスロジックと整合させる。
- ファセット検索、クラシックレポート、スマートフィルター、インタラクティブレポート、フォーム、ドロワーページ、LOV、検証、計算、動的アクションなどのコンポーネントを使用して、ネイティブなAPEXユーザーエクスペリエンスを設計します。ここでは、組織が最新化するすべてのアプリケーションにおいて、特定のフォームコンポーネントをAPEXにどのように変換するかを定義できます。
- キャンバス、ウィンドウ、キーボードトリガー、アラート、ツリーコントロール、ナビゲーション組み込み機能など、フォーム固有の実装詳細は除外します。
- 各要件を、その要件に対応するデータベース証拠および対象となるAPEXコンポーネントにリンクするトレーサビリティマトリックスを作成します。
- APEXlangを使用してAPEXアプリケーションを生成し、インポートする前にAPEXコンパイラで検証してください。
目標は、Oracle Formsのユーザーインターフェースを再現することではなく、ビジネスプロセスとOracle Databaseへの投資を維持することです。たとえば、Formsのマスター/ディテールモジュールは、
- ビジネスプロセスでインライン編集が必要な場合に、マスター/ディテール編集のような操作感を実現します。APEXでは、インタラクティブグリッドで同様の動作を提供できます。
- 2段階のページ操作が可能です。ユーザーはワークベンチページで概要を確認し、レコードの閲覧やフィルタリングを行うことができます。レコードを作成または選択すると、詳細ページが開き、親レコードの概要と関連する子レコードが表示されます。APEXでは、ファセット検索ページ、クラシックレポート、ドロワーページを組み合わせて、この動作を実現できます。
このブログ記事では、フォームモジュール内のすべてのマスター/ディテールコンポーネントに対して、2番目のオプションを使用するスキルについて説明します。組織はこのルールをカスタマイズし、独自のユーザビリティおよびガバナンス基準に適合する他の多くのルールを追加できます。
スキル成果
アプリケーション生成が要求され、ワークスペースの入力が判明すると、このスキルは以下の出力ファイルを生成します。
条件付き出力
- 要件が不完全または矛盾している場合の、改良されたFRSまたは要件補足資料
- 安全な生成が不可能な場合のギャップおよび入力不足レポート
- 再利用可能なトランザクションビジネスロジックが必要な場合の、オプションのPL/SQLパッケージ仕様と本体
- 廃止された Forms コンポーネントと組み込み関数の、証拠に基づいた除外リスト
このスキルは、正確な完了状況も報告します。
スキルを実行する
以下のようなプロンプトでスキルを呼び出すことができます。
Oracle APEXを使用して、顧客および注文のOracle Formsアプリケーションを最新化します。
使用方法:
重要:
アプリをインポートしてテストする
興味深い発見
1. ナビゲーションメニューのキャッシュをクリアする
ユーザーが顧客ワークベンチから顧客の注文を開き、ナビゲーションメニューから注文ワークベンチに移動すると、顧客コンテキストがキャッシュされたままになります。その結果、ページにはその顧客の注文のみが表示されます。この問題を解決するには、ナビゲーションメニューのエントリにある注文ワークベンチページのキャッシュをクリアしてください。

2. 外部キーと制約の考慮
APEXでは、テーブル列のソースフォームに外部キーが関連付けられている場合、値のリストが自動的に作成され、それらの値が正しく作成されることはよく知られています。さらに、テーブルS_CUSTOMERにはcredit_rating列に対するチェック制約があり、許可された値は顧客フォームページの選択リストとして自動的に含まれます。

3. 再利用可能なビジネスロジック
注文フォームページは、パート1で担当者が特定し、機能要件ドキュメントに記載された関連ロジックを正常に組み込んでいます。出荷日と支払いタイプを検証し、関連商品を含む注文をユーザーが削除できないようにしています。

まとめ
その結果は、画面をそのまま変換したFormsアプリケーションではありません。重要なビジネスプロセスを維持したネイティブAPEXアプリケーションです。
- 顧客は注文状況と常に繋がったままです。
- 注文情報は商品と紐づけられたままです。
- 製品選択には、意味のあるデフォルト設定が提供されます。
- クレジットおよび配送に関する規則は引き続き適用されます。
- 商品番号は自動的に生成されます。
繰り返し可能な近代化パターンは以下のとおりです。
分析 → 仕様策定 → 調整 → 設計 → 生成 → 検証 → インポート → テスト
このようにして、既存のOracleデータベースへの投資価値を維持しながら、機能要件を最新のOracle APEXアプリケーションへと変換することができるのです。
コメント
コメントを投稿