Autonomous DatabaseでのOracle APEXへのOracle Formsアプリケーションの最新化

Oracle Formsアプリケーションは依然として重要な役割を果たしますが、多くのアプリケーションは最新化の方法を探しています。Oracle FormsアプリケーションをクラウドのOracle APEXに移動して最新化します。

ストアド・プロシージャおよびPL/SQLパッケージは、Oracle APEXでネイティブに機能するため、Oracle Formsアプリケーションを、より機能、複雑さの軽減、開発およびメンテナンス・コストの削減によって、最新のWebアプリケーションに簡単に移行できます。

Oracle APEXは、最高レベルの機能を備え、任意の場所にデプロイできるスケーラブルでセキュアなエンタープライズ・アプリケーションを構築できるローコード開発プラットフォームです。現実の問題を解決し、即時の価値を提供する魅力的なアプリケーションを迅速に開発およびデプロイできます。高度なソリューションを提供するために、さまざまなテクノロジーの専門家である必要はありません。

アーキテクチャ

このアーキテクチャは、オンプレミスのOracle FormsアプリケーションをOracle Cloud Infrastructure上のOracle APEXアプリケーションに移動して最新化するプロセスを示しています。

次の図は、この参照アーキテクチャを示しています。

forms-apps-apex.pngの説明が続きます
図forms-apps-apex.pngの説明

Forms-apps-apex-oracle.zip

アーキテクチャには、次のコンポーネントがあります。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。地域は他の地域から独立しており、広大な距離で(国または大陸間で)分離できます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内のスタンドアロンの独立したデータ・センターです。各可用性ドメインの物理リソースは、フォルト・トレランスを提供する他の可用性ドメインのリソースから分離されます。アベイラビリティ・ドメインは、電源や冷却などのインフラストラクチャや内部アベイラビリティ・ドメイン・ネットワークを共有しません。したがって、ある可用性ドメインで障害が発生しても、リージョン内の他の可用性ドメインには影響しません。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定するカスタマイズ可能なソフトウェア定義ネットワークです。従来のデータ・センター・ネットワークと同様に、VCNを使用すると、ネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる複数の重複しないCIDRブロックを含めることができます。VCNは、リージョンまたは可用性ドメインにスコープ指定できるサブネットにセグメント化できます。各サブネットは、VCN内の他のサブネットと重複しない連続したアドレス範囲で構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックまたはプライベートにできます。

  • ロード・バランサ

    Oracle Cloud Infrastructure Load Balancingサービスは、単一のエントリ・ポイントからバックエンドの複数のサーバーへの自動トラフィック分散を提供します。

  • セキュリティ・リスト

    サブネットごとに、サブネット内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processingは、トランザクション処理ワークロード向けに最適化された、自動運転、自己保護および自己修復が可能なデータベース・サービスです。ハードウェアの構成や管理、ソフトウェアのインストールを行う必要はありません。Oracle Cloud Infrastructureでは、データベースの作成、およびデータベースのバックアップ、パッチ適用、アップグレードおよびチューニングが処理されます。

  • アイデンティティおよびアクセス管理(IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) is the access control plane for Oracle Cloud Infrastructure (OCI) and Oracle Cloud Applications.IAM APIおよびユーザー・インタフェースを使用すると、アイデンティティ・ドメインおよびアイデンティティ・ドメイン内のリソースを管理できます。各OCI IAMアイデンティティ・ドメインは、スタンドアロンのアイデンティティおよびアクセス管理ソリューションまたは異なるユーザー人口を表します。

  • 監査

    Oracle Cloud Infrastructure Auditサービスでは、Oracle Cloud Infrastructureのサポートされるすべてのパブリック・アプリケーション・プログラミング・インタフェース(API)エンドポイントへのコールがログ・イベントとして自動的に記録されます。現在、すべてのサービスがOracle Cloud Infrastructure Auditによるロギングをサポートしています。

推奨事項

Oracle APEXの最新化を計画する出発点として、次の推奨事項を使用します。要件は、ここで説明するアーキテクチャとは異なる場合があります。
  • VCN

    VCNを作成する場合、各サブネットのクラウド・リソースに必要なIPアドレスの数を決定します。クラスレス・ドメイン間ルーティング(CIDR)表記を使用して、必要なIPアドレスに十分な大きさのサブネット・マスクおよびネットワーク・アドレス範囲を指定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。

    VCNを作成した後、CIDRブロックを変更、追加および削除できます。

  • サブネットを設計する場合は、機能要件とセキュリティ要件を考慮してください。同じ層またはロール内のすべてのコンピュート・インスタンスは、同じサブネットに配置する必要があります。

    リージョナル・サブネットを使用します。

  • セキュリティ・リスト

    セキュリティ・リストを使用して、サブネット全体に適用されるイングレス・ルールおよびエグレス・ルールを定義します。

  • Cloud Guard

    Oracleが提供するデフォルト・レシピをクローニングおよびカスタマイズして、カスタム検出およびレスポンダ・レシピを作成します。これらのレシピを使用すると、警告を生成するセキュリティ違反のタイプと、それらに対して実行できるアクションを指定できます。たとえば、可視性がパブリックに設定されているオブジェクト・ストレージ・バケットを検出できます。

    Cloud Guardをテナンシ・レベルで適用して、最も広範な範囲をカバーし、複数の構成を維持する管理上の負担を軽減します。

    管理リスト機能を使用して、特定の設定をディテクタに適用することもできます。

  • セキュリティ・ゾーン

    最大限のセキュリティを必要とするリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースは、パブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成および更新する場合、Oracle Cloud Infrastructureはセキュリティ・ゾーン・レシピのポリシーに対して操作を検証し、ポリシーに違反する操作を拒否します。

  • スキーマ

    Oracle Formsが構築されたデータベース構造をそのまま保持し、それをOracle APEXのスキーマとして使用します。

  • ビジネス・ロジック

    Oracle Formsのビジネス・ロジックのほとんどは、トリガーとプログラム・ユニット、イベントにあります。Oracle FormsからOracle APEXへの移行を開始する前に、データベース内のストアド・プロシージャ、ファンクションおよびパッケージにビジネス・ロジックを移行します。

注意事項

Oracle Formsオブジェクト・ナビゲータ・コンポーネントをOracle APEXに移動する場合は、次の重要な項目を考慮してください。
  • データ・ブロック

    Oracle Formsのデータ・ブロックはOracle APEXに関連し、各ページは複数のリージョンおよびコンポーネントに分割されています。ユニバーサル・テーマで使用可能なOracle APEXコンポーネント・テンプレートを確認します。

  • トリガー

    Oracle Formsでは、トリガーによってほとんどすべてのものが制御されます。Oracle APEXでは、コントロールは、ページの送信時にアクティブ化され、検証、計算、動的アクションおよびプロセスによって管理される柔軟な条件に基づきます。

  • アラート

    Oracle APEXのほとんどのメッセージは、ページの送信時に生成されます。

  • 連結ライブラリ

    Oracle APEXは、ユニバーサル・テーマをサポートするJavaScriptおよびCSSライブラリを処理します。このライブラリは、柔軟で動的アプリケーションに必要なすべてのコンポーネントをサポートしています。独自のJavaScriptおよびCSSを、主にページ属性を使用して複数の方法で含めることができます。インライン・コードを、データベース内にBLOB (#APP_IMAGES#)として存在する参照ファイルとして追加するか、通常Oracle REST Data Services (ORDS)によって提供される中間層に配置するかを選択できます。参照ファイルがOracle WebLogic Server上にある場合、ファイルの場所には接頭辞#IMAGE_PREFIX#が付きます。

  • Editors

    Oracle APEXには、Oracle Formsのエディタに相当するテキスト領域およびリッチ・テキスト・エディタがあります。

  • 値リスト(LOV)

    Oracle APEXでは、LOVはアイテム・タイプと結合されます。ラジオグループは、少数の値でうまく機能します。中間サイズ・セットの「リスト」を選択し、大規模データ・セットの「ポップアップLOV」を選択します。Oracle APEXのLOV問合せには、Oracle Formsのレコード・グループからの問合せを使用できます。Oracle APEXのLOVは、SQL問合せによって動的に駆動するか、静的に定義できます。静的定義では、各エントリに様々な条件を適用できます。これらのLOVは、ラジオ・グループや選択リストなどのアイテム、またはレポートの列に関連付けて、コードをラベルに変換できます。

  • パラメータ

    Oracle APEXのページ・アイテムは、レポートで選択したレコードなど、次のページに情報を渡すためのページ間に移入されます。通常、多数のアイテムを持つ大きいフォームは全体として送信され、ページ・プロセスによってデータが処理され、次のページに分岐します。これらの値は、多くの場合デフォルトで、セッション・ステート・セキュリティ、アイテム、ページおよびアプリケーション・レベルでURLの改ざんから保護できます。

  • ポップアップ・メニュー

    ポップアップ・メニューは、Oracle APEXのすぐに使用できるわけではありませんが、リストを使用してメニューにボタンを関連付けて構築できます。

  • プログラム・ユニット

    Oracle Formsのプログラム・ユニットで定義されたストアド・プロシージャおよび関数をデータベースのストアド・プロシージャおよび関数に移行し、Oracle APEXのプロセス、検証および計算でデータベース・ストアド・プロシージャおよび関数を使用します。

  • プロパティ・クラス

    Oracle Formsのプロパティ・クラスを使用すると、開発者はコンポーネントの各インスタンス間で共通の属性を利用できます。Oracle APEXでは、データ・ディクショナリにユーザー・インタフェースのデフォルトを定義できるため、特定の表または列に対して項目またはレポートが作成されるたびに、デフォルトで同じ機能が適用されます。アプリケーションのスタイルについては、特定のルック・アンド・フィールを持つコンポーネントにクラスを適用できます。ユニバーサル・テーマには、宣言的に再構成できるデフォルトのスキンがあります。

  • レコード・グループ

    レコード・グループの問合せを使用して、Oracle APEXの動的LOVを定義します。

  • レポート

    Oracle APEXのインタラクティブ・レポートには、レポートをカスタマイズおよび操作する機能をユーザーに提供する多数の実行時操作オプションが付属しています。クラシック・レポートは、実行時操作オプションを提供しない単純なレポートですが、SQLに基づいています。

  • MENTS

    Oracle Formsには、データベース・ロールによって制御される特定のメニュー・ファイルがあります。.mmxファイルを更新するには、アクティブなユーザーがいない必要があります。Oracle APEXのメニューは、上部または左側のいずれかです。これらのメニューは静的に定義することも、動的に駆動することもできます。静的ナビゲーションエントリは、承認スキームまたはカスタム条件によって制御できます。動的メニューでは、SQL内にセキュリティ表を統合できます。

  • プロパティ

    Oracle APEXで導入されたページ・デザイナは、特に複数のコンポーネントを一度に編集する機能(交差する属性のみ)に関して、Oracle Formsに似ています。

まとめの問題

Oracle APEXについてさらに学習します。

次の追加リソースを確認してください。