Application Express(APEX)とは
APEXの特徴は、プログラミングの知識がない方でもアプリケーションを開発できることと、Webアプリケーションを提供するのに別途Webサーバ、Webアプリケーションサーバを必要としないことにあります。つまり、データベースサービスの環境さえあればWebアプリケーションを開発し、提供することができます。
なお、本稿では、Oracle Cloud上でデータベースサービスの環境をすでにお持ちであるという前提で、APEXによるWebアプリ開発の手順説明を進めていきます。もし、データベースサービスの環境をお持ちでない方は、本連載の前回記事を参考に、トライアル環境をご用意ください。
また、説明はデータベースサービスの環境は「スキーマサービス」であることを前提として進めますが、インスタンスサービス(Database as a Service)でも、ほとんどの手順は同様に適用できるはずです。
APEXのサンプルアプリを動かしてみる
Sample Database Applicationを動かしてみる
APEXに慣れるため、最初に既存のサンプルアプリを動かしてみましょう。Oracle Cloudにログインした直後のダッシュボードページから、データベース・スキーマサービスの「サービス・コンソールを開く」をクリックしてAPEXを起動します。
これでAPEXのトップページが表示されるはずです。まずどのようなアプリケーションがAPEXで開発できるのか見てみましょう。APEX画面の上段で「Packaged Apps > Apps Gallery」を選択します。
すると、アプリケーションのロゴが並んだページに遷移します。2015年11月時点では31個のアプリが並んでおり、これらはすべてAPEXで開発されたアプリケーションです。
これらのうち、名前に「Sample」と付いているものは、その名のとおり、アプリケーションのUIや構造を学ぶためのサンプルです。その他のほとんどは、Oracle社がサポートを提供するアプリケーションです。好きなものを自分の環境にインストールして利用することができます。
画面を少しスクロールして「Sample Database Application」を探してみてください。見つけたらそれをクリックします。
すると、このアプリケーションの概要やスクリーンショットなどの情報が表示されます。
ただし、スキーマサービスにインストール済みのこのSample Database Applicationはバージョンが少し古いので、アンインストールし、最新のものをインストールしたいと思います。
アンインストールするにはまず[Manage]ボタンをクリックします。
次に[Remove]ボタンをクリックします。
確認画面が表示されるので、[Remove Application]ボタンをクリックします。
これでアンインストールは完了です。続けて最新版をインストールするため、そのまま[Install Application]ボタンをクリックします。
インストールの設定画面が表示されます。アプリケーションの認証方法を[Authentication」で選択できますが[1]、今回はデフォルトの「Oracle Cloud Identity Management」を選択したままで「Next]ボタンをクリックしてください。
注
[1]: 認証方法に「Oracle Cloud Identity Management」を選択すると、結果的に現在APEXにログインしているユーザーは認証なしでアプリケーションにアクセスできるようになります。もう1つの「Application Express Accounts」に設定すると、明示的にAPEXで作成したユーザーアカウントでのログインが必要になります。
確認画面が表示されるので、[Install Application]ボタンをクリックします。
しばらく待つと、アプリケーションのインストールが完了します。インストールされたアプリケーションを確認するため、インストールが完了したら、上段の「Application Builder」を選択してください。
画面下半分にインストールされた「Sample Database Application」があるので、これをクリックします。
アプリケーションの詳細画面に遷移します。ここで「Run Application」パネルをクリックすると、このアプリケーションを起動できます。
すると、次図のようなアプリケーションが起動するはずです。左のサイドバーに「Customers」「Products」「Orders」とタブが並んでいることから類推できますが、このアプリケーションはシンプルな受注管理システムとなっています。
Customers、Products、Ordersは、アプリケーションと同時にインストールされたデータベース内にあるテーブルの名前です。左サイドバーにあるそれらのタブを選択すると、そのテーブルのデータ一覧が表示されます。各タブをクリックして、どのような画面、機能が実装されているのか少し見てみてください。
このように、APEXアプリケーションは「テーブル構造から自動的に画面を生成する」というのが大きな特徴の1つです。ざっくり説明すると、各タブを該当するテーブルに紐付けることで、APEXがテーマに合わせてデータ一覧画面、データ更新用のフォームなどを自動生成してくれる、という作りになっています。
そして、応用的な画面として、「Home」タブや「Reports」タブのように複数のテーブルからデータを集計して1画面に表示する、といったことも可能です。