設計情報

投稿者: SPIRERS ナレッジ向上チーム 2022年2月25日 (金)

MKupdate vol.6 「セキュアに高速開発」

SPIRAL ver.2はローコードプラットフォームです。そのためノンプログラミングでさまざまアプリを作成できます。
一方、APIが充実していたり、PHPやJavascriptの利用も可能な側面もあり、拡張性もあります。
今回のMKupdateでは、SPIRAL ver.2のAPIの解説を通して、SPIRALを使って開発することのメリットを解説します。

ver.2のAPIの特徴

シンプルなAPI
SPIRAL ver.2のAPIは、SPIRAL ver.1のAPIにあった"独自仕様"がなくなり開発者が扱いやすくなっています。
具体的には下記のような変更点があります。
・ロケーターの廃止
SPIRAL ver.1では環境ごとに、異なるAPIURLへリクエストを行う仕様であったため、
ロケーターを使用してAPIURLを取得する必要がありました。
SPIRAL ver.2ではメソッドごとに一意のAPIURLが決まっています、
これにより規律が生まれ開発者がラクに取り扱えるようになっています。
・ボディーに付ける署名の廃止
余計な要素を排して、必要最小限の要素のみをボディーに含めるように改善されています。
SPIRAL APIの独自要素であった署名などが廃止され、多くの開発者が理解しやすくなりました。
・条件指定 search condition の廃止
SQLと同じように where で条件指定が可能になりました。
充実したAPIメソッド
SPIRALの特徴として、管理画面でできることのほとんどがAPIでできるようになっており、
公開されているメソッドの種類が豊富に存在します。

例えば、DB作成は当然管理画面からもできますが、API経由でも同様にDBを作成することができます。
また、コンポーネントとAPIが連動していることで、1つのことを実現する場合でも
APIでやるか、コンポーネントでやるかなど、いくつかの実装方法から最適なものを選択できるようになっています。

メソッドの詳細はそれぞれのリファレンスを参照してください。
・SPIRAL ver.1 API リファレンス
・SPIRAL ver.2 API リファレンス

SPIRAL ver.2で実装された新しいAPIメソッド

新メソッド紹介
1)Export
ver.2のDBに格納されているデータをTSV,CSVファイルで一括出力できるメソッド

特徴
・SPIRAL内に TSV,CSVをファイル出力
・ファイル容量は100MiB単位で分割して出力
・ファイルURLをAPIで取得
・生成されたファイルは24時間後に自動削除

詳細
SPIRAL ver.2 API リファレンス|Record(export)
2)Batch
TSV,CSVファイルをAPI経由でver.2のデータベースに一括登録/更新/削除できるメソッド

特徴
・TSV,CSV形式の文字列でリクエスト
・1度のリクエストで大量データの一括登録/更新/削除が可能
・レスポンスに具体的なエラー内容を返却(列や行など)

詳細
SPIRAL ver.2 API リファレンス|Record(batch)
3)Action
フォームに設定されたメールアクションなどを実行できるメソッド

詳細
SPIRAL ver.2 API リファレンス|Action
SPIRAL ver.2 サポートサイト|アクション実行API
4)App
アプリの取得/作成/変更/削除を実行できるメソッド

詳細
SPIRAL ver.2 API リファレンス|App
新メソッド活用例
1)基幹システム連携
ExportとBatchを使う例として、基幹システム連携があります。APIで連携することで基幹システムと直接データ連携ができます。

特徴
SPIRAL ver.1では外部接続ディレクトリオプションを契約してシステム連携を行う必要がありましたが、
SPIRAL ver.2では新メソッドにより、APIで直接ファイルのやり取りができるようになったため、中間サーバーを設置する必要がなくなりました。
また、処理がクライアントサイドで完結できるため、当社を介さずにシステム連携の運用ができます。
2)ファイル一括登録/更新
Batchを使う例としてファイル一括登録/更新があります。
主にページからのCSV,TSVファイルをアップロードする場合などに活用できます。

特徴
SPIRAL ver.1では”バルク”を使う必要があったため、処理件数は1度に1000件でしたが、 Batchを使うことで、1リクエストで大量データ(1万行以上)の処理リクエストができます。
また、ファイルではなく文字列でも処理ができるため、フォームにテキスト入力いただいたものを登録するなどの応用もできます。

APIとコンポーネントの連動性

SPIRAL API自体も使いやすい仕様になりましたが、そもそもver.2はローコードプラットフォームです。
スクラッチ開発とは違い、本来プログラムで書かなければならない部分もコンポーネントで処理を補うことができます。
そのため、SPIRALを使って開発することで最小限のコードで最大限の効果を得ることができます。
API × コンポーネントの活用例
1)外部からインサートされたデータの後続処理

APIでデータをインサートした後に、同一DBの中で特定のフィールドを更新したい場合や、
別DBに同じデータを登録したいなどの後続データ処理を、アクションを利用して行うことができます。
全てのデータ処理をコードで記述するよりも、工数が削減できるとともに、
コンポーネントを利用しているため、セキュアでありながら後からの変更も容易です。

詳細
SPIRAL ver.2 サポートサイト|DBトリガのレコードアクション
2)外部からメールリストをインサートしてメール自動配信

APIでメールリストをデータベースにインサートした後、
スケジュールトリガを使って、メールの一斉送信を行うことができます。
トリガとアクションを設定することで、インサートのみで自動でメール配信ができます。
また、非同期アクションを設定することで、データを登録/更新した後すぐに、
対象データ宛のメール配信を行うこともできます。

詳細
SPIRAL ver.2 サポートサイト|スケジュールトリガのメール配信アクション
SPIRAL ver.2 サポートサイト|DBトリガの非同期アクション

まとめ

ここまでSPIRAL ver.2のAPIのこと、コンポーネントとの連動性などを解説してきました。

改めてSPIRALのメリットについてまとめると、、、
・DB、メール、認証、データ処理など、専門性が問われる開発領域がコンポーネントとして実装済み
・マークアップ言語、プラグラミング言語によるカスタマイズ、APIを用いた外部サーバ上での開発も可能
・セキュリティやSLAの水準が高くサポート体制が充実

これらのメリットによって、工数を削減できると共に、改修も楽に行えるようになっています。
また、拡張性もあり柔軟に実装方法を選択できるというのも開発者にとってはありがたい点です。

つまり、SPIRALは

開発者の皆様はぜひSPIRALを使ったセキュアな高速開発を体験してみてください。

解決しない場合はこちら コンテンツに関しての
要望はこちら