投稿日

新機能 Unified Endpoint をリリースしました!

みなさん、こんにちは。ソラコムの清水 (yuta) です。
本日、このエントリで if-up2019 にあわせてお届けするのは、Unified Endpoint です!!

Unified Endpoint って何?

Unified Endpoint は新サービスではありません
今までに SORACOM Lagoon までアルファベット順にリリースしてきたのに急に U に飛んで大丈夫なのか?とご心配いただいた方、ありがとうございます。大丈夫です。

Unified Endpoint が何かということを説明するには、これに関連する SORACOM サービスをいくつか簡単に把握していただく必要があります。

SORACOM は IoT デバイスからクラウドやサーバーにデータを転送・保存するためのサービスを3つリリースしています。
それぞれについて、一言で説明します。

  • SORACOM のサービスローンチと同時にリリースされた、データ転送サービスの SORACOM Beam (以下、Beam)
  • 特定のクラウドサービスやSaaSにデータを簡単に転送できる SORACOM Funnel (以下、Funnel)
  • データを SORACOM プラットフォーム上に保存してユーザーコンソール上や、ダッシュボードサービスのSORACOM Lagoon (以下、 Lagoon)で可視化できる SORACOM Harvest (以下、Harvest)。

これらのサービスはどれもデータをどこかに送信・保存するサービスという特徴は共通しているものの、それぞれ独立したサービスとして提供されていました。
そのため、利用する際にはそれぞれ別のエンドポイント(データを送信する宛先)を指定する必要がありました。

ここまでで、察しの良い方はピンときたかもしれません。
Unified Endpoint はこれら3つのサービスを融合した、単一のエンドポイントを提供するサービスです。

Unified Endpoint の構成図

Unified Endpoint で変わること

利用者はデバイスに設定するエンドポイントを従来のエンドポイントから Unified Endpoint (uni.soracom.io) に変更することで、データを送信するサービスを Beam, Funnel, Harvest の中から切り替えることができるようになります。
切り替えはユーザーコンソールやAPIから行うことができ、Cellularを利用していた場合に必要だったデバイスの設定変更が不要になりました。

Unified Endpoint は単に送信先を切り替えるだけでなく、これら3つのサービスに1度のリクエストでメッセージを送信することができます。
Beam を利用中に Lagoon を試してみたいときや、 Harvest で利用していたデバイスを Funnel に切り替える際に、一時的に両方にデータを送信して移行期間を持つといったことがリモートで完結します。

この場合、複数のエンドポイントに送信することになるので、レスポンスはどうなるの?という疑問が湧くかもしれません。
Unified Endpoint は複数のレスポンスフォーマットを選択できるようになっています。BeamとHarvestに送りながらも、レスポンスはBeamにしておくこともできます。

また、Unified Endpoint 独自の新機能として、レスポンスをカスタマイズできるようになりました。
デバイスの制約で特定のレスポンスを返却しないと都合が悪い、という場合に成功時、失敗時それぞれにあらかじめ決めておいたレスポンスを返すことができます。

Unified Endpoint が使える通信・プロトコル

Unified Endpoint は以下のデバイスには自動的に適用されます。
それぞれの挙動には互換性があります。

  • SORACOM Air for LoRaWAN
  • SORACOM Air for Sigfox
  • SORACOM Inventory (Lwm2m の変更を通知する機能)
  • SORACOM LTE-M Button for Enterprise

Unified Endpoint は以下のプロトコルで利用できます。

  • SORACOM Air for Cellular (HTTP, TCP, UDP, SMS, USSD)
    • HTTP は POST メソッドのみ対応しています。
    • Beam の Website エントリポイントには対応していません。
    • TCP の送信データ形式「SORACOM Binary Format V1」には対応していません。

Unified Endpoint は以下のプロトコルでは利用できません。

  • SORACOM Air for Cellular (MQTT)
  • SORACOM Inventory HTTP endpoint

まとめ

ここまでで説明させていただいたとおり、Unified Endpoint は単なるエンドポイントではなく、いままでにリリースされた Beam/Funnel/Harvest を融合する意欲的な新機能となっています。
既存の Beam/Funnel/Harvest との完全な互換性を維持するよりも、Unified Endpoint をより魅力的な機能にしていきたいと考えています。
Unified Endpoint は独立したサービスではありませんが、現時点では Public Beta での提供となります。
今後いろいろな機能を追加していきますので、お楽しみに。

さらに詳しく知りたい方は、開発者ドキュメントを参照してください。
それでは、みなさま素敵なIoTライフを!

yuta