Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++Delphiデータベース

RAD ServerとSencha CRUDグリッド

webclient

この記事では、RAD Serverデータベースエンドポイントウィザードを使って、FireDAC接続により、RAD ServerのRESTエンドポイント(JSON Webサービス)を作成します。そして、データのCRUD(Create/Read/Update/Delete)操作を行うグリッドを持つSencha Webクライアントを作成し、これを利用します。

RAD Serverの構築手順

1. RAD Studio(DelphiまたはC++Builder)から、[ファイル|新規作成|その他]メニューを選択し、「RAD Server」カテゴリの「RAD Serverパッケージ」を選択して[OK]ボタンをクリックします。

2. RAD Serverパッケージウィザードで、「リソースを含むパッケージを作成する」を選択します。

[次へ]ボタンをクリックします。

3.「リソース名」に任意の名前を入力します。ファイルの種類に「データモジュール」を選択します。

[次へ]ボタンをクリックします。

4.「エンドポイント」ページで、「Sample End Points」と「API Documentation」の選択を解除し、「Database EndPoints」を選択します

[次へ]ボタンをクリックします。

5.「接続名」で既存のFireDAC接続を選択し、データベースにログインします。

正しいログイン情報を入力したら、[OK]ボタンをクリックします。

6.Sencha CRUDグリッドdWebアプリケーションに使用する1つ以上のテーブルを選択します。ここでは、EMPLOYEEデータベースからCOUNTRY、CUSTOMER、EMPLOYEEテーブルを選択します。

[完了]ボタンをクリックします。

7. ウィザードは、FireDACによるデータベース接続(FDConnection)、COUNTRY、CUSTOMER、EMPLOYEEの各テーブルに対するクエリー(qryCountry、qryCustomer、qryEmployee)、RAD Server (EMS) DataSetResourceコンポーネントが配置されたデータモジュールを生成します。

新しいEMSDataSetResourceコンポーネントを使用すれば、RAD Serverアプリケーションに接続するデスクトップ、マルチデバイス、Web、その他のサービスベースアプリケーションによって取得されるデータをより詳細に制御できます。この新しいコンポーネントにより、RAD Serverアプリケーションは、データセットのすべてのデータあるいはデータの特定ページへのアクセス、データセットレコードの更新、新しいデータセットレコードの作成、データセットエントリの削除といった機能を提供できます。

8.手順4で使用したウィザードの「エンドポイント」の箇所では、各テーブルにTEMSDataSetResourceコンポーネントも追加しています。オブジェクトインスペクタで確認すると、これらのテーブルのAllowed Actionsプロパティの各値(List、Get、Post、Put、Delete)にTrueが設定され、完全なCRUD機能が提供されていることが分かります。

9.[ファイル|プロジェクトに名前を付けて保存]メニューで、RAD ServerモジュールをRadServer_Sencha_CRUDという名称で保存します。

10.RAD Serverモジュールをビルドして実行します。RAD Serverログには、テーブルのデータにアクセスするためのRESTエンドポイントが表示されます。例えば、EMPLOYEEテーブルのGETには、次のようなRESTエンドポイントがあります。

{“name”:”dsrEMPLOYEE.List”,”method”:”Get”,”path”:”mydata/EMPLOYEE/”

このエンドポイントは、http://localhost:8080/mydata/EMPLOYEE/ になります。

11.このRESTエンドポイントをテストするには、RAD ServerコンソールUIで[ブラウザを開く]ボタンをクリックします。そして、URLに、http://localhost:8080/mydata/EMPLOYEE/ と入力します。これは、従業員テーブルデータを取得するためのJSON Webサービスです。

ブラウザには、JSON配列の形式で返されたEMPLOYEEテーブルのデータが表示されます。

以上でRAD Server側の構築は完了です。次に、このデータを使用するCRUDグリッドが配置されたSencha Webクライアントアプリケーションを作成しましょう。

Sencha Webクライアントアプリケーションの構築手順

1.Sencha Architectを起動します。

2.[New Project|Blank|Classic Project]を選択し[Create]ボタンをクリックします。

3.新しいSencha ExtJS Classsic Webアプリケーションが作成されました。

4.Sencha Data UI Builderアイコン data_ui-8261775-7352168-9567042 をクリックします。

5.「Data Source」項目で「JSON Web Service」を選択します。

6.「Model Name」に「MyModel」と設定し、「URL」に使用するREST WebサービスのURL「http://localhost:8080/mydata/EMPLOYEE/」を入力します。

7.「Parts to Create」で、すべての項目(Model、Store、List View、Details View、Form View、Controller)にチェックを入れ、[Import Fiedls]ボタンをクリックします。

8.EMPLOYEEテーブルのすべての列(フィールド)が追加されます。

9.[Generate]ボタンをクリックします。

10.Sencha Project Inspectorを見ると、プロジェクトにビューとモデルが追加されたことが確認できます。

11.「MyModels」ビューを選択します。Senchaパネルには、初期ビューが表示されています。ここには、データのCRUD機能を提供する[Add][Edit][Remove]ボタンがあります。

以上で、RAD Server上で動作するFireDAC接続によるRAD ServerのRESTエンドポイント(JSON Webサービス)を、RAD Serverデータベースエンドポイントウィザードを用いて簡単に作成し、Sencha WebクライアントからCRUDグリッドによって利用する例を示しました。一連の手順が、極めて簡単であることをご理解いただけたと思います。

RAD Serverアプリケーションの構築は、RAD Studioトライアル版でお試しいただくことができます。

Sencha Webアプリケーションの構築(およびSencha Architect)については、Sencha Ext JSトライアル版でお試しいただくことができます。

Kai 1.1 Now Available! Kai 1.1 Now Available! What's Coming in RAD Studio 13.2 Florence

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES