BaaS の概要

提供: RAD Studio
移動先: 案内検索

EMS、Cloud、REST の各アプリケーションの開発 への移動


BaaS(Backend as a Service)は MBaaS(Mobile Backend as a Service)とも呼ばれ、これを利用することで、モバイル(およびデスクトップ)アプリケーションをクラウド サービスに接続することができます。

RAD Studio には、アプリケーションを KinveyParse の両 BaaS プロバイダに接続できるようにする REST BaaS(Backend as a Service)フレームワークが用意されています。

REST BaaS フレームワークを使用して Kinvey または Parse の BaaS プロバイダに接続すると、以下が可能になります。

  • オブジェクトの作成、取得、更新、削除
  • ユーザーの登録、ログイン、取得、更新、削除
  • ファイルやストリームのアップロード、ダウンロード、削除
  • オブジェクトやユーザーのクエリ
  • プッシュ通知の送信
  • デバイスでのプッシュ通知の登録および受信

BaaS プロバイダ入門

BaaS プロバイダである KinveyParse を操作できるようにするには、アカウントを作成する必要があり、その後、アプリケーションにこれらのサービスを追加するには、バックエンド プロバイダでアプリケーションを作成する必要があります。詳細については、以下を参照してください。

BaaS アカウント情報

いったん BaaS プロバイダでアプリケーションを作成したら、Kinvey および Parse は、RAD Studio アプリケーションの Kinvey プロバイダ コンポーネントおよび Parse プロバイダ コンポーネントに追加する必要があるいくつかのキーを提供します。

Kinvey キー:

Kinvey キーの名前 プロパティ
アプリケーション キー(アプリケーション ID) TKinveyProvider.AppKey
アプリケーション シークレット TKinveyProvider.AppSecret
マスタ シークレット TKinveyProvider.MasterSecret


Parse キー:

Parse キーの名前 プロパティ
アプリケーション ID TParseProvider.ApplicationID
マスタ キー TParseProvider.MasterKey
REST API キー TParseProvider.RestApiKey

REST.Backend API

REST.Backend API には、KinveyParse と連携してユーザー、ストレージ、ファイル、クエリ、プッシュ通知、イベントなどを管理するための一連のコンポーネントが用意されています。

REST.Backend のコンポーネント

REST.Backend のコンポーネントでは、一般的すなわち抽象的な形で BaaS サービスをサポートしています。これらのコンポーネントを使って記述したコードは、Kinvey or Parse に固有のものではありません。たとえば、TBackendStorage コンポーネントを使用してオブジェクトを作成する場合は、Kinvey オブジェクトを作成しようと Parse オブジェクトを作成しようと、コードは同じです。

REST.Backend のコンポーネントでは、バックエンド サービス実装を利用して、Kinvey や Parse の呼び出しを行います。たとえば、TBackendStorage コンポーネントで使用できる Kinvey ストレージ サービスがあります。

BaaS アプリケーションを作成するには、BaaS プロバイダから提供されるクラウド サービスに適した接続情報が格納されたプロバイダ コンポーネント(TKinveyProviderTParseProvider など)を組み込まなければなりません。プロバイダ コンポーネントをサービス コンポーネントに接続するには、サービス コンポーネントの Provider プロパティ(たとえば TBackendStorage.Provider など)にプロバイダ コンポーネントを指定する必要があります。 BaaS プロバイダ コンポーネントとサービス コンポーネントを以下の表に示します。

BaaS プロバイダ コンポーネント 説明
TKinveyProvider Kinvey クラウド サービス接続に関する情報が格納されている Kinvey BaaS プロバイダ コンポーネント。
TParseProvider Parse クラウド サービス接続に関する情報が格納されている Parse BaaS プロバイダ コンポーネント。


サービス コンポーネント 説明
TBackendStorage オブジェクトの作成、取得、更新、削除に使用するコンポーネント。
TBackendUsers ユーザーの登録、ログイン、取得、更新、削除などのユーザー アクションの実行に使用するコンポーネント。
TBackendFiles ファイルやストリームのアップロードと削除に使用するコンポーネント。

メモ: このコンポーネントではファイルをダウンロードしません。ファイルをダウンロードするには、REST クラスである TDownloadURL を使用します。

TBackendQuery オブジェクトやユーザーなどのクエリに使用するコンポーネント。

メモ: サービス実装によっては、サポートしているクエリの対象が異なる可能性があります。たとえば、Kinvey のサービス実装ではファイルのクエリを実行できますが、Parse のサービス実装ではできません。

TBackendAuth ログインやユーザー登録などのユーザー認証の管理に使用するコンポーネント。
TBackendPush プッシュ通知の送信に使用するコンポーネント。
TPushEvents プッシュ通知メッセージのリスンに使用するコンポーネント。


REST.Backend のメソッド

REST.Backend.KinveyApiREST.Backend.ParseApi の各 REST API ユニットを使用すると、それぞれ、KinveyParse の REST API メソッドを実行できます。

これらのユニットには、BaaS プロバイダの REST API に直接対応しているメソッドが宣言されています。これらのユニットを使用すると、Kinvey または Parse の REST API エンドポイントを呼び出すコードを記述できます。これらのユニットを使って記述したコードは、Parse や Kinvey に固有のものになります。

使用可能な REST.Backend メソッドと、使用されるリソースおよび HTTP メソッドを以下の表に示します。

REST.Backend.KinveyApi のメソッド:

TKinveyApi のメソッド リソース HTTP メソッド
AppHandshake AppData GET
CreateAppData AppData POST
FindAppData AppData GET
DeleteAppData AppData DELETE
UpdateAppData AppData PUT
QueryAppData AppData GET
UploadFile Blob POST
DeleteFile Blob DELETE
DownloadFile Blob GET
QueryFiles Blob GET
RetrieveFile Blob GET
SignupUser User POST
LoginUser User POST
RetrieveUser User GET
RetrieveCurrentUser User GET
UpdateUser User PUT
DeleteUser User DELETE
SuspendUser User DELETE
PushRegisterDevice Push POST
PushUnregisterDevice Push POST
メモ: 上記表の "リソース" 列で、AppData はクラウドに格納されているデータを、Blob はファイル(画像やビデオなど)を、User はユーザーを、Push はプッシュ通知を、それぞれ指しています。

REST.Backend.ParseApi のメソッド:

TParseApi のメソッド リソース HTTP メソッド
CreateClass Classes POST
DeleteClass Classes DELETE
FindClass Classes GET
UpdateClass Classes PUT
QueryClass Classes GET
UploadInstallation Installations POST
UpdateInstallation Installations PUT
DeleteInstallation Installations DELETE
QueryInstallation Installations GET
PushToDevices Push POST
PushBroadcast Push POST
PushWhere Push POST
UploadFile Files POST
DeleteFile Files DELETE
SignupUser Users POST
LoginUser Users GET
UpdateUser Users PUT
DeleteUser Users DELETE
QueryUsers Users GET
メモ: 上記表の "リソース" 列で、Classes はオブジェクトを、Installation はデバイス上にインストールされるアプリケーションのインスタンスを、Push はプッシュ通知を、Files はファイルを、Users はユーザーを、それぞれ指しています。

BaaS プロバイダの下記 API ドキュメントも参照できます。

ビジュアル LiveBinding

一部の BaaS コンポーネントではビジュアル LiveBinding をサポートしているため、[LiveBinding デザイナ]を使用して、それらのコンポーネントのプロパティをフォームのコントロールに接続することができます。

プロパティ 典型的なバインディング コントロール
TBackendQuery.JSONResult クエリの結果(TJSONArray)。 TMemo
TBackendQuery.BackendClassName ストレージのクエリ時のコレクション名またはクラス名。 TEdit
TBackendQuery.BackendService クエリ対象: ストレージ、ユーザー、インストール、ファイルなど。 TEdit
TBackendQuery.QueryStrings クエリ文字列。その特定のクラウド サービスにとって有効な文字列でなければなりません。 TMemo
TBackendPush.GCM.Action プッシュ メッセージの Action フィールド(Android の場合)。 TEdit
TBackendPush.APS.Alert Alert フィールド。 TEdit
TBackendPush.APS.Badge Badge フィールド(iOS の場合)。 TEdit
TBackendPush.APS.Sound Sound フィールド(iOS の場合)。 TEdit
TBackendPush.GCM.Title Title フィールド(Android の場合)。 TEdit
TPushEvents.JSONResult 受信したすべてのメッセージを格納した JSON 配列。 TMemo
TPushEvents.Active プッシュ メッセージをリスンするかどうか。 TCheckBox

BaaS 関連のトピック

関連項目

コード サンプル