BellaDati IoTデータコントローラは、実証済みのフレームワークであるHazelcastVert.xを利用して、Javaに実装された分散マイクロサービスベースのアプリケーションです。

コントローラモジュール

Audit(監査)

他のモジュールにライセンスと管理サービスを提供します。

  • 監査サービスを提供し、Receiverとセンサーのステータスを提供します。
  • 同じローカルマシンまたはリモートマシンにデプロイされているすべてのReceiverとSenderを認識し、連携します。
  • 同じマシンまたは異なるサーバーで実行されている他のモジュールを自動的に認識します。

Receiver (受信)

IoTデバイスからデータを受信し、最終的に外部サービスによって公開されたデータを購読します。データセキュリティと整合性を保証するための認証とメッセージ検証メカニズムを提供します。 Receiverが動作できるモードはいくつかあります:

  • MQTTサーバー  - モジュールが MQTT サーバーとして実行され、デバイスがメッセージをサブスクライブまたはパブリッシュすることができます
  • MQTTサブスクライブ - モジュールは既存のMQTTブローカーをサブスクライブし、そこからメッセージを受信します
  • HTTP POST consumer - モジュールは、デバイスからのデータを含むHTTP POSTリクエストを受け入れます
  • UDPサーバー - モジュールはUDPデータグラムを受け入れます
  • Telnetサーバー/クライアント - モジュールはtelnetサーバーまたはtelnetクライアントとして実行されています
  • Websocketsサーバー/クライアント - モジュール - モジュールはWebsocketsサーバーまたはクライアントとして実行されています
  • JMSクライアント - JMSメッセージングプロトコルを介して他のシステムと通信することができるモジュールです

  • RTSPクライアント - RTSPビデオストリームに接続し、画像データとメタデータをキャプチャし、さらに処理することができるモジュールです

  • Keyence MC serial/TCP - バイナリモードとアスキーモードでシリアルとTCP接続でPLCに接続するモジュールです

  • Modbus PLC - Modbus 通信プロトコルをサポートする PLC4X フレームワークを実装したモジュール

  • PLC4X - AB-Ethernet, ADS /AMS, BACnet/IP, CANopen, DeltaV, DF1, EtherNet/IP, Firmata, KNXnet/IP, OPC-UA, S7 およびトランスポート(TCP、UDP、ローソケット、シリアルポート、キャンバス、SocketCAN、PCAP リプレイなど)のような様々なプロトコルをサポートする拡張可能モジュールです

  • カスタムモジュール - IoT Controller SDKを使用して実装されたモジュールで、豊富なオプションがあります

Sender (送信)

Senderは、Receiverからデータを読み取り、条件付きの自動アクションを実行するために使用されます。次に例を示します:

  • BellaDati REST - REST APIを介してBellaDatiバックエンドにデータを送信します

  • BellaDatiデータセット - BellaDatiデータセットに直接データを送信します

  • HTTPベース - 広範囲の認証オプションをサポートするHTTPプロトコルを使用して、サードパーティシステムにデータを送信します

  • SMTP - SMTPアクションを使用して、電子メール送信アクションを実行します

  • ファイルシステム - ファイルシステムへのデータ保存

  • MQTT発行 - MQTTメッセージをMQTTブローカーに発行します

  • Modbus パブリッシュ - Modbus プロトコルを使用したメッセージのパブリッシュ

  • PLC4X publish - AB-Ethernet, ADS /AMS, BACnet/IP, CANopen, DeltaV, DF1, EtherNet/IP, Firmata, KNXnet/IP, OPC-UA, S7などの様々なプロトコルやTCP、UDP、ローソケット、シリアルポート、キャンバス、SocketCAN、PCAPリプレイなどのトランスポートをサポートする拡張可能なモジュールです

  • カスタムアクション - IoT Controller SDKを使用して実装されたカスタムアクションです

各種モジュールAPI

各IoTデータコントローラモジュールはHTTPエンドポイントのセットを提供します。これを使用して、モジュールの構成を管理したり、ステータスや受信データを読み取ることができます。

スケーラビリティと分散処理

  • BellaDati IoTデータコントローラは、ネイティブクラスタリングと分散ストレージアプローチの上に構築されています。
  • メッセージは、コンピュータークラスターで実行されているモジュール間で分散されるため、処理と使用可能なストレージを水平方向にスケーリングできます。
  • メッセージのバックアップも特定のモジュール間で分散され、単一のモジュールの障害から保護されます。
  • BellaDati IoTデータコントローラは、頻繁に使用されるデータへのインメモリアクセスと、弾力的にスケーラブルなデータグリッド全体を通じて、アプリケーションで予測可能なスケーリングを提供します。
  • BellaDati IoTデータコントローラは、安定性と信頼性を保証する堅牢な階層型システムです。

マイクロサービスベースのアーキテクチャ

BellaDati IoTデータコントローラはリアクティブスタイルで実装されます。これは、最新のCPUアーキテクチャを活用し、リソースをより効率的に使用する分散アプリケーションを構築する新しい方法です。マイクロサービスと組み合わせると、そのモジュールのそれぞれが個別に開発、リリース、展開、スケーリング、更新、リロードされるという完全な柔軟性が提供されます。また、必要な回復力をシステムに注入して、障害のカスケードを回避し、障害が発生した場合でもシステムの応答性を維持します。最後に重要なこととして、その反応的な実装によって促進される非同期通信は、相互作用の課題に対処するだけでなく、負荷変動に直面するために必要な同時実行性にも対処します。

BellaDati IoTデータコントローラは、分散型リアクティブシステムであり、非同期かつ非ブロッキング開発モデルを使用してJava仮想マシンの上部で実行されます。そのエコシステムは使用されている単なるJARファイルであり、4つの主要なプロパティがあります:

  1. Uses asynchronous message-passing 非同期メッセージ-パッシングの使用
  2. Is elastic 伸縮性
  3. Is resilient 弾力性 
  4. Is responsive 反応性

BellaDati IoTデータコントローラを形成している各コントローラモジュールは、これらのモジュールが同じ場所に配置されているか分散されているかに関係なく、非同期メッセージ-パッシングを使用して対話します。各モジュールは、非同期のノンブロッキング開発モデルを使用して、受信したメッセージに対応します。これにより、コントローラは外部メッセージに応答してのみ作業を行うことにより、リソースをより効果的に共有できます。

コントローラモジュールはまた伸縮性があります。つまり、アーキテクチャは高度に並行して分散されているため、負荷の増加に適切に反応します。また、マルチコアCPUを利用します。

コントローラモジュールは復元力もあります --- 障害に直面し、それらを分離し、高度な戦略を使用して回復できます。

最後の特性である反応性は、コントローラがリアルタイムで魅力的であることを意味します。システムに障害が発生したり、需要がピークに達した場合でも、サービスはタイムリーに提供され続けます。

Programmable Logical Path

IoT Controller は、IoT デバイスを制御するために、頂点のネットワークを構築し、条件やプロトコルを適用して、カスタムロジックを構築できます。下図は、そのような製品ロジックの構築の概念をより詳細に説明したものです。

  • No labels