データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Oracle Application Express(APEX)とは?特徴・アーキテクチャからインストール手順まで徹底解説

あなたの組織のアプリケーション開発を、より迅速に、より低コストで、より効率的に行えたらとお考えではありませんか?その答えとなるのが、ドラッグ&ドロップ操作で直感的に開発を進められるビジュアル開発手法「ローコード開発」、そしてそれを実現するOracle® Application Express(APEX)です。

はじめに

APEXを活用すれば、変化し続けるビジネス要件へ柔軟に対応できるようになり、開発者だけでなく組織全体が素早くソリューションの一員となれるようになります。

Oracle Application Express(APEX)とは?特徴・アーキテクチャからインストール手順まで徹底解説

画像出典: https://apex.oracle.com/en/

なぜAPEXなのか?

APEXは、開発者がデータに基づく視覚的に魅力的なアプリケーションを構築するための、最も簡単な手段です。主な特徴は以下の5つです。

  • シンプル:Application Builderの直感的なブラウザベースGUIが、アプリケーション作成の手順をステップごとにガイドしてくれます。学習コストが低く、豊富なコンポーネントにより限られたコーディングでも高度な機能を実装できます。顧客も1週間以内に生産的な業務を開始できるでしょう。

  • パワフル:スプレッドシートのシンプルなWeb版から、毎日数万人が利用するミッションクリティカルな複雑なアプリケーションまで、幅広い規模のシステムを構築できます。

  • 実績:長年にわたり、世界中で数千ものアプリケーションを支えてきた実績を持つプラットフォームです。

  • セキュア:設計段階から高いセキュリティを備えたWebアプリケーションを標準で提供します。セキュリティ基準やWeb技術の進化、巧妙化するサイバー攻撃に対応し、常に最先端の保護機能をアプリケーションにもたらします。

  • ポータブル:オンプレミスかクラウドかを問わず、Oracle Databaseがある環境ならどこでも動作します。任意の環境へのデプロイも容易です。

アーキテクチャ

Oracle APEXのアーキテクチャについては、公式ドキュメントが明快かつ簡潔に説明しています。ここではその要点をご紹介します。

概要

Oracle APEXは、ブラウザからのリクエストがWebサーバーを経由してデータベースへ送られる、シンプルな3層アーキテクチャを採用しています。すべての処理、データ操作、ビジネスロジックはデータベース内で実行されるため、ゼロレイテンシのデータアクセス、最高レベルのパフォーマンス、そして優れたスケーラビリティが保証されます。

ユーザーがAPEXのページを送信すると、処理はページからOracle REST Data Services(ORDS)を経由してAPEXへ渡され、再び戻ってきます。以下の図をご覧ください。

Oracle Application Express(APEX)とは?特徴・アーキテクチャからインストール手順まで徹底解説

画像出典: https://apex.oracle.com/en/platform/architecture/

WebブラウザからのリクエストはORDSに送られ、そこからアクション実行のためOracle Databaseへ渡されます。データベース内でAPEXがリクエストを処理し、完了後、結果はORDSを経由してブラウザへ返されます。

Oracle RADスタック

Oracle RADスタックは、Oracle REST Data Services(ORDS)、Oracle APEX、Oracle Databaseという3つのコアコンポーネントからなる統合技術スタックです。

このスタックには、世界水準のパワフルで美しくスケーラブルなアプリケーションを開発・デプロイするために必要なすべてが揃っています。追加コンポーネントなど他の要素は一切不要です。さらに、Oracle APEXとORDSはどちらもOracle Databaseの無償機能であるため、Oracle Databaseをお持ちであれば、すでにこのRADスタックを利用できる状態にあります。

REST Data Services(ORDS)

Oracle Application Express(APEX)とは?特徴・アーキテクチャからインストール手順まで徹底解説 ORDSはJavaアプリケーションで、SQLやデータベースのスキルを持つ開発者が、Oracle Database、Oracle Database 12c JSON Document Store、Oracle NoSQL Database向けのREST APIを開発できるようにします。

APEX

Oracle Application Express(APEX)とは?特徴・アーキテクチャからインストール手順まで徹底解説 Oracle Databaseネイティブのローコード開発プラットフォームであり、世界水準の機能を備えた、美しくスケーラブルでセキュアなアプリケーションを構築し、どこにでもデプロイできます。

Database

Oracle Application Express(APEX)とは?特徴・アーキテクチャからインストール手順まで徹底解説 Oracle Databaseは、あらゆる規模のデプロイメントに対応する、最も完全で統合されたセキュアなデータベースソリューションです。この堅牢な基盤により、Oracle APEXで構築したアプリケーションは初日からエンタープライズレディとなります。

APEX 18.1のインストール

以下のセクションは、https://oracledbwr.com/install-oracle-apex-18-1-on-premises-windows-18-3-0-database-using-oracle-http-server-12-1-3-0-0/ の内容に基づいています。

インストール前提条件

Oracle Application Express リリース18.1には、Enterprise EditionおよびExpress Edition(Oracle Database XE)を含む、Oracle Database リリース11.2.0.4以降が必要です。

APEX 18.1ソフトウェアをダウンロードし、Acceptをクリックしてください。

Oracle Application Express(APEX)とは?特徴・アーキテクチャからインストール手順まで徹底解説

ステップ1:APEX 18.1.0.00.45ソフトウェアを解凍する

unzip apex_18.1.zip -d /oradb/

ステップ2:新しいAPEX表領域を作成する

CREATE TABLESPACE APEX DATAFILE ‘/oradb/app/oracle/oradata/clone/apex01.dbf’ SIZE 1G;

ステップ3:APEXのインストール状況を確認する

SELECT comp_name, version, status FROM dba_registry WHERE comp_id=’APEX';
no rows selected

ステップ4:APEX 18.1のインストールを開始する

SQL> @apexins APEX APEX TEMP /i/
Where:
 apex_tbs – APEXユーザー用の表領域名。
 apex_files_tbs – APEXファイルユーザー用の表領域名。
 temp_tbs – 一時表領域の名前。
 images – APEXイメージ用の仮想ディレクトリ。将来のアップデートに備えて /i/ として定義します。 */

上記のスクリプトを実行すると、データベース上にいくつかのスキーマが作成されます。

次のコマンドでALL_USERSビューを照会し、動作を確認しましょう。

SQL> select username,created from all_users where USERNAME like ‘%APEX%’;

USERNAME                      CREATED
———————                       ——————-
APEX_PUBLIC_USER             29-MAY-18
APEX_180100                  29-MAY-18
APEX_INSTANCE_ADMIN_USER     29-MAY-18

ステップ5:インストールのバージョンとステータスを確認する

SELECT comp_name, version, status FROM dba_registry WHERE comp_id=’APEX';

COMP_NAME                       VERSION          STATUS
—————                           ——————           ———-
Oracle Application Express     18.1.0.00.45       VALID

ステップ6:APEXのリリースバージョンを確認する

select * from apex_release;

VERSION_NO            API_COMPAT      PATCH_APPL
———-                  ———-            ———————
18.1.0.00.45          2018.04.04      APPLIED

ステップ7:Embedded PL/SQL Gateway(EPG)の構成を実行する

ここからAPEXの構成作業が始まります。

次のスクリプトで、APEXのイメージをXDBにロードします。

 @apex_epg_config.sql <parent of apex directory>

 SQL> @apex_epg_config.sql /oradb

ステップ8:特定のアカウントがアンロックされていることを確認する

引き続きAPEXの構成を行います。

ALTER USER anonymous ACCOUNT UNLOCK;
ALTER USER xdb ACCOUNT UNLOCK;
ALTER USER apex_public_user ACCOUNT UNLOCK;
ALTER USER flows_files ACCOUNT UNLOCK;

ステップ9:APEX用のデータベースパラメータを構成する

引き続きAPEXの構成を行います。

SHOW PARAMETER job_queue_processes

NAME                        TYPE           VALUE
———                         —————          ———–
job_queue_processes         integer        4000

SHOW PARAMETER shared_servers

NAME                        TYPE           VALUE
————                        ————           ———–
max_shared_servers          integer
shared_servers              integer        1

shared_serversパラメータを変更します。

ALTER system SET shared_servers=5 scope=both;

ステップ10:XDB HTTPリスナーポートとAPEX ADMINパスワードを設定する

このステップでAPEXの構成は完了です。

管理者ユーザーはデフォルトでADMINを使用でき、メールアドレスは省略可能です。HTTPポートも変更できますが、デフォルトは8080です。

SQL>@/oradb/apex/apxconf.sql

PORT
———-
8080

XDB HTTPリスナーポートの値と、APEX ADMINユーザーのパスワードを入力してください。デフォルト値は角括弧 [ ] 内に表示されており、Enterキーを押せばデフォルト値を受け入れます。

このスクリプトは、APEXインスタンス管理者のパスワードを変更するためのものです。ユーザーがまだ存在しない場合は、新たに作成されます。

Enter the administrator's username [ADMIN]
User "ADMIN" does not yet exist and will be created.
Enter the ADMIN's email [ADMIN]
Enter the ADMIN's password []
Created instance administrator ADMIN.
Enter a port for the XDB HTTP listener [ 8080]
…changing HTTP Port
APEX configuration finishes.

ステップ11:HTTPポートを確認する

SQL> select dbms_xdb.gethttpport from dual;

GETHTTPPORT
———–
8080

ステップ12:リスナーのステータスとHTTPポートの有効化を確認する

[oracle@clone:apex clone] lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 – Production on 29-MAY-2018 19:20:08
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=clone.localdomain.com)(PORT=1521)))

STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 – Production
Start Date 25-MAY-2018 21:52:41
Uptime 3 days 21 hr. 27 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oradb/app/oracle/product/12.2.0.1/db_1/network/admin/listener.ora
Listener Log File /oradb/app/oracle/diag/tnslsnr/clone/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=clone.localdomain.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=clone.localdomain.com)(PORT=5500))(Security=(my_wallet_directory=/oradb/app/oracle/admin/CLONE/xdb_wallet))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=clone.localdomain.com)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary…
Service "CLONE.localdomain.com" has one instance.
Instance "clone", status READY, has one handler for this service…
Service "cloneXDB.localdomain.com" has one instance.
Instance "clone", status READY, has one handler for this service…
The command completed successfully

ステップ13:管理サービスのログインページにログインする

ブラウザから、ADMINユーザーとして管理サービスのログインページ https://clone.localdomain.com:8080/apex/apex_admin にアクセスしてログインします。

まとめ

Oracle APEXは、より優れた機能性とパフォーマンス、そして優れたエンドユーザー体験を備えたアプリケーションを構築したい場合に最適なツールです。エンタープライズアプリケーションの開発とデプロイを劇的に簡素化できます。本記事の内容を踏まえると、次の開発プロジェクトでOracle APEXを採用することは十分に理にかなっていると言えるでしょう。

ご意見やご質問がある場合は、フィードバックタブをご利用ください。また、今すぐチャットを開始して会話を始めることもできます。

データベースについてさらに詳しく知りたい方は、関連ドキュメントをご参照ください。


  1. ObjectRocketのメトリックダッシュボード徹底解説:Grafanaで実現するデータベース監視

    本記事は、2019年9月9日にObjectRocket.com/blogで公開された内容をもとにしています。 Rackspace ObjectRocketのミッションは、お客様のデータベースを「オートパイロット」状態にすること。つまり、データ管理の手間からお客様を解放し、優れたアプリケーション開発に集中していただける環境を提供することです。しかし、データベースが自動化されていても、システムの可観測性(オブザーバビリティ)を維持することは依然として重要な課題です。 データストア内で何が起きているのか、そして直近のアプリケーションの変更がデータベースのパフォーマンスにどのような影響を与えているの

  2. Oracle 19cのDBCAコマンドでデータベースをクローンする方法【サイレントモード完全ガイド】

    本記事では、Oracle Database 19cの新機能であるDatabase Configuration Assistant(DBCA)を使用して、ソースデータベースのバックアップを作成することなく、リモートのプラガブル・データベース(PDB)をコンテナ・データベース(CDB)へクローンする手順をご紹介します。 DBCAによるクローンの最大の特長は、ソースからターゲットへの複製にかかる時間が最小限に抑えられる点です。 ソースDBの構成 CDB:LCONCDB PDB:LCON 以下は、ソース側の各コンテナ(CDBおよびPDB)に存在するDBFファイルの総数です。クローン作成後は、ター