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
3
3.6k
ヒトとクルマと業務をつなげるコネクテッドカーサービス「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
9k
Writing Nice Code
tqjappy
1
770
Other Decks in Programming
See All in Programming
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
320
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
AIネイティブなプロダクトをGolangで挑む取り組み
nmatsumoto4
0
120
GoのGenericsによるslice操作との付き合い方
syumai
2
670
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
1
150
TypeScript LSP の今までとこれから
quramy
1
510
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
360
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
290
複数アプリケーションを育てていくための共通化戦略
irof
10
4k
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
560
GoのWebAssembly活用パターン紹介
syumai
3
10k
Claude Codeの使い方
ttnyt8701
1
130
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
53
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Side Projects
sachag
455
42k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
Code Review Best Practice
trishagee
68
18k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Navigating Team Friction
lara
187
15k
Being A Developer After 40
akosma
90
590k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
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/