Oracle Database CloudのREST API
ここまで、各データベースサービスの特徴を個々に説明してきましたが、すべてのデータベースサービスで共通する特徴もあります。それは「データベースサービスにREST APIがバンドルされている」という点です。
HTML5ベースのWebアプリケーションでは、JavaScriptによるAjaxコールが多用されており、それに対応するため、バックエンドはAPIを実装する必要があります。モバイルネイティブアプリケーションでもデータの保存、共有にクラウド側APIは欠かせません。また、クラウドの普及に伴い、オンプレミスとクラウドを連携させるハイブリッド構成や、サードパーティクラウド同士を連携させるようなエコシステムもますます現実的になっています。そうした中で、APIはその連携の屋台骨といえます。
これまで、こうした連携のためのAPIはアプリケーションサーバー上で、PHPやJava、Rubyなどにより実装されてきました。近年ではNode.jsを用いたAPIレイヤーの実装例も増えています。また、APIの作成に特化したクラウドサービスも提供され始めています。
ただし、いずれの実装でもデータベースサービスのほかに、APIのために別のクラウドサービスが必要です。
Oracle Database Cloudは、REST APIを標準で提供している点で極めてユニークです。つまり、データベースサービスさえ契約すれば、APIを提供するのに他に何もいらないのです。
データベースサービスの管理コンソールには、REST APIを作成するためのツールが含まれています。このツールによってREST APIのURIフォーマットを定義し、データを取得、更新するためのSQLを設定できます。また、認証方式やアクセス権限設定、レスポンスのフォーマット、CORS設定もこのツール上で行えます。
この機能を活用することで、Oracle Database Cloudが提供するRDBMSに格納したデータに、API経由でも安全にアクセスできます。繰り返しになりますが、この機能を利用するために必要なのはデータベースサービスのみです。
活用方法は多岐にわたりますが、例えば、現在オンプレミスで運用しているデータベースがあった場合、Oracle Database Cloudに移行するか、あるいは既存システムはそのままでデータをクラウド側にレプリケートするだけで、既存のデータベースを基にしたAPIサービスが提供可能です。また、モバイルアプリケーションのバックエンドとしても利用価値が高いでしょう。
Webアプリケーション開発フレームワークもバンドル
データベースサービスにはもう1つ、バンドルされているものがあります。「Webアプリケーション開発フレームワーク」です。
百聞は一見に如かずということで、こちらのリンクから、サンプルアプリケーションにアクセスしてみてください[4]。
このアプリケーションには、データベースサービスにバンドルされているWebアプリケーション開発フレームワークが使われているのですが、構築するのにプログラムコードを1行も書いていません。左のサイドバーにあるCustomer(顧客)、Product(製品)、Order(受注)はそれぞれデータベースに存在するテーブルに該当します。テーブル構造と、ユーザーが指定したカラムに応じて自動的にこのような一覧画面、フォームを生成してくれます。
さらに、左サイドバーのReport(レポート)タブを開くと、様々なタイプのグラフを用いたレポートが確認できます。これらが簡単かつ短時間で作成できるのが、このフレームワークの魅力です。社内を見回すと、こういった機能でまかなえる比較的小規模な業務アプリケーションがいろいろとありませんか? それらは、このノンプログラミング開発フレームワークでクラウドアプリ化できます。
また、このアプリケーションはレスポンシブデザインになっています。そのため、ブラウザ幅を縮めると、それに反応してモバイル用のレイアウトに自動的に切り替わります。
このように、データベースサービスにバンドルされているWebアプリケーション開発フレームワークは、単なるおまけ機能ではなく、リッチなWebアプリを構築可能な開発環境なのです。
注
[4]: こちらのサンプルは読み込み専用としていますので、一部更新系の画面は本来と異なります。
まとめ
Oracleのクラウドでまず特徴的なのは、すべてのサービスでデータを暗号化して保存するという仕様でしょう。これはソフトウェアに加えてハードウェアを自社開発するOracleならではのアプローチといえますが、Oracleは、既存のソフトウェアをそのままクラウドにのせたものをサービスとして提供するのではなく、ハードウェアとソフトウェアをクラウド向けに開発し、サービスとして提供しています。
その際たる例が、本稿で説明の焦点を当てたマルチテナント、REST API、Webアプリケーション開発フレームワークであり、すべての企業ユーザーの関心事であるセキュリティに対して「データは常に暗号化。セキュリティ機能は常にON。」というOracleのアプローチです。
「Oracleクラウドの特徴は?」と問われたときの端的な答えは、ここにあります。