Web APIサーバーを簡単に構築できる方法はないの?——数万台規模のIoTフロントエンドをiPLAssで構築

#システムの種類
公開日:2024年07月02日(火)

序章

APIサーバーを構築してWeb APIを開発するとき、Webアプリケーションフレームワークのリファレンスを読んで対応するURLパスやHTTPメソッドを設定したり、ライブラリの選定をしたりと、ビジネスロジックの開発以外の検討や作業で時間がかかっていることはありませんか?

みなさまの気持ちとしては、ビジネスロジックの開発や画面のUI/UXに集中し、サービスの品質、ユーザーエクスペリエンス向上に時間をかけたいのではないでしょうか。そこで本記事では、Web APIの開発現場に便利なローコード開発プラットフォームと、その利用例をご紹介いたします。

Web APIサーバーを簡単に作れる方法はないの?

アプリケーション開発において、Web API(Web Application Program Interface)は今や欠かせない存在となっており、インターネットシステム、サブシステム、モジュール間連携の実装に広く採用されています。

Web APIでは、クライアントがHTTPリクエストを送信し、サーバーがJSONやXMLなどの形式でデータを返却します。これにより、異なるプラットフォームやアプリケーション間でデータの共有や連携が実現されます。

しかし、Web APIサーバーを構築するのは前述のように手間がかかります。何か簡単に作れる方法はないのでしょうか?そこでご紹介したいのが、ローコード開発プラットフォーム「iPLAss(アイプラス)」です。iPLAssはWebアプリとして動作しますが、Web APIの開発を簡単にするノーコード・フレームワーク機能を提供しています。

iPLAssには、Web API開発に必要な技術基盤が含まれています。コードレスでのWeb API設定、入力データ(JSONやXML)のパーサー、認証・認可等、Web API開発に必要な機能の全てが組み込まれています。

開発者は環境のセットアップに時間を費やす必要がなくビジネスロジックの実装に集中できます。iPLAssはWeb API開発を簡単にし、品質と生産性の向上を実現します。

iPLAssでWeb APIサーバーを作るメリット

iPLAssでWeb APIサーバーを開発するメリットをについて説明します。

ノーコードでWeb API定義

iPLAssを使えば、手軽にWeb APIを定義できます。定義情報はメタデータとしてデータベースに保存され、呼び出しパスやHTTPメソッド、アクセスポリシー、トークン、キャッシュ、セッションなど、Web APIの設定を簡単に指定できます。さらに、必要に応じて細かい設定やOAuth認証もノーコードで実装可能です。

Web APIアクセス権限設定

Web APIを通じてアクセスされるデータに対しては、精密な権限設定が不可欠です。これにより、不正アクセスや機密情報の漏洩などのリスクを最小限に抑えることができます。iPLAssのパーミッションエクスプローラーは、各Web APIに対して、権限グループやデータの状態に基づいた緻密なアクセス設定を簡単に行えます。

ビジネスロジックは柔軟にJavaで記述

iPLAssを利用すると、Web APIの定義はノーコードで簡単に行うことができますが、実際のビジネスロジックはJavaでコーディングする必要があります。Javaでのコーディングは手間がかかるように思えますが、機能の柔軟性や拡張性を確保するためには最も効率的な手段です。

また、Java開発に必要な一般的なOSSライブラリはすべてiPLAssに組み込まれており、個別にバージョン管理やパッチ適用を心配する必要はありません。

ノーコードでの設定と組み合わせることで、開発者はビジネスロジックの実装や品質向上に集中でき、より有益な時間を確保できます。

低い学習コスト

iPLAssを使用することで、プログラミング言語やライブラリの学習にかかる時間を節約し、開発プロセスをスムーズに進めます。過去にシンガポール、タイ、ベトナム、シンガポールなどの海外案件の開発で、ローカルの開発者が短期間でiPLAssを習得して、Web APIサーバーの開発を計画通り完了した実績があります。

iPLAssに合わせてWeb APIを実装すればいいので、Javaの深い知識がなくとも、すぐにキャッチアップして、開発を進めることができました。

柔軟なインフラ

iPLAssはJavaが動作する環境であれば、基本的にどこでも動作します。この柔軟性により、開発者は自身の好みやプロジェクトの要件に応じて、さまざまなインフラストラクチャを選択することができます。たとえば、クラウドプラットフォーム上での展開や、オンプレミスのサーバーでの稼働、開発者のローカル端末など、どのような環境でもiPLAssを利用することが可能です。

プロジェクトのニーズに合わせてインフラストラクチャを選択することができるため、開発者やチームにとって大きな利点となります。開発者は手軽にWeb APIを構築し、柔軟かつスケーラブルなシステムを実装できます。

効率的なコンシューマー向けアプリ開発

コンシューマー向けのソリューションを考える際、優れたUI/UXデザインのアプリを通じて、コンバージョン率や顧客満足度を向上させることが不可欠です。

ノーコードやローコードの画面構築は、コンシューマー向けのアプリにふさわしいとは言えません。こだわりのUI/UXデザインを施したフロントエンドを、Webアプリやモバイルアプリとして別途スクラッチで構築することが最適です。WebアプリはVue.jsやReactなどJavaScript UIフレームワークで、モバイルアプリはiOSをSwift、AndroidをKotlinで、または、Flutterなどのモバイルフレームワークを利用して開発することが多いです。iPLAssがAPIサーバーとしてWeb APIで機能を提供しているため、コンシューマー向けアプリは要求やプロジェクト特性に合わせて自由な選択が可能です。

iPLAssでは、裏方の業務に用いる管理画面やデータモデルなどをノーコードやローコードで迅速かつ低コストで開発できます。そして、これらを基盤として、コンシューマー向けアプリに適したWeb APIを実装することが可能です。このアーキテクチャと開発手法により、UI/UXデザインやコンシューマー向けアプリ開発により多くのリソースを投入できます。

図1 効率的なコンシューマー向けアプリ開発

 

事業企画者が押さえておくべき
ローコード開発のメリットと成功事例

iPLAssでのWeb APIサーバー構築 成功事例——6カ月で数万台規模のIoTフロントエンド

iPLAssは、APIサーバーとしての役割を果たし、Web APIでシステム連携を実装した開発プロジェクトを数多く成功させてきました。ここでは、Web APIを利用した、iPLAssでのシステム構築例として、IoTアプリを紹介します。

IoT(Internet of Things)とは、さまざまな物理的なデバイスや機器がインターネットを介して相互に通信し、データを収集、交換、処理することを可能にする技術です。これにより、家庭用のスマートデバイス、産業用のセンサーシステム、都市のインフラ管理、医療機器など、さまざまな領域で自動化や効率化が可能になります。

このシステムでは、スマートフォンにインストールしたモバイルアプリで、遠隔の電子機器の状態をチェックし、電源ON/OFFや設定変更を操作で行い(リモートコントロール)、そして、異常時にはモバイルアプリに通知を受け取ることができます。数万台規模のデバイスを処理できるように、インフラを構築し、アプリケーションを調整しました。

図2 iPLAss 成功事例 Web APIサーバー・アプリ

構成要素ごとの概要は以下のとおりです。

IoTサービス

デバイスとそれを管理するIoTサーバーです。アプリケーションはIoTサーバーが提供するWeb APIを通じてデバイスの情報を取得したり、リモートコントロールの指示を行ったりします。IoTサービスが通知を行うために、IoTサーバーから指定された仕様のWeb APIをiPLAssで実装します。IoTサービスは機器異常等のイベントをiPLAssのWeb APIを呼び出すことで通知します。このインベント通知の方式はWebhookと呼ばれます。

アプリケーション・サーバー

アプリケーション・サーバーには、APIサーバーや管理画面機能等、数多くの構成要素や機能があります。モバイルアプリから呼び出すWeb API、また、IoTサーバーから通知を受けるためのWeb API(Webhook)がiPLAssを基盤として実装されており、APIサーバーとして動作します。

IoTサーバー以外の外部サービスのWeb APIを呼び出して利用するのもAPIサーバーの機能です。代表的なものとして、サービス料支払いのための決済サービスをWeb APIを介して利用します。また、ユーザーへプッシュ通知、SMS、Eメールを送信するためのWeb APIも外部サービスを利用しています。

業務運用者が利用する管理画面機能は、iPLAssでノーコード実装しました。管理画面では業務運用者やコンタクトセンターのオペレーターがユーザー情報や利用状況を確認してサポートしたり、システムメンテナンス担当者がマスタデータの維持を行ったりします。

他には、SSO認証、統計情報のレポート・CSVダウンロードや、CDP(Customer Data Platform)へのデータ連携機能などもアプリケーション・サーバーに実装されました。これらもiPLAssにある基盤機能を利用し、効率よく短期間で完成させました。

コンシューマー向けモバイルアプリ

一般消費者ユーザーがデバイス状況の確認、リモートコントロール、異常通知を受け取るアプリです。UI/UXデザイナーがデザインし、Android(Kotlin)とiOS(Swift)でスクラッチ実装しました。iPLAssを活用し、コンシューマーは直接触れないAPIサーバーや管理機能をコスト効率良く開発し、より多くのリソースをフロントエンドのモバイルアプリのUI/UXと品質向上に割くことができました。

このように、各サーバーとモバイルアプリが、Web APIを介して連携し、システムはサービス提供しています。

このシステムのモバイルアプリとアプリケーション・サーバーの開発期間は、わずか半年と短期間でした。iPLAssを活用して効率良く開発し、UI/UXにこだわったモバイルアプリも顧客満足度の高いものがスケジュール通りに完成しました。

まとめ

APIサーバーがWeb APIを提供し、疎結合で効率良くコンシューマー向けアプリや他システムと連携することは、より多くの選択肢を与え、サービス提供価値を高めていくためのビジネス展開に必須なデザインです。

デザインを実装に変えていくためには、ソフトウェア開発のためのアプリケーション基盤が重要です。アプリケーション基盤を、性能・セキュリティ・品質を担保して開発し維持するためには、高い技術力と大きなコストが必要です。

iPLAssであれば、これらの基盤が全てそろっています。 iPLAssで効率良く、品質の高い開発をし、サービスのビジネス価値を最大限に高め、プロジェクトを成功に導きましょう。

当サイトでは、ノーコード開発ツールやローコード開発プラットフォームを利用し、業務システムの開発を効率化したいエンジニアの方や、会員サイト構築などの新規事業の目的を達成したい方へ、ダウンロード資料をご用意しております。ぜひ資料をご覧いただき、ご活用ください。