『TMS WebCOREを使用しています』から1年経過しました。


フロントエンド開発として、RESTfulを扱うのも、少し慣れてきました。(現状は、従来の2層の開発+メンテも並行しい続けています。)

今の私が抱えている課題は、RESTfulのバックエンド側の構築ツールの選択です。

選択条件としては、データベースを変更(デーブル構造など..)した場合に、コードの変更箇所が少なく再現できるものを使用したい。(理由は長期間そのコードに触らない場合でも、メンテナンスが容易なもの使いたい為)


いま、新たに選択するとなると、RESTful API作成のツールの選択肢が非常に多いと感じています(私の知識不足で、適切な判断ができていない......)

TMSさんでは all-accessで、xdataという製品が使用できます。
言語では

 Java
 PHP
 Python FastAPI
 Python Django
 Node.js + Express
 Go言語
 GraphQL など

変則的なもので、PostgreSQLが限定となりますが

 PostgREST (https://postgrest.org/en/v9.0/)

CMSなどを使用するもの

 WP REST API (WordPress の REST API)
 concrete5 8.以降で REST API がサポート など

有償無償のクラウドサービス

 Kintone
 プリザンター  など


などなど、たぶん、知らないだけで、もっと多くあるのだと思います。

『なにがよいでしょう』の問いに対しては、おそらく『使用する目的により、最適なものは違います』
となってしまうかと思うので、実際に踏み込んで、試せる場があっても、よいか思い、
今回、『異種なプログラミング交流会 オフライン』
https://ishuprog.connpass.com/event/233617/
というのを2021/12/18土曜日14:00~大阪の本町で、開催します。


今回の交流会で、実施予定としたいものは、バックエンドで作成したデータを、RESTfulAPIのURIとして、フロントエンドから、アクセスするといった内容です。

予定しているバックエンドは PHP Yii で、データベースは MySQL

CREATE TABLE test1
(
    id integer NOT NULL ,
    name varchar(20),
    qty  numeric(12,2)
);
INSERT INTO public.test1(id, name, qty) VALUES (1,'AAAA', 1.1);
INSERT INTO public.test1(id, name, qty) VALUES (2,'BBBB', 2.2);
INSERT INTO public.test1(id, name, qty) VALUES (3,'CCCC', 3.3);
INSERT INTO public.test1(id, name, qty) VALUES (4,'DDDD', 4.4);
INSERT INTO public.test1(id, name, qty) VALUES (5,'EEEE', 5.5);

このデータを、RESTful API として、 http://xxxxxxx.json などとして作成

これをフロント(クライアント)から

GET     http://xxxxxxx.json   
GET     http://xxxxxxx.json/1  
POST    http://xxxxxxx.json/6
PUT     http://xxxxxxx.json/6
DELETE  http://xxxxxxx.json/6

のような動作を
PostMan/RestDebugger/curl/TMS WebCOREを使用して(ハンズオン的な感じで)実行する予定です。


以下が、別のサンプルデータですが実行したいイメージです。
RestDebugger(サンプルURIのデータ表示)

curl(サンプルURIのデータ表示)

Delphi + TMS WebCORE(サンプルURIのデータ表示)

PostManは、使ったことないので、今回どなたかに教えてもらえると、ウレシイ。


今後は、認証やCORS、フロント開発ツールの比較など、(いままでどらかというと避けていた)その他のWeb開発で必要な知識が増えるような交流会も、参加もしくは実施できればと考えています。