Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Oracleデータベースクラウドサービスの3本柱「マルチテナント」「REST API」「開発フレームワーク」の概要

Oracle Database Cloudでいってみよう! ~ モダンな企業向けクラウドアプリを一番かんたん・安全につくる方法 【第1回】

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/11/24 14:00

目次

Oracle Database CloudのREST API

ここまで、各データベースサービスの特徴を個々に説明してきましたが、すべてのデータベースサービスで共通する特徴もあります。それは「データベースサービスにREST APIがバンドルされている」という点です。

HTML5ベースのWebアプリケーションでは、JavaScriptによるAjaxコールが多用されており、それに対応するため、バックエンドはAPIを実装する必要があります。モバイルネイティブアプリケーションでもデータの保存、共有にクラウド側APIは欠かせません。また、クラウドの普及に伴い、オンプレミスとクラウドを連携させるハイブリッド構成や、サードパーティクラウド同士を連携させるようなエコシステムもますます現実的になっています。そうした中で、APIはその連携の屋台骨といえます。

これまで、こうした連携のためのAPIはアプリケーションサーバー上で、PHPやJava、Rubyなどにより実装されてきました。近年ではNode.jsを用いたAPIレイヤーの実装例も増えています。また、APIの作成に特化したクラウドサービスも提供され始めています。

連携のためのAPIはアプリケーションサーバー上に実装されてきた
連携のためのAPIはアプリケーションサーバー上に実装されてきた

ただし、いずれの実装でもデータベースサービスのほかに、APIのために別のクラウドサービスが必要です。

Oracle Database Cloudは、REST APIを標準で提供している点で極めてユニークです。つまり、データベースサービスさえ契約すれば、APIを提供するのに他に何もいらないのです。

Oracle Database CloudはREST APIを標準で提供している
Oracle Database CloudはREST APIを標準で提供している

データベースサービスの管理コンソールには、REST APIを作成するためのツールが含まれています。このツールによってREST APIのURIフォーマットを定義し、データを取得、更新するためのSQLを設定できます。また、認証方式やアクセス権限設定、レスポンスのフォーマット、CORS設定もこのツール上で行えます。

REST APIを作成するためのツール。REST APIのURIフォーマットを定義し、データを取得、更新するためのSQLを設定できる
REST APIを作成するためのツール。REST APIのURIフォーマットを定義し、データを取得、更新するためのSQLを設定できる

この機能を活用することで、Oracle Database Cloudが提供するRDBMSに格納したデータに、API経由でも安全にアクセスできます。繰り返しになりますが、この機能を利用するために必要なのはデータベースサービスのみです。

活用方法は多岐にわたりますが、例えば、現在オンプレミスで運用しているデータベースがあった場合、Oracle Database Cloudに移行するか、あるいは既存システムはそのままでデータをクラウド側にレプリケートするだけで、既存のデータベースを基にしたAPIサービスが提供可能です。また、モバイルアプリケーションのバックエンドとしても利用価値が高いでしょう。

オンプレミスで運用しているデータベースを基にしたAPIサービスを簡単に実現できる
オンプレミスで運用しているデータベースを基にしたAPIサービスを簡単に実現できる

Webアプリケーション開発フレームワークもバンドル

データベースサービスにはもう1つ、バンドルされているものがあります。「Webアプリケーション開発フレームワーク」です。

百聞は一見に如かずということで、こちらのリンクから、サンプルアプリケーションにアクセスしてみてください[4]

データベースサービスにバンドルされているWebアプリケーション開発フレームワークを使ったサンプルアプリケーション
データベースサービスにバンドルされているWebアプリケーション開発フレームワークを使ったサンプルアプリケーション

このアプリケーションには、データベースサービスにバンドルされているWebアプリケーション開発フレームワークが使われているのですが、構築するのにプログラムコードを1行も書いていません。左のサイドバーにあるCustomer(顧客)、Product(製品)、Order(受注)はそれぞれデータベースに存在するテーブルに該当します。テーブル構造と、ユーザーが指定したカラムに応じて自動的にこのような一覧画面、フォームを生成してくれます。

さらに、左サイドバーのReport(レポート)タブを開くと、様々なタイプのグラフを用いたレポートが確認できます。これらが簡単かつ短時間で作成できるのが、このフレームワークの魅力です。社内を見回すと、こういった機能でまかなえる比較的小規模な業務アプリケーションがいろいろとありませんか? それらは、このノンプログラミング開発フレームワークでクラウドアプリ化できます。

また、このアプリケーションはレスポンシブデザインになっています。そのため、ブラウザ幅を縮めると、それに反応してモバイル用のレイアウトに自動的に切り替わります。

このように、データベースサービスにバンドルされているWebアプリケーション開発フレームワークは、単なるおまけ機能ではなく、リッチなWebアプリを構築可能な開発環境なのです。

[4]: こちらのサンプルは読み込み専用としていますので、一部更新系の画面は本来と異なります。

まとめ

Oracleのクラウドでまず特徴的なのは、すべてのサービスでデータを暗号化して保存するという仕様でしょう。これはソフトウェアに加えてハードウェアを自社開発するOracleならではのアプローチといえますが、Oracleは、既存のソフトウェアをそのままクラウドにのせたものをサービスとして提供するのではなく、ハードウェアとソフトウェアをクラウド向けに開発し、サービスとして提供しています。

その際たる例が、本稿で説明の焦点を当てたマルチテナント、REST API、Webアプリケーション開発フレームワークであり、すべての企業ユーザーの関心事であるセキュリティに対して「データは常に暗号化。セキュリティ機能は常にON。」というOracleのアプローチです。

「Oracleクラウドの特徴は?」と問われたときの端的な答えは、ここにあります。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中嶋 一樹(ナカジマ カズキ)

    日本オラクルのエバンジェリスト。Cloud Platformに関するエンジニアリングと啓蒙活動を担当。クラウドのビルディングブロックを使ったモダンなアプリケーションの開発、エコシステムの構築をライフワークにしている。公私ともに何かを開発していることが多い。

バックナンバー

連載:Oracle Database Cloudでいってみよう! ~ モダンな企業向けクラウドアプリを一番かんたん・安全につくる方法
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5