8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DelphiAdvent Calendar 2023

Day 23

NODE-RedのRESTAPIをバックエンドに、Delphi + TMS WEB Coreで、CURDを、ローカル環境で実行する

Last updated at Posted at 2023-12-22

###はじめに
 NODE-Redは、こちらの記事を参考にしてください、ローカル環境で、SQLite3 と MySQL と PostgreSQL で基本的なCRUD操作を行うREST APIを作成を試みました
https://qiita.com/a23/items/ee564e639a127fcdb651

1. Windows10を用意、(仮想環境で1台処理でも大丈夫ですが)NODE-Red用とDelphi + TMS WEB Core用を2台用意するのが、解りやすいのかと思います
2. Delphi12トライアル + TMS WEB Coreで検証
3. RestDebuggerも用意しましょう
4. NODE-Redの記事と異なるところは、データベースの構造を5項目に増やしました。

SQLite3
データベース test3.db
テーブル table tbl_1
フィールド

CREATE TABLE "test_tbl_1" (
	"fld_1"	INTEGER,
	"fld_2"	VARCHAR(10),
	"fld_3"	TEXT,
	"fld_4"	DATE,
	"fld_5"	NUMERIC
        PRIMARY KEY("fld_1")
);

MySQL8.x
データベース test3
テーブル table tbl_1
user: myuser
password: Passwd643 (適当に自分で決めてください)


権限付与

CREATE DATABASE test3;
CREATE USER myuser@'%' identified by 'Passwd643';
GRANT all privileges on *.* to myusr identified by 'Passwd643';
FLUSH PRIVILEGES;
USE test3;

フィールド

//qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59472/e497f407-e3da-1f81-be4a-a01d5de3ac4d.png)

CREATE TABLE test_tbl_1 (
  fld_1  INTEGER,
  fld_2  VARCHAR(10),
  fld_3  TEXT,
  fld_4  DATE,
  fld_5  NUMERIC
        PRIMARY KEY(fld_1)
);

例えば、NODE-Redを、 192.168.24.103 で起動します
node1.png

別の端末から、NODE-Redを、 192.168.24.103 で起動て、フローを書き込んでいきます
手順はこちらなどを、参考にしてください https://qiita.com/a23/items/ee564e639a127fcdb651
node-red2png.png

別の端末から、RestDebugger で GET で データを参照してみます(画像は、上記と少しデータ構造が異なりますが、ご容赦下さい)
restde.png

同様にTalend API Tester - Free Edition でデータを参照できます
(この環境で、社内などのローカル環境で、簡単にモックを作成したりできます)
Talend.png

これで、JSONデータのやり取りが可能になったを確認できたので、TMS WEB Coreでは、CRUDをこんな感じで、用意できます。

起動
24.png
コンポーネントの配置
32.png
コードのイメージ(このあたりの操作は標準のDelphiでの操作です)

34.png
F9で実行すると、ブラウザ起動して、操作が可能になります
35.png
検索を押すと、サブ画面が開くイメージを作ってみました
37.png

###おわりに

Delphiの関数の文字列の扱いなどが従来通りで学習コストが低いのが利点。

バックエンドのデータベースのRestAPIはDelphiや他の言語でも実装できるが、NODE-Redは手軽にローコード風に実装できる。

モック作成に最適で、画面イメージは従来のデスクトップとほぼ同様。

TMS WEB CoreがDelphiにバンドルで、選択できるように記憶していますが変更となりましたでしょうか?

Delphi+TMS WEB Coreでクライアントサーバー経験者がWeb開発に挑戦し、IT業界の人手不足に一役買えるのでは。

TMS WEB Coreでのデバッグはブラウザ上で行うが、Web開発のルールを覚えることが重要で、このあたりは、入門する気持ちが大事。

で、実際どうなのということで、ローカルのモックだけでなく、今回のサンプルを
https://www.workword.co.jp/
のトップページの下の方に
Delphi Advent calendar 2023/12/23
をクリックいただくと、お試しできるように、公開いたしました。

2023/12/29くらいまで、NODE-Redのサーバーがこけていないければ、お試しいただけると思います。

8
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?