サプライ チェーンの追跡とトレース

Blockchain Workbench
IoT Hub

ソリューションのアイデア

さらなる情報、実装の詳細、価格ガイダンス、コード例を追加してこの記事を拡張することをお望みの場合は、GitHub のフィードバックでご連絡ください。

一般的なブロックチェーン パターンに、IoT を利用した、マルチパーティ サプライ チェーンに沿って移動する資産の監視があります。 食品や薬剤などの傷みやすい商品の冷蔵輸送がこのパターンの良い例であり、このような場合、輸送プロセスの全期間を通して一定のコンプライアンス ルールが守られなければなりません。 このシナリオでは、サプライ チェーン上の管理者が遵守しなければならない契約上の条件 (必要とされる湿度および温度の範囲など) を、依頼元の取引先企業 (小売店など) が指定します。 任意の時点で、範囲外の温度または湿度の測定値がデバイスで計測されると、スマート コントラクトの状態が更新されて、コンプライアンスが順守されていないことが示されます。そして、ブロックチェーン上でトランザクションが記録され、ダウンストリームで修復イベントがトリガーされます。

Architecture

アーキテクチャ図 このアーキテクチャの SVG をダウンロードしてください。

IoT デバイスが IoT Hub と通信します。 ルートとして構成された IoT Hub が、そのルートに関連付けられている Service Bus に特定のメッセージを送信します。 そのメッセージはデバイスのネイティブ形式のままであるため、Azure Blockchain Workbench で使用される形式に変換する必要があります。

変換は Azure ロジック アプリによって行われます。 これは、IoT ハブに関連付けられている Service Bus に新しいメッセージが追加されたときにトリガーされ、メッセージを変換し、Azure Blockchain Workbench にメッセージを配信するために使用される Service Bus に配信します。

1 番目のサービス バスは IoT Hub の "送信トレイ" として実質的には機能し、2 番目は Azure Blockchain Workbench の "受信トレイ" として機能します。

Data Flow

  1. IoT デバイスが IoT Hub と通信します。 ルートとして構成された IoT Hub が、そのルートに関連付けられている Service Bus に特定のメッセージを送信します。 そのメッセージはデバイスのネイティブ形式のままであるため、Azure Blockchain Workbench で使用される形式に変換する必要があります。 変換は Azure ロジック アプリによって行われます。 これは、IoT ハブに関連付けられている Service Bus に新しいメッセージが追加されたときにトリガーされ、メッセージを変換し、Azure Blockchain Workbench にメッセージを配信するために使用される Service Bus に配信します。 1 番目のサービス バスは IoT Hub の "送信トレイ" として実質的には機能し、2 番目は Azure Blockchain Workbench の "受信トレイ" として機能します。
  2. DLT コンシューマーによって、メッセージ ブローカー (Service Bus) からのデータが取得され、トランザクション ビルダー (署名者) にデータが送信されます。
  3. トランザクション ビルダーがトランザクションを作成して、それに署名します。
  4. 署名されたトランザクションがブロックチェーン (プライベート Ethereum コンソーシアム ネットワーク) にルーティングされます。
  5. DLT 監視がブロックチェーンに対するトランザクション コミットメントの確認を受け取り、その確認をメッセー ジ ブローカー (Service Bus) に送信します。
  6. DB コンシューマーが、確認されたブロックチェーン トランザクションをオフチェーンのデータベース (Azure SQL Database) に送信します。
  7. オフチェーンのデータベース (Azure SQL Database) に接続することで、Power BI などのツールを使用して分析および視覚化される情報。
  8. 台帳からのイベントは、ダウンストリーム コンシューマーが使用するために Event Grid および Service Bus に配信されます。 "ダウンストリーム コンシューマー" の例として、ロジック アプリ、関数、またはイベントに対してアクションを実行するように設計されたその他のコードが挙げられます。 たとえば、Azure 関数では、イベントを受信して、それを SQL Server などのデータストアに配置することができます。

コンポーネント

  • Application Insights:Application Insights を使用して、Web アプリの問題の検出、クラッシュの診断、使用状況の追跡を行います。 開発ライフサイクル全体で、情報に基づいた意思決定を行います。
  • Web Apps: ミッション クリティカルな大規模 Web アプリを迅速に作成してデプロイ
  • ストレージ アカウント:耐久性があり、高度にスケーラブルな高可用性クラウド ストレージ
  • Virtual Machines:Ubuntu、Red Hat などの仮想マシンをプロビジョニング
  • Azure Active Directory: オンプレミスのディレクトリを同期してシングル サインオンを可能に
  • Azure SQL Database は、リレーショナル アプリケーションを迅速に作成、拡張し、クラウドにスケーリングできるリレーショナル データベース サービスです。
  • Azure Monitor:Azure リソースのデータを詳細かつリアルタイムに監視します。
  • Service Bus:プライベートとパブリックのクラウド環境間で接続
  • Event Grid:信頼性の高い大規模イベント配信を実現

次のステップ

Deploy to Azure (Azure へのデプロイ)