チュートリアル:初めての RAD サーバー クライアント アプリケーションを実装する
EMS クライアント アプリケーションを作成して、EMS サーバーが公開している REST API を通じて EMS サーバーに接続することができます。EMS サーバー リソースや EMS データベースの情報にアクセスするには、組み込みの API を使用することも、カスタム API リソースを使用することもできます。
このチュートリアルの EMS クライアント アプリケーションには、以下のコンポーネントが必要です。
- TEMSProvider コンポーネント。EMS サーバーとの接続をセットアップするために使用します。
- TBackendEndpoint コンポーネント。EMS クライアント アプリケーションから特定の EMS リソース エンドポイント メソッド(EMS サーバーの REST API メソッドの 1 つ)にアクセスするために使用します。EMS クライアント アプリケーションは、TBackendEndpoint を呼び出して、EMS サーバーに対する JSON の GET や POST を行います。
- メモ: TBackendEndpoint コンポーネントは、それぞれ 1 つの EMS リソース エンドポイントにアクセスするよう構成されます。アクセス先の EMS リソース エンドポイント メソッドの数だけ TBackendEndpoint コンポーネントを追加してください。
REST API エンドポイントを呼び出すには、TBackendEndpoint コンポーネントの Method プロパティに、適切なメソッドを選択しなければなりません。
EMS クライアントの作成
- マルチデバイス アプリケーションを新規作成します。
- Delphi の場合: [ファイル|新規作成|マルチデバイス アプリケーション - Delphi]を開きます。
- C++ の場合: [ファイル|新規作成|マルチデバイス アプリケーション - C++Builder]を開きます。
- [ツール パレット]で TEMSProvider コンポーネントを探してフォームにドロップします。
- [オブジェクト インスペクタ]で、EMS サーバー構成に合わせて以下のように EMS サーバー関連のパラメータを構成します。
- URLHost:
localhost
- URLPort:
8080
- URLProtocol:
http
- URLHost:
- [接続テスト]ボタンをクリックします。接続が正しくセットアップされていれば、EMS サーバーの現在のバージョンを示すメッセージが出力されます。
- EMS サーバー ウィンドウの[ログ]ペインには、バージョン要求が表示されます。
リソース エンドポイント メソッドの呼び出し
EMS クライアント アプリケーションから REST API 呼び出しを行うことで、EMS サーバー リソース エンドポイントを呼び出してデータを取得したり設定することができます。
EMS サーバーの EMS 管理用 API のエンドポイント メソッドも、EMS サーバー機能を拡張するカスタム リソース エンドポイントも使用可能です。
- EMS クライアント アプリケーションのフォームに TBackendEndpoint コンポーネントをドロップします。
- [オブジェクト インスペクタ]で、EMS サーバー リソースを使用できるよう、TBackendEndpoint の以下のパラメータを設定します。
- Provider: ドロップダウン リストから、TEMSProvider コンポーネントの名前(
EMSProvider1
)を選択します。 - Resource:
Version
- ResourceSuffix: このチュートリアルでは空のままにしておきます。
- Method:
rmGET
- Provider: ドロップダウン リストから、TEMSProvider コンポーネントの名前(
- これらのパラメータを正しく設定すると、TBackendEndpoint コンポーネントの構成をテストしたときに、EMS サーバーから成功の応答が返されます。テストは次のいずれかで行います。
- [オブジェクト インスペクタ]で[実行...]をクリックします。
- TBackendEndpoint コンポーネントを右クリックし、[実行...]を選択します。
- EMS サーバー ウィンドウの[ログ]ペインには、バージョン要求が表示されます。
データのビジュアルなバインド
EMS サーバーからの応答データを、EMS クライアント アプリケーションのコンポーネントにビジュアルにバインドすることができます。
- [LiveBinding デザイナ]を開いて、EMS クライアント アプリケーションへの応答データをビジュアルにバインドします。[表示|LiveBinding デザイナ]を選択します。
- [LiveBinding デザイナ]で、TBackendEndpoint コンポーネントの Response.JSONText プロパティを右クリックし、[新規コントロールにリンク...]オプションを選択して、応答を新しい TMemo コンポーネントにリンクします。
- フォームに TLabel をドロップします。
- [オブジェクト インスペクタ]で、Text プロパティを「
EMS Server Version
」に設定します。
- [オブジェクト インスペクタ]で、Text プロパティを「
- 新しい TButton コンポーネントをフォームにドロップします。
- [オブジェクト インスペクタ]で、Text プロパティを「
GetVersion
」に設定します。
- [オブジェクト インスペクタ]で、Text プロパティを「
- TButton コンポーネントの OnClick イベントを(ダブルクリックして)作成し、以下のコードを追加します。
- Delphi の場合:
procedure TForm1.Button1Click(Sender: TObject); begin BackendEndpoint1.Execute; end;
- C++ の場合:
void __fastcall TForm1::Button1Click(TObject *Sender) { BackendEndpoint1->Execute(); }
- アプリケーションをビルドして実行します。