Successfully reported this slideshow.
Your SlideShare is downloading. ×

20170311 JAWSDAYS Lunch Session「東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方」

Ad

Copyright © 2016. All rights reserved.
2017年03月11日 (JAWSDAYS)
ハンズラボ株式会社 黒岩 裕輔
東急ハンズのiPad POS「HandsPOS」
と AWSの付き合い方

Ad

Copyright © 2016. All rights reserved.
自己紹介
1
 Yusuke Kuroiwa (きんちゃん。)
 ハンズラボ株式会社
 iPad POSアプリケーション設計・開発・導入・設置・運用
 iOS...

Ad

Copyright © 2016. All rights reserved.
ハンズラボ?
2
 東急ハンズのシステム子会社
 内製
 東急ハンズの各種システムの内製開発と運用保守
 MD、CRM 、POS
 外販
 自社開発の経験...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Check these out next

1 of 16 Ad
1 of 16 Ad

20170311 JAWSDAYS Lunch Session「東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方」

Download to read offline

2017年03月11日
JAWSDAYS Lunch Session
東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方

東急ハンズのPOS概要
開発環境等
バックエンド(AWS)の設計思想と工夫点

2017年03月11日
JAWSDAYS Lunch Session
東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方

東急ハンズのPOS概要
開発環境等
バックエンド(AWS)の設計思想と工夫点

More Related Content

Slideshows for you

20170311 JAWSDAYS Lunch Session「東急ハンズのiPad POS「HandsPOS」と AWSの付き合い方」

  1. 1. Copyright © 2016. All rights reserved. 2017年03月11日 (JAWSDAYS) ハンズラボ株式会社 黒岩 裕輔 東急ハンズのiPad POS「HandsPOS」 と AWSの付き合い方
  2. 2. Copyright © 2016. All rights reserved. 自己紹介 1  Yusuke Kuroiwa (きんちゃん。)  ハンズラボ株式会社  iPad POSアプリケーション設計・開発・導入・設置・運用  iOS Engineer  iOSに関わること全般担当  iOSからAWSに触れるバックエンドの部分は担当  MDM (Mobile Device Management)管理 @wa_kinchan @wakinchan
  3. 3. Copyright © 2016. All rights reserved. ハンズラボ? 2  東急ハンズのシステム子会社  内製  東急ハンズの各種システムの内製開発と運用保守  MD、CRM 、POS  外販  自社開発の経験を活かした受託開発、内製支援
  4. 4. Copyright © 2016. All rights reserved. アジェンダ 1. 東急ハンズのPOS概要 2. 開発環境等 3. バックエンド(AWS)の設計思想と工夫点 3
  5. 5. Copyright © 2016. All rights reserved. 東急ハンズのPOS「HandsPOS」概要 4 自動釣銭釣札機  一般的なPOS機能は全て搭載  ただ無駄な機能は削ぎ落とす  シンプル設計に  操作性の飛躍的向上  自動釣銭機、バーコードスキャナ 連動  現在クレジット、電子マネー機能開発中 レシートプリンタ バーコードスキャナ POS
  6. 6. Copyright © 2016. All rights reserved. 東急ハンズとHandsPOSについて 5  売上高:948億円(2016年3月度)  店舗数 : 計81店舗 (HandsPOS: 40店舗)  レジ台数 : 計800台 (HandsPOS : 200台)  商品件数 : 100万件
  7. 7. Copyright © 2016. All rights reserved. アジェンダ 1. 東急ハンズのPOS概要 2. 開発環境等 3. バックエンド(AWS)の設計思想と工夫点 6
  8. 8. Copyright © 2016. All rights reserved. HandsPOSアプリ開発環境 7  Lang: Swift 3.0  Swift 1.2のときに開発着手  Swiftのコミュニティが活発 (meetup, Conference..)  frameworkが豊富  Types, Protocol, Enum(Associated Value)..  CI: CircleCI  Dependency manager: Carthage , CocoaPods  Lint: SwiftLint  Prototype: Sketch  Git: GitHub (Pull Requests開発)  Communication, Bot: Slack
  9. 9. Copyright © 2016. All rights reserved. HandsPOSアプリのテクノロジ 8 AWS 設定データ、API、ポイント付与 WebSocket iOSとレシートプリンタとの接続 Realm マスタ、取引のCRUD P2P Multipeer Connectivity: iOS同士の接続 SwiftTask Promise RxSwift Reactive
  10. 10. Copyright © 2016. All rights reserved. AWSとiOSの相性 9 柔軟性 SDK  aws-sdk-ios v2  https://github.com/aws/aws-sdk-ios  何かしらの問題があってもIssue立てたり、Pull Requestsを送った り出来るので、プログラムに対して言及できる  Cognitoを利用した安全なリソースへのアクセスが可能  Lambda、SNS、S3など簡単にBackendとの連携が可能 コスト  AWSは実行、利用した分だけ、課金が発生  コスト削減は設計次第
  11. 11. Copyright © 2016. All rights reserved. アジェンダ 1. 東急ハンズのPOS概要 2. 開発環境等 3. バックエンド(AWS)の設計思想と工夫点 10
  12. 12. Copyright © 2016. All rights reserved. 取引データ連携 構成図 11
  13. 13. Copyright © 2016. All rights reserved. 取引データ連携 構成図: iOSから見るAWS 12  安全なAWSリソースへのアクセスのためCognitoを介する  Lambda経由で情報をアクセス  Lambda ⇒ DynamoDB  Lambda ⇒ S3  iOSアプリのアップデートは時間がかかる  機能追加や不具合修正は、Lambdaの修正で完結出来る
  14. 14. Copyright © 2016. All rights reserved. 取引データ連携 構成図: 設計思想、工夫点 13  EC2は極力使わない  基本的にユニケージ(shell script)を使う部分のみに抑える  S3のObjectCreatedイベントでのLambdaがたまに発動しない  リカバリ方法を考えるか、違う方法にしよう  DynamoDBのキャパシティは最初から大きめに設定  基本的に何が置きてもいいよう、繁忙期なみのキャパシティで運用  今後、店舗が増えてもすぐさま対応できる
  15. 15. Copyright © 2016. All rights reserved. HandsPOSは他にないPOSを目指して 14  より良い設計、アーキテクチャ、実装へ!  HandsPOSアプリを更に改良!  カスタマーディスプレイの有効活用!  カメラでポイントカード付与  おすすめ商品サジェスト機能  電子レシート  店員に配っているiPod touchとの連携  先に商品だけスキャンしてレジと連携  クレジットならその場で決済  Apple Pay
  16. 16. Copyright © 2016. All rights reserved. We are hiring! 15 ハンズラボではエンジニアを募集中です! 弊社ホームページ、Wantedlyにてご応募ください AWS Infra Engineer iOS Engineer Web App Engineer

Editor's Notes

  • 画面はiPadに
    旧レジの物理キーを全てなくして、ソフトウェアキーのみになります。
    これによって、必要なボタンのみ表示されており、誤ったキーを押して、エラー音が鳴り響くこともなくなりました
    周辺機器についてです。
    自動釣銭機、レシートプリンタ、バーコードスキャナの3つがあります。
    以前までのレジ同様、自動釣銭釣札機に対応しています。
    自動釣銭機は、お客さんから預かった紙幣、硬貨を投入すれば、自動でおつりが計算されて、出金されます。
    レシートプリンタは、会計が終了した際のレシート、両替の際に利用する両替レシートが印刷できます。
    バーコードスキャナは、主に商品をスキャンする役割です。
  • 本日お話すること
  • 画面はiPadに
    旧レジの物理キーを全てなくして、ソフトウェアキーのみになります。
    これによって、必要なボタンのみ表示されており、誤ったキーを押して、エラー音が鳴り響くこともなくなりました
    周辺機器についてです。
    自動釣銭機、レシートプリンタ、バーコードスキャナの3つがあります。
    以前までのレジ同様、自動釣銭釣札機に対応しています。
    自動釣銭機は、お客さんから預かった紙幣、硬貨を投入すれば、自動でおつりが計算されて、出金されます。
    レシートプリンタは、会計が終了した際のレシート、両替の際に利用する両替レシートが印刷できます。
    バーコードスキャナは、主に商品をスキャンする役割です。
  • 開発着手段階からSwiftを選択していました
    この選択は間違っていなかったと思っています
    Swiftが出る前は、ObjectiveCをメインで開発することがスタンダードでした
    いまや、Swiftが主流になっています
    フレームワークの多さ
    コミュニティの活発さ

    開発メンバーは4人で私含めコーダーが3人です。
    Pull requestをフル活用して、コミュニケーションもGitHub上ですることも多々あります。

  • 本日お話すること
  • 35店舗
  • Design for failure: 障害を前提としたデザイン
  • 35店舗
  • 35店舗

×