Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web PubSubで創るマイ都市デジタルツイン 〜WebSocketはPostmanでテストするのだよ〜

草薙昭彦
September 16, 2023

Web PubSubで創るマイ都市デジタルツイン 〜WebSocketはPostmanでテストするのだよ〜

Japan Azure User Group 13周年イベントでの発表資料です。

東京の公共交通デジタルマップMini Tokyo 3Dには、開発者がライブラリAPIを使用して独自の情報を簡単に3Dマップの上にオーバーレイできるしくみがあります。今回はAzure Web PubSubに入ってきた情報をWebSocketで取得してMini Tokyo 3Dのマップ上にリアルタイムで表示するデモを、聴衆の皆さんと一緒に作りたいと思います。あ、WebSocketのテストにはPostmanを使いますよ。

草薙昭彦

September 16, 2023
Tweet

More Decks by 草薙昭彦

Other Decks in Technology

Transcript

  1. All rights reserved by Postman Inc Web PubSub で創るマイ都市デジタルツイン 〜WebSocket

    は Postmanでテストするのだよ〜 草薙 昭彦 テクノロジーエバンジェリスト
  2. Mini Tokyo 3D 東京の公共交通機関の3Dマップ Japan EQ Locator 震源・震度分布の3Dマップ Mapbox GL

    Rain Layer 降水降雪アニメーション Ukraine Live Cams ライブカメラ3Dマップ 北朝鮮ミサイル実験ビジュアライゼーショ ン 弾道ミサイル軌道の可視化 Sea Level Rise 3D Map 都市の海面上昇シミュレーション https://nagix.github.io/
  3. Mini Tokyo 3D 概要 ▶ 東京の公共交通のリアルタイム 3Dマップ ▶ 今、実際に動いている列車やバス、発着している 旅客機をリアルな3Dマップ上に滑らかなアニメー

    ションで表現 ▶ 現実世界とそっくりな双子をデジタルの世界に表 現した「デジタルツイン」 ▶ 実際の遅延や天候をマップ上に反映 ▶ 路線沿いのライブカメラや花火イベント ▶ 地下鉄駅の出口案内や独自の経路探索エンジン による遅延を反映した乗換案内 https://minitokyo3d.com @postman_japan
  4. 本日のトピック • Azure Web PubSub のサービスを立ち上げ、Postman で WebSocket のやり取りを試 してみる

    • Mini Tokyo 3D にチャットのポップアップを表示するレイヤーをプラグインとして組み込 み、動かしてみる @postman_japan Postman API コレクション Mini Tokyo 3D Azure Web PubSub WebSocket API
  5. Azure Web PubSub • シンプルな WebSocket 接続を使用して、メッセージを発行/サブスクライブする簡単な 方法を提供 ◦ 1

    つの接続内でテキストメッセージとバイナリメッセージの両方をサポート ◦ クライアント間でメッセージを直接発行するためのシンプルなプロトコル ◦ サービスによって WebSocket 接続を管理 @postman_japan
  6. Postman とは? @postman_japan API 提供側 ライフサイクル API 利用側 ライフサイクル テスト

    開発 設計 定義 デプロイ デプロイ 配布 監視 監視 テスト 評価 統合 発見 セキュ リティ • API リクエストに対するレスポンスをテストするための API クライアントを中心に、API 提 供者・利用者両方の API ライフサイクル全体に役立つツールを提供
  7. Environment を作成して変数をセットする • 新しい Environment を作成し、名前をつけ、変数をセット( Save 忘れずに!) ◦ baseUrl:

    wss://<リソース名>.webpubsub.azure.com ◦ access_token: <クライアントアクセス URL の access_token> @postman_japan
  8. JSON データを送信 • Message タブに移動し、{ "type": "sendToGroup", "group": "<グループ名>", "dataType":

    "json", "data": <JSON オブジェクト> } という JSON を送信 @postman_japan
  9. データプロバイダ クラウド または オンプレ リアルタイム飛行コースデータ リアルタイム天候データ 交通事業者 気象レーダー Mapbox 地図タイルデータ

    Mini Tokyo 3D 構成図 クライアント (Webアプリ) Mini Tokyo 3D プログラム 国交省 航空局 リアルタイム 交通データ ライブカメラデータ ライブカメラ Mini Tokyo 3D Webページ + プログラム 取得 ・ 加工 Webページ + プログラム + データ データ例: 路線情報・列車時刻表・列車位 置・運行情報・駅構内図など
  10. マップ上にメッセージのポップアップを表示 次のような JSON データを PubSub に送信 @postman_japan { "type": "sendToGroup",

    "group": "group1", "dataType" : "json", "data": { "text": "Hello, Tokyo", "center": [139.7404, 35.6266] } } 指定した座標にポップアップ出現!