Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ヒトとクルマと業務をつなげるコネクテッドカーサービス「Cariot」のAPI/Cariot API
Search
Takumi Endo
March 16, 2017
Programming
2
3.4k
ヒトとクルマと業務をつなげるコネクテッドカーサービス「Cariot」のAPI/Cariot API
Takumi Endo
March 16, 2017
Tweet
Share
More Decks by Takumi Endo
See All by Takumi Endo
5分くらいでわかるSwagger / 5minutes-swagger
tqjappy
1
1.5k
Introduction to Modern Java
tqjappy
6
8.9k
Writing Nice Code
tqjappy
1
760
Other Decks in Programming
See All in Programming
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
910
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
みんなでプロポーザルを書いてみた
yuriko1211
0
260
C++でシェーダを書く
fadis
6
4.1k
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
as(型アサーション)を書く前にできること
marokanatani
10
2.6k
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Speed Design
sergeychernyshev
25
620
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Designing the Hi-DPI Web
ddemaree
280
34k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
What's in a price? How to price your products and services
michaelherold
243
12k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Documentation Writing (for coders)
carmenintech
65
4.4k
Transcript
(C)Flect Co., Ltd. ヒトとクルマと業務をつなげる コネクテッド・カーサービス 「Cariot」のAPI 株式会社フレクト Cariot事業部 遠藤 匠 Enterprise APIs
Hack-Night #9 〜~MobiTech(Mobility) × API〜~ (2017.03.09)
(C)Flect Co., Ltd. 今⽇日お話すること 1. 会社紹介・⾃自⼰己紹介 2. Cariotについて 3. Cariot
× API 4. API Case Study(到着予測・Webhook) 5. 今後の展望
(C)Flect Co., Ltd. 会社紹介 クラウドテクノロジーでお客様の課題解決を⾏行行う会社 事業内容: 設⽴立立 : 従業員数: 代表 :
所在地 : 認定登録: IoT関連/クラウドインテグレーションサービス コネクテッドカーサービス「Cariot」の運営 2005年年8⽉月 75名 ⿊黒川 幸治 東京都中央区京橋 ▪ Mobile Accelerator Program Salesforce Platform ▪ IoT Jumpstart program
(C)Flect Co., Ltd. ⾃自⼰己紹介 n 職歴 • 2007/04〜~ 某SIer •
2015/02〜~ フレクト • Cariotの名付け親 兼 メイン開発エンジニア n Webアプリ開発(Java, Ruby, JavaScript, CI/CD, AWS) 遠藤 匠 フレクト Cariot事業部 製品開発部
(C)Flect Co., Ltd. (C)Flect Co., Ltd. Cariot
(C)Flect Co., Ltd. クルマとWeb(IT)の融合 Telecommunication Informatics Telematics Car Technology CarTech
Car IoT
(C)Flect Co., Ltd. Car + IoT = Cariot デバイスからUXまでを⼀一気通貫で提供する、 B2B2x向けのクラウドネイティブなコネクテッド・カーサービス
(C)Flect Co., Ltd. ミッション クルマと関わるすべてのヒトをつなげて その結びつけをなめらかに、⼼心地よく変⾰革し、 安⼼心と顧客満⾜足を提供します
(C)Flect Co., Ltd. ポジション・⽬目指すところ 領領域特化 活⽤用の進化 カスタマイズ 最適化 ビッグデータ AI
⾃自動運転 今⽇日から使える
(C)Flect Co., Ltd. 構成 クルマ Cariot Platform ⾞車車載デバイス API Cariot
App UDP/HTTPS OBD II シガー SIM 利利⽤用者 GPSアンテナ
(C)Flect Co., Ltd. ⾞車車載デバイス • OBD IIデバイス クルマの中のECUからも データを取得(GPS、⾞車車速、 電圧、エンジン冷冷却温度度など) • シガーデバイス
デバイスのセンサから データを取得 (GPS、⾞車車速など)
(C)Flect Co., Ltd. OBD IIデバイスの取り付け
(C)Flect Co., Ltd. シガーソケットデバイスの取り付け
(C)Flect Co., Ltd. Cariot Appの特徴 ⾼高いセキュリティと⾼高度度な権限設定 すべての機能をAPIとして提供 個別要望のカスタマイズが可能 常に進化、新しい機能をお届け
(C)Flect Co., Ltd. 顧客に合わせたCariot Appsのラインナップ 1. Salesforceネイティブ 2. Salesforceカスタム 3.
フルカスタム
(C)Flect Co., Ltd. 1. Salesforceネイティブ Salesforce Cariot Package Cariot Platform
• 今⽇日から使える⾞車車両管理理・動態管理理のコア機能を パッケージとして提供 • ノンプログラミングによるカスタマイズ
(C)Flect Co., Ltd. 2. Salesforceカスタム Salesforce Cariot Package Cariot Platform
Custom App JavaScript API • 業務に最適化したビジネスロジックとUIを開発 • JavaScript APIの活⽤用 • CariotのREST APIのラッパー • 地図画⾯面のカスタマイズを⾏行行うためユーティリティ
(C)Flect Co., Ltd. 3. フルカスタム Cariot Platform Custom App • APIを活⽤用した独⾃自のアプリケーション
• ⾃自社システムへの組み込み • 公開サイト など
(C)Flect Co., Ltd. ⾛走⾏行行記録 危険運転の発⾒見見、安全運転の指導、証跡など
(C)Flect Co., Ltd. ⾞車車両予約・実績管理理 ⾞車車両利利⽤用(シェアリング)の効率率率化
(C)Flect Co., Ltd. ⾞車車両の稼働率率率レポート 無駄な⾞車車両が分かる
(C)Flect Co., Ltd. ヒートマップ ⾛走⾏行行のボトルネックが分かる
(C)Flect Co., Ltd. ダッシュボード ⾒見見える化と改善
(C)Flect Co., Ltd. 事例例 n A社様:営業⾞車車両管理理 • 毎⽉月226枚、552時間の報告書作成の時間をゼロに • 毎⽉月3⼈人⽇日の運⾏行行情報集計・催促の⼿手間をゼロに
• ⾞車車両利利⽤用を効率率率化し、10台以上の無駄な⾞車車両を削減 n B社様:ダンプカーの運⾏行行管理理 • 積み込み・積み下ろし・⾛走⾏行行距離離の⾃自動収集 • 現場の⼼心的負担の低減 2016年年4⽉月の事業化以降降、⼤大⼿手企業を中⼼心に20社over 導⼊入がゴールではなく、業務が改善してからスタート
(C)Flect Co., Ltd. Cariot × API Cariot × API (C)Flect
Co., Ltd.
(C)Flect Co., Ltd. Enterprise APIの両翼 レフトウイング (ビジネスプロセス) ライトウイング (技術プラクティス) •
認証⽅方式 • バージョニング • ドキュメンテーション • スロットリング • 同期/⾮非同期 • モニタリング • パフォーマンス • 何を作るか決める • 使いやすさを追求する • 整合性・⼀一貫性を保つ
(C)Flect Co., Ltd. データとヒト・業務の間のギャップ ⾞車車載デバイス UX/Customer Success クルマ・センサからの取得データ (位置情報、速度度、⾛走⾏行行距離離) ⾞車車両ログからの派⽣生データ
(⾛走⾏行行データ・イベント) Cariotが提供する価値 Gap
(C)Flect Co., Ltd. ⽣生々しいユースケースが開発の原点 https://iotnews.jp/archives/39427
(C)Flect Co., Ltd. CariotのDNA: ユーザ体験駆動開発 サービスデザイン • ユーザ=顧客・エンドユーザ APIデザイン • ユーザ=開発者 技術/データ/デバイス駆動
アーキテクチャ/テーブル設計駆動
(C)Flect Co., Ltd. 開発フロー イベント セミナー リード コンタクト 新しい顧客体験、ユースケースの発掘 開発
(C)Flect Co., Ltd. APIでも使い⼼心地を重視 • APIの提供はゴールではなくスタート • 「できる」と「活⽤用できる」の間には⼤大きな差 • ドッグフーディング 製品開発チーム 社内SIチーム 開発パートナー様
(C)Flect Co., Ltd. プログラミングの原則をAPI設計にも YAGNI (You ain’t gonna need it)
• 今必要なものにフォーカス DRY (Don’t Repeat Yourself) • 同じ⽤用途を複数のURIで実現しない KISS (Keep it Simple, Stupid) • シンプルであること • 階層は2階層程度度 • そのバージョニング、本当に必要? SLAP (Single Level of Abstraction Principle) • 抽象度度を統⼀一
(C)Flect Co., Ltd. 失敗しないAPI設計 • 後⽅方互換性を維持することに注意を払う • 崩れるパターンを知っておく • 型を変えたい •
名前を変えたい • 削除したい • ポステルの法則 「送信は厳密に、受信は寛容に」 • 裏裏側の構造(テーブルスキーマ)とAPIを分ける • REST原理理主義にならない
(C)Flect Co., Ltd. アーキテクチャ RDBMS (MySQL) KVS (DynamoDB) ⾞車車両ログや イベント
マスタ データ 外部サービス シングル エンドポイント Amazon API Gateway AWS Lambda EC2 スロットリング キャッシュ モニタリング
(C)Flect Co., Ltd. (C)Flect Co., Ltd. API Case Study (到着予測・Webhook)
(C)Flect Co., Ltd. 到着通知・到着予測機能 指定した⽬目的地に対する 「到着した、出発した、あとN分で到着します」を お知らせする機能 到着予定時刻を算出 エリア進⼊入 判定
エリア退出 判定
(C)Flect Co., Ltd. ユースケース 積込 出発 資材配送 出発 連絡 経過
連絡 遅延 連絡 渋滞などの トラブル 出発 確認 経過 確認 遅延 確認 遅延 対応 仕⼊入れ担当 配送担当 顧客向け配送 (or後続作業) 配送業者が、12時までに仕⼊入れた素材を13時に顧客向けに発送
(C)Flect Co., Ltd. クルマがどこにいるか、いつ着くかわからない • 問題 • 報告遅れによる顧客トラブル • 「早くつかなきゃ」「連絡しなきゃ」という ドライバーのプレッシャー • いつ来るかわからないので、無駄な待ち時間 • 配送業務は「荷物を届ける」ことだけが
⼤大事ではない • 顧客に対する総合的なサービス品質が⼤大事
(C)Flect Co., Ltd. 到着予測(ジオフェンス)
(C)Flect Co., Ltd. DriveCast
(C)Flect Co., Ltd. 効果 • リアルタイムに運転が共有できると… • ストレス・イライラがゼロでみんなハッピー • スピーディーな調整が可能になりサービス品質の向上 • ドライバーは運転に集中で安全・安⼼心
• 無駄な待ち時間をゼロにできる
(C)Flect Co., Ltd. API • ルートを登録するAPI • エリア(⽬目的地)情報 • 通知を⾏行行うためのルール条件 • クルマの”イマ”を返すAPI • エリアへの到着・出発などをトリガとして、 PUSHするAPI(Webhook)
(C)Flect Co., Ltd. OpenAPI Specification
(C)Flect Co., Ltd. イベント処理理の裏裏側 Kinesis Stream AWS Lambda EC2 RDB
EC2 ルールエンジン クルマ Salesforce 外部App イベント 検知 3秒に1回
(C)Flect Co., Ltd. 今後の展望 (C)Flect Co., Ltd.
(C)Flect Co., Ltd. 社会 コネクテッド・カーがつなぐもの ヒト モノ (クルマ) コト (業務)
未来 現在
(C)Flect Co., Ltd. あるべき未来をクラウドで形にする • 組み合わせによる新しい体験の実現 • ⾃自前の⾞車車載デバイスからのデータに限定しない • ⽣生体データ • 重量量、積載量量
• 温度度 • 天気 • オープンデータ • ⾳音声API、など • 競合製品との星取り表だけでは⾒見見えてこない 世界の実現
(C)Flect Co., Ltd. https://www.cariot.jp/