Hosted App (Node.jsアプリ) とは

obnizデバイスはデータをobniz Cloudに送信します。obniz Cloudからデータを取得し、サービスシステムに渡すNode.jsプログラムが「Hosted App」です。

サービス提供者は、obnizからデータを取得しサービスに連携させるシステム(Hosted App)を開発する必要があります。

処理の概要

a. obniz cloudが公開するAPIからデバイスの情報を取得
b. 取得したデータを整形
c. 所定の場所にPOST

コードのイメージ:

const data = SomeSensorClass.getScanData(someSensorInstance); // a
const formattedData = format(data); // b
await sendToMyServiceSystem(formattedData); // c

オートスケール・冗長化の機能を標準で実装

obniz Cloudが公開しているAPIをサービスシステムより直接叩きobnizデバイスのデータを取得すれば、理論的にはHosted Appを使わずに同様の仕組みが実現できます。

そのため、Hosted Appという仕組みは冗長に感じられるかもしれませんが、スケールや冗長化が必要になった時にその威力を発揮します。

例えば、前述の二酸化炭素濃度測定システムが、大量の飲食店で導入されていくと仮定します。すると、obnizデバイスが増えるに伴い、システム側のサーバで扱うデータ量が増え、スケールや冗長化などプログラムの運用が問題となります。

Hosted Appを利用すると、オートスケールや様々な負荷分散の機能がobniz-app-sdk(後述)に含まれているため、サービス提供者はビジネスロジックの開発に集中することができます。