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

MoT Online Tech Talk Vol.01 - ダウンロード数No1配車アプリを支えるバックエンド

44a210d1299a727e9d601a47dfedeabf?s=47 MoT Tech Talk
February 05, 2021

MoT Online Tech Talk Vol.01 - ダウンロード数No1配車アプリを支えるバックエンド

今回はオンラインにて、5ヶ月という期間で2つのタクシー配車アプリを統合し、満を持して2020年9月にリリースした『GO』のバックエンドの話を、GO技術責任者とバックエンドエンジニアの方をお呼びして語っていただきました。

2つのサービスの統合におけるデータ同期の裏側や、決済代行サービスの対応、統合を経て『GO』ならではのサービスの提供など、ご参加の皆様には幅広いテーマでMoTの開発事情をお届けいたしました。

YouTube
https://www.youtube.com/watch?v=luHV3velAWA

44a210d1299a727e9d601a47dfedeabf?s=128

MoT Tech Talk

February 05, 2021
Tweet

Transcript

  1. Vol.1 ダウンロード数No.1*タクシーアプリを⽀えるバックエンド コロナ下で5ヶ⽉でアプリ統合︕その技術的挑戦と舞台裏をGO技術責任者と語る ※ App Annie調べ|タクシー配車関連アプリにおける日本国内ダウンロード数 (iOS/Google Play合算値) 調査期間:2020年10月1日〜2020年12月31日

  2. Mobility Technologies Co., • Mobility Technologies とタクシー配⾞アプリ『GO』のご紹介 • タクシー配⾞システムの概要 •

    『JapanTaxi』アプリと『MOV』の統合(本⽇のメイン) • 『GO』のバックエンドシステムのこれから 本⽇の内容
  3. Mobility Technologies Co., Mobility Technologies と タクシー配⾞アプリ『GO』の ご紹介

  4. Mobility Technologies Co., 2020年4⽉1⽇付で、JapanTaxi株式会社と株式会社ディー・エヌ・エーの オートモーティブ事業が事業統合した会社 現在はタクシー配⾞アプリ『GO』『JapanTaxi』、 次世代AIドラレコサービス『DRIVE CHART』など、 モビリティ領域における様々なサービスを展開 略称︓MoT(エムオーティー)

    ミッションは、「移動で⼈を幸せに。」 株式会社Mobility Technologies
  5. Mobility Technologies Co., • 2020年9⽉1⽇リリース • 全国17エリアでサービス中 (北海道/宮城県/群⾺県/茨城県/埼⽟県/千葉県/東京都/神奈川県/愛知県/岐 ⾩県/三重県/滋賀県/京都府/⼤阪府/兵庫県/奈良県/福岡県) 新タクシー配⾞アプリ『GO』

  6. Mobility Technologies Co., 登壇者紹介

  7. 恵良 和隆(@erakazu) GO技術責任者 / 開発本部本部長 / フル スタックエンジニア 2002年より約16年間、家庭用ゲームや PCゲーム、モバイルゲームなどの開発に

    携わり、2018年にモビリティサービス開 発者へとキャリアチェンジし、次世代タ クシー配車アプリMOVの開発に携わる。 2020年4月から株式会社Mobility Technologiesに転籍し、開発本部本部長 としてエンジニア組織をマネジメントし つつ、新タクシー配車アプリGOの開発に も携わっている。 池田 周平(@haminick) バックエンドエンジニア UserApp向け, 車載端末向け, 車内コ ンテンツ配信WebAPIと社内管理画面 を担当中です。 アプリケーションを 開発しつつ、クラウド環境の面倒もみ れるいまの開発チームが気に入ってい ます。 https://qiita.com/haminiku http://subc.github.io/
  8. Mobility Technologies Co., タクシー配⾞システムの概要

  9. Mobility Technologies Co., 主に以下の3パターン 1. タクシー会社に電話して、タクシーを配⾞してもらう 2. 駅前などのタクシー乗り場に居るタクシーに乗る 3. 街路を流しているタクシーを捕まえて乗る

    配⾞アプリの登場以前 TAXI
  10. Mobility Technologies Co., 配⾞アプリの登場 TAXI +

  11. Mobility Technologies Co., タクシー配⾞アプリって実際どんなもの︖ 乗る位置を指定 到着まで待つ 乗る︕ ⽀払いはキャッシュレスで 素早く降⾞ ※アプリ上での決済の他、

    ⾞内での現⾦決済にも対応
  12. Mobility Technologies Co., タクシー配⾞に必要な機能とは︖ 動態情報 (時刻ごとの座標、メーター情報など) 配⾞注⽂ 配⾞指⽰ 配⾞承諾 注⽂確定

    • タクシーの動態情報をクラウド上のシステムに収集 • その情報を元に、ユーザーからの配⾞注⽂を処理する
  13. Mobility Technologies Co., タクシー配⾞に必要な機能とは︖ 動態情報 (座標、メーター情報な ど) 配⾞注⽂ 配⾞指⽰ 配⾞承諾

    注⽂確定 • タクシーの動態情報をクラウド上のシステムに収集 • その情報を元に、ユーザーからの配⾞注⽂を処理する
  14. Mobility Technologies Co., 『JapanTaxi』アプリと 『MOV』の統合

  15. Mobility Technologies Co., • 『MOV』のシステムをベースとするが、『MOV』乗務員アプリに加えて 『JapanTaxi』乗務員アプリへの配⾞注⽂にも対応する • 『JapanTaxi』乗務員アプリは、『JapanTaxi』アプリからの配⾞注⽂は これまで通り受けつつ、『GO』からの配⾞注⽂も受け付ける •

    『MOV』のアップデートで『GO』を実現するが、 『MOV』から『JapanTaxi』乗務員アプリに配⾞注⽂出来てはならない 統合アプリ『GO』の要件 JapanTaxi対応タクシー⾞両 (JapnTaxi乗務員アプリ) MOV対応タクシー⾞両 (MOV乗務員アプリ) バージョン アップ 呼べるようにする
  16. Mobility Technologies Co., • 『MOV』のシステムをベースとするが、『MOV』乗務員アプリに加えて 『JapanTaxi』乗務員アプリへの配⾞注⽂にも対応する • 『JapanTaxi』乗務員アプリは、『JapanTaxi』アプリからの配⾞注⽂は これまで通り受けつつ、『GO』からの配⾞注⽂も受け付ける •

    『MOV』のアップデートで『GO』を実現するが、 『MOV』から『JapanTaxi』乗務員アプリに配⾞注⽂出来てはならない 統合アプリ『GO』の要件 受けられるようにする 引き続き呼べる 呼べる JapanTaxi対応タクシー⾞両 (JapnTaxi乗務員アプリ) MOV対応タクシー⾞両 (MOV乗務員アプリ) バージョン アップ
  17. Mobility Technologies Co., • 『MOV』のシステムをベースとするが、『MOV』乗務員アプリに加えて 『JapanTaxi』乗務員アプリへの配⾞注⽂にも対応する • 『JapanTaxi』乗務員アプリは、『JapanTaxi』アプリからの配⾞注⽂は これまで通り受けつつ、『GO』からの配⾞注⽂も受け付ける •

    『MOV』のアップデートで『GO』を実現するが、 『MOV』から『JapanTaxi』乗務員アプリに配⾞注⽂出来てはならない 統合アプリ『GO』の要件 バージョン アップ 呼べる 『MOV』は 受けてはいけない JapanTaxi対応タクシー⾞両 (JapnTaxi乗務員アプリ) MOV対応タクシー⾞両 (MOV乗務員アプリ)
  18. Mobility Technologies Co., • 『MOV』のシステムをベースとするが、『MOV』乗務員アプリに加えて 『JapanTaxi』乗務員アプリへの配⾞注⽂にも対応する • 『JapanTaxi』乗務員アプリは、『JapanTaxi』アプリからの配⾞注⽂は これまで通り受けつつ、『GO』からの配⾞注⽂も受け付ける •

    『MOV』のアップデートで『GO』を実現するが、 『MOV』から『JapanTaxi』乗務員アプリに配⾞注⽂出来てはならない 統合アプリ『GO』の要件 バージョン アップ 両⽅呼べる (配⾞統合) 呼べる 呼べる 必須要件=配⾞統合 JapanTaxi対応タクシー⾞両 (JapnTaxi乗務員アプリ) MOV対応タクシー⾞両 (MOV乗務員アプリ)
  19. Mobility Technologies Co., 配⾞対象の情報には⼤きな違いはない(同種のサービスなのである意味当然) 『MOV』と『JapanTaxi』アプリの仕様① MOV JapanTaxi • マスターデータ ◦

    タクシー事業者(会社/事業所) ◦ タクシー⾞両 ◦ ⾞載端末識別⼦ ◦ ドライバー など • 動態情報 ◦ タクシーの位置情報 ◦ メーターの情報(空⾞、迎⾞、実 ⾞、運賃など) など • マスターデータ ◦ タクシー事業者(会社/事業所) ◦ タクシー⾞両 ◦ ⾞載端末識別⼦(IMEI) ◦ ドライバー など • 動態情報 ◦ タクシーの位置情報 ◦ メーターの情報(空⾞、迎⾞、実 ⾞、運賃など) など 配⾞対象の情報
  20. Mobility Technologies Co., ユーザーとドライバーとのコミュニケーション仕様もほぼ同等 定型⽂メッセージ VoIP(Twilio)による⾳声通話 MOV JapanTax i 対応

    対応 対応 対応 『MOV』と『JapanTaxi』アプリの仕様②
  21. Mobility Technologies Co., ネット決済の仕様が異なり、無停⽌で移⾏するには両⽅への対応が必要 決済代⾏会社 利⽤契約の対象 MOV JapanTax i PAYGENT

    SB Payment Service MOV加盟タクシー事業者 JapanTaxiアプリ加盟タクシー事業者 『MOV』と『JapanTaxi』アプリの仕様③
  22. Mobility Technologies Co., 注⽂・配⾞禁⽌エリア仕様が異なり 『GO』では『JapanTaxi』アプリにあわせた機能拡張が必要 注⽂禁⽌エリア 配⾞禁⽌エリア MOV JapanTax i

    全事業者共通 事業者固有 全事業者共通 全事業者共通 『MOV』と『JapanTaxi』アプリの仕様④
  23. Mobility Technologies Co., 配⾞/注⽂禁⽌エリアとは︖ 注⽂禁⽌エリア 駅や病院の周辺など、特別な施設やタクシー乗り場の 周辺に迎⾞位置を設定できないようにするための制限 エリア。 「この場所にはタクシーを呼べません」 「この場所からは乗れません」

    配⾞禁⽌エリア 駅待ち中の⾞両などにアプリからの配⾞注⽂がかから ないように抑制するための制限エリア。 「この場所にいるタクシーは呼び出せません」 (乗る場所は関係ない)
  24. Mobility Technologies Co., • 『JapanTaxi』アプリ側のマスターデータを『MOV』のDBに同期する (各種IDのコンバートを含む) • 事業者固有の注⽂禁⽌エリア情報を『MOV』のDBに同期し、 『MOV』のシステムが事業者固有注⽂禁⽌エリアに対応する •

    ⾞両の動態情報を⼀括して保持し、配⾞対象を検索するためのシステム • PAYGENTとSB Payment Serviceの両⽅に対応し、利⽤する決済代⾏事業者 を適切に決定する 配⾞統合に必要なもの
  25. Mobility Technologies Co., 『JapanTaxi』DB同期システムが必要なIDを変換してDBの内容を中間DBに同期。 『MOV』 DB同期システムがサービス⽤DBとの差分を抽出して1トランザクショ ンで適⽤する マスターデータ同期 JapanTaxi システムDB

    JapanTaxi DB同期システム MOV DB同期システム 差分抽出⽤中間DB サービス⽤DB
  26. Mobility Technologies Co., 『JapanTaxi』 DB同期システムがDBの最新データを抽出し、必要なIDを変換し て 中間DBに同期。注⽂禁⽌エリアデータ変換システムがサービス⽤DBに 1トランザクションで適⽤する。 注⽂禁⽌エリア同期 JapanTaxi

    システムDB JapanTaxi DB同期システム 注⽂禁⽌エリアデータ 変換システム 中間DB サービス⽤DB
  27. Mobility Technologies Co., 動態情報の⼀元管理 JapanTaxi動態情報 収集システム gRPC Streaming APIに動態データを横流し RedisのPub/Subで動態情報をディスパッチ

    動態情報に含まれるIDをMOVシステム系に変換 RedisからSubscribeしたデータをメモリ上に保持し、 API呼び出しに合わせて動態情報を抽出する MOV動態情報 収集システム
  28. Mobility Technologies Co., • アプリからクレジットカード登録する際、2つの決済代⾏サービスに登録 • 既存MOVユーザーのクレジットカード情報は、事前にSB Payment Service にもコピーしておき、必ず全てのクレジットカード情報は2つの決済代⾏サ

    ービスに登録されるようにする • 配⾞対象のタクシー事業者が『JapanTaxi』アプリ加盟事業者ならSB Payment Serviceを、『MOV』加盟事業者ならPAYGENTを使って決済され るように制御する 2つの決済代⾏サービスへの対応
  29. Mobility Technologies Co., 2020年4⽉1⽇から統合作業を開始。同時にコロナのためフルリモートに 5ヶ⽉間で配⾞機能の統合に必要な全機能を開発し、9⽉1⽇に無事リリース︕ 配⾞機能以外にも、バックオフィスシステムの繋ぎ込みなどの業務上重要な機能 も含め、全機能を予定通り開発出来た。 5ヶ⽉間で統合し、GOリリースへ

  30. Mobility Technologies Co., 『GO』のバックエンドシステム のこれから

  31. Mobility Technologies Co., • 『MOV』をベースとする『GO』は、現時点では『JapanTaxi』アプリが 提供していた機能の多くを提供出来ていない ◦ 様々なネット決済への対応 ◦ 統合されたWallet機能

    ◦ 複数⾞両配⾞ ◦ など • APIの追加開発とビジネスロジックやシステム構成の最適化が必要 『JapanTaxi』アプリの機能の取り込み
  32. Mobility Technologies Co., • お客様のニーズに応える機能の実現 • より最適化された配⾞ロジック • 様々な配⾞オプション(⾞椅⼦対応、スライドドア⾞両など) 『GO』ならではの機能開発

  33. Mobility Technologies Co., • 震災等の⼤規模災害においてもサービスを継続するためのBCP(事業継続計 画)対応の推進 • タクシーという公共交通サービスをより進化させるための様々な機能の提供 公共交通を⽀えるサービスへ

  34. 3/3 DeNA TechCon 2021 にも MoTより登壇多数! ぜひご参加ください。 アンケート回答にご協⼒お願いいたします→ ご視聴ありがとうございました 次回予告

    Vol.2 ⾞載Androidシステムの技術と開発チーム(仮) 2021年2⽉末開催予定