システムの全体像

システムからエンドユーザーまでの全体図

obniz-app-sdkを使用する場合は、図のような構成が可能です。

system-obniz-app-sdk%201.png

⚠obniz.jsのみを使用する場合やWebSocket APIを直接使用する方は、スケーリング周りの処理を独自実装していただく必要があります。

workerがobnizデバイス1台分のプログラムです。

AppインスタンスがobnizCloudと連携し、obnizCloud上でアプリがデバイスにインストール/アンインストールされると、それに連動してworkerの生成/削除を行います。

Appインスタンスを通じてworkerインスタンスと情報のやり取りができるので、たとえばAPIが叩かれたらAppインスタンスを通じて最新のデバイス状態を確認し、その情報を返す、なども可能です。

obnizへの接続

obnizのセットアップ

obnizデバイスを操作するためには、obnizデバイスがobniz Cloudに接続されている必要があります。

アプリからobniz Cloudへの接続経路

system-outbound.png

緑線で囲われている、アプリサーバー(obniz-app-sdk slave)からobniz Cloudへの接続はアウトバウンド(中から外)で行われます。

obnizからアプリサーバーに直接接続したり、その逆もありません。obniz Cloud(※1)を経由することによりNAT超えを不要にしています。

その為、ポート開放などを行う必要はありません。

※1 obniz CloudはAPIサーバーの他にTURNサーバーとしても稼働しています。

アウトバウンドのファイアウォールを設定する場合

https://api.obniz.com:443 及び https://obniz.com:443 へのアクセスを許可してください。