Submit Search
Upload
Enterpriseapi20160210
•
2 likes
•
4,950 views
Shinichiro Takezaki
Follow
Enterprise API Hack Night #3 の資料です。
Read less
Read more
Software
Report
Share
Report
Share
1 of 30
Download now
Download to read offline
Recommended
Builderscon Tokyo 2017
Builderscon Tokyo 2017
Shinichiro Takezaki
Vtecx20151216
Vtecx20151216
Shinichiro Takezaki
Reflex works20120818 1
Reflex works20120818 1
Shinichiro Takezaki
Gaeja20121130
Gaeja20121130
Shinichiro Takezaki
BPStudy20121221
BPStudy20121221
Shinichiro Takezaki
2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要
Kimihiko Kitase
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
Kimihiko Kitase
Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係
Kazuyuki Miyake
Recommended
Builderscon Tokyo 2017
Builderscon Tokyo 2017
Shinichiro Takezaki
Vtecx20151216
Vtecx20151216
Shinichiro Takezaki
Reflex works20120818 1
Reflex works20120818 1
Shinichiro Takezaki
Gaeja20121130
Gaeja20121130
Shinichiro Takezaki
BPStudy20121221
BPStudy20121221
Shinichiro Takezaki
2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要
Kimihiko Kitase
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
Kimihiko Kitase
Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係
Kazuyuki Miyake
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
Kazuhiko Isaji
パブリッククラウド動向とIBMの取り組み
パブリッククラウド動向とIBMの取り組み
Kimihiko Kitase
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
Amazon Web Services Japan
VMware SDDC on IBM SoftLayer Cloud
VMware SDDC on IBM SoftLayer Cloud
watarukatsurashima
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
SORACOM, INC
Azure 高速サイトソリューション
Azure 高速サイトソリューション
Hiromasa Oka
[CTO Night & Day 2019] Blockchain on AWS #ctonight
[CTO Night & Day 2019] Blockchain on AWS #ctonight
Amazon Web Services Japan
SoftLayerが CAMSSとゲーム配信 に適する技術的理由
SoftLayerが CAMSSとゲーム配信 に適する技術的理由
softlayerjp
クラウドを活用したシステム開発は適材適所
クラウドを活用したシステム開発は適材適所
Kimihiko Kitase
猫でも分かる Android WebKit
猫でも分かる Android WebKit
Naruto TAKAHASHI
サーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChef
Maho Takara
03_AWS IoTのDRを考える
03_AWS IoTのDRを考える
Amazon Web Services Japan
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
Shinobu Yasuda
Introducing IBM Cloud & Cognitive
Introducing IBM Cloud & Cognitive
Atsumori Sasaki
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
Shinobu Yasuda
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
Amazon Web Services Japan
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
Shinobu Yasuda
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
Ken Sawada
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless Design
Ryuji TAKEHARA
Vtecxlt20151201
Vtecxlt20151201
Shinichiro Takezaki
Lt20190129
Lt20190129
Shinichiro Takezaki
Real techlt20180829
Real techlt20180829
Shinichiro Takezaki
More Related Content
What's hot
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
Kazuhiko Isaji
パブリッククラウド動向とIBMの取り組み
パブリッククラウド動向とIBMの取り組み
Kimihiko Kitase
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
Amazon Web Services Japan
VMware SDDC on IBM SoftLayer Cloud
VMware SDDC on IBM SoftLayer Cloud
watarukatsurashima
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
SORACOM, INC
Azure 高速サイトソリューション
Azure 高速サイトソリューション
Hiromasa Oka
[CTO Night & Day 2019] Blockchain on AWS #ctonight
[CTO Night & Day 2019] Blockchain on AWS #ctonight
Amazon Web Services Japan
SoftLayerが CAMSSとゲーム配信 に適する技術的理由
SoftLayerが CAMSSとゲーム配信 に適する技術的理由
softlayerjp
クラウドを活用したシステム開発は適材適所
クラウドを活用したシステム開発は適材適所
Kimihiko Kitase
猫でも分かる Android WebKit
猫でも分かる Android WebKit
Naruto TAKAHASHI
サーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChef
Maho Takara
03_AWS IoTのDRを考える
03_AWS IoTのDRを考える
Amazon Web Services Japan
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
Shinobu Yasuda
Introducing IBM Cloud & Cognitive
Introducing IBM Cloud & Cognitive
Atsumori Sasaki
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
Shinobu Yasuda
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
Amazon Web Services Japan
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
Shinobu Yasuda
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
Ken Sawada
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless Design
Ryuji TAKEHARA
What's hot
(19)
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
パブリッククラウド動向とIBMの取り組み
パブリッククラウド動向とIBMの取り組み
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
VMware SDDC on IBM SoftLayer Cloud
VMware SDDC on IBM SoftLayer Cloud
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
Azure 高速サイトソリューション
Azure 高速サイトソリューション
[CTO Night & Day 2019] Blockchain on AWS #ctonight
[CTO Night & Day 2019] Blockchain on AWS #ctonight
SoftLayerが CAMSSとゲーム配信 に適する技術的理由
SoftLayerが CAMSSとゲーム配信 に適する技術的理由
クラウドを活用したシステム開発は適材適所
クラウドを活用したシステム開発は適材適所
猫でも分かる Android WebKit
猫でも分かる Android WebKit
サーバーサイド技術者不足に効くChef
サーバーサイド技術者不足に効くChef
03_AWS IoTのDRを考える
03_AWS IoTのDRを考える
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
Introducing IBM Cloud & Cognitive
Introducing IBM Cloud & Cognitive
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless Design
Similar to Enterpriseapi20160210
Vtecxlt20151201
Vtecxlt20151201
Shinichiro Takezaki
Lt20190129
Lt20190129
Shinichiro Takezaki
Real techlt20180829
Real techlt20180829
Shinichiro Takezaki
Bpstudy20180725
Bpstudy20180725
Shinichiro Takezaki
React vtecx20171129
React vtecx20171129
Shinichiro Takezaki
React vtecx20171025
React vtecx20171025
Shinichiro Takezaki
Angularreflex20141210
Angularreflex20141210
Shinichiro Takezaki
React vtecx20170822
React vtecx20170822
Shinichiro Takezaki
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
Hiroki Takeda
React vtecx20170920
React vtecx20170920
Shinichiro Takezaki
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
Contiv
Contiv
Shogo Katsurada
AWSにおけるマイクロソフトプラットフォームセキュリティ
AWSにおけるマイクロソフトプラットフォームセキュリティ
Amazon Web Services Japan
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
政雄 金森
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
江藤 武司
Web study20171007
Web study20171007
Shinichiro Takezaki
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
Akira Inoue
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
Shinpei Ohtani
Similar to Enterpriseapi20160210
(20)
Vtecxlt20151201
Vtecxlt20151201
Lt20190129
Lt20190129
Real techlt20180829
Real techlt20180829
Bpstudy20180725
Bpstudy20180725
React vtecx20171129
React vtecx20171129
React vtecx20171025
React vtecx20171025
Angularreflex20141210
Angularreflex20141210
React vtecx20170822
React vtecx20170822
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
React vtecx20170920
React vtecx20170920
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
Contiv
Contiv
AWSにおけるマイクロソフトプラットフォームセキュリティ
AWSにおけるマイクロソフトプラットフォームセキュリティ
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
AWS Lake Formation で実現、マイクロサービスのサーバーレスな分散トレーシング
Web study20171007
Web study20171007
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
WebMatrix 2 と Azure Web Sites を使ったスマートフォンサイト構築のすすめ
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
More from Shinichiro Takezaki
Vtecx solution
Vtecx solution
Shinichiro Takezaki
11 29プレゼン資料
11 29プレゼン資料
Shinichiro Takezaki
20171025 date picker説明資料
20171025 date picker説明資料
Shinichiro Takezaki
Vtecx20151216 2
Vtecx20151216 2
Shinichiro Takezaki
No nosql20130424
No nosql20130424
Shinichiro Takezaki
Groovyコンファレンス
Groovyコンファレンス
Shinichiro Takezaki
More from Shinichiro Takezaki
(6)
Vtecx solution
Vtecx solution
11 29プレゼン資料
11 29プレゼン資料
20171025 date picker説明資料
20171025 date picker説明資料
Vtecx20151216 2
Vtecx20151216 2
No nosql20130424
No nosql20130424
Groovyコンファレンス
Groovyコンファレンス
Enterpriseapi20160210
1.
Copyright © Virtual
Technology, Inc APIだけで フロントエンド開発を可能にした話 2016/2/10 有限会社バーチャルテクノロジー 1
2.
Copyright © Virtual
Technology, Inc • ⽵嵜 伸⼀郎 (たけざき しんいちろう) twitter id:stakezaki 元⽇本IBM(ソフトウェア事業部) 元株式会社暮らしのデザインCTO • Virtual Technologyにて 企業向けKVS・BaaS等を開発 ReflexWorks vte.cx 2
3.
Copyright © Virtual
Technology, Inc3 ⼤規模 Web帳票システム by ReflexWorks APIのスループット 7万ユーザ/日 40万伝票/日 600tps ! ※ DBはその10倍以上
4.
Copyright © Virtual
Technology, Inc vte.cx (ブイテックス) engine • http://admin.1.vte.cx 4 2015/12 βリリース
5.
Copyright © Virtual
Technology, Inc vte.cx engine の概要 KVS Web スマホ • Web(スマホ)システム向けBaaS(Backend as a Service) – CMS(Content Management System)機能 – トランザクションサポート – ユーザ・グループ管理 – サーバサイドJavaScript – EXCEL⼊出⼒機能 – PDF帳票出⼒機能 オンライントランザクション処理 データ分析 ※ 2016年春リリース予定
6.
Copyright © Virtual
Technology, Inc サーバレスアーキテクチャーの課題 6
7.
Copyright © Virtual
Technology, Inc 今注⽬のサーバレス アーキテクチャー 7 API Gateway Lambda Cognito SNS DynamoDB Cloud Front S3 client mobile client
8.
Copyright © Virtual
Technology, Inc サーバレスアーキテクチャーは Webアプリに使えるか? 8
9.
Copyright © Virtual
Technology, Inc 設定地獄の懸念 • 静的コンテンツとAPIが異なるドメイン – CORSの設定、あと、セッションどうすんの? • 各サービス利⽤には認証が必要 – CognitoのSecurity Token Serviceで設定 • そもそも考慮の必要がなかったことでは? • サーバレスのはずなのにサーバの設定が必 要ってどういうこと? 9
10.
Copyright © Virtual
Technology, Inc API以外の余計なことは考えたくない 10 サーバの中で複数のサービスに分かれようが クライアントにとってはどうでもいい 適当に分散して勝⼿にスケール これが真のサーバレス
11.
Copyright © Virtual
Technology, Inc vte.cxのアプローチ 11
12.
Copyright © Virtual
Technology, Inc サーバレスWeb開発の⽬標 • vte.cxはフロントエンドエンジニアだけで Webアプリを開発することを⽬標にした サーバサイドのことは本当に何も考えない • SPA(SinglePageApplication)の採⽤と⾃由なAPI設計 – HTMLやJavaScriptのコーディングのみ – ACIDトランザクションに対応 • ローカル開発環境の提供と簡単なデプロイ 12
13.
Copyright © Virtual
Technology, Inc - ポイント1 - サーバサイドレンダリングをやめSPAを採⽤ • SPAは優れたUXを提供することを⽬的とする 1つのWebページで提供されるアプリケーション – クライアントはXHR等でサーバにリクエストし、結果 をJSONなどのデータで受取る – ページの再読込せずにJavaScriptで動的に更新する 13
14.
Copyright © Virtual
Technology, Inc14 増えたフロントの責務と残る課題 h:p://www.slideshare.net/fullscreen/sagawafumio/ss-38480894/6 ここをどうするか?
15.
Copyright © Virtual
Technology, Inc - ポイント2 – 直感的なREST APIを作る • フロントエンジニアが⾃由に設計できるようにする – URIの設計 – スキーマの設計 重要:データだけでなく HTMLなどの静的 コンテンツも同じ扱い
16.
Copyright © Virtual
Technology, Inc16
17.
Copyright © Virtual
Technology, Inc17
18.
Copyright © Virtual
Technology, Inc18
19.
Copyright © Virtual
Technology, Inc19
20.
Copyright © Virtual
Technology, Inc スキーマ • シンプルなシンタックス – 「項⽬名(型)= 正規表現」の形式で記述 • バリデーション – 正規表現で値をチェック • ソフトスキーマ – 項⽬の追加が可能 • Index – Index指定が可能 20 booking registration_no=d{0,7}-d{0,2}$ date(datestring)!=^d{0,2}/d{0,2}/d{0,2}$ type[]!=^Foo$|^Bar$|^Buzz$ payment_method_name!=^[0-9a-zA-Z]{0,15}$ shipper customer_no=^d{0,6}$ company_name!=^[a-zA-Z0-9- .,/:@`~()'%]{0,50}$ zipcode!=^d{3}-d{4}$
21.
Copyright © Virtual
Technology, Inc vte.cxのトランザクション管理 • Feed(Collection)単位のAtomicトランザクション – 分離レベル:REPEATABLE READ • かつ、Entry単位のバージョン⽐較 – 分離レベル:SNAPSHOT ISOLATION – 全てのEntryはURLとリビジョンで管理される – リビジョン=更新されると+1される 21 https://www.facebook.com/notes/virtual-technology/ bdbトランザクションとreflexworksの処理について/486790368009209 データの⼀貫性を確保しつつ⾼いスループットを実現 詳細:
22.
Copyright © Virtual
Technology, Inc - ポイント3 - ローカル開発環境 • リバースプロキシでクロスドメインを回避 • サービスのURLだけをサーバに向ける 22 /d/master ローカル環境で 開発しているイメージ
23.
Copyright © Virtual
Technology, Inc CircleCI 23 GitHubにPushすることで⾃動的にサーバにデプロイ ※ 設定方法はAdvent Calendar の13日目に記載
24.
Copyright © Virtual
Technology, Inc vte.cx開発⼿順 • 管理画⾯でサービスを新規作成 • Githubのvtecxblankをclone • コンテンツを作成、APIを作成 • コンテンツをGitHubにpushすることで サーバにデプロイ – もしくは、gulpコマンド⼀発 • データをREST APIで操作 たった、これだけ。 これですべてのWebシステムを開発できる 24
25.
Copyright © Virtual
Technology, Inc 本当は複雑なサーバサイド • マルチテナントアーキテクチャー • KVSであることを意識させない(ドキュメント型) • 並列分散したノードがMicroservices的に連携 複雑さを一切 表に出さない
26.
Copyright © Virtual
Technology, Inc まとめ • サーバの複雑さは隠蔽すべき – 現状のサーバレスアーキテクチャーは構成の都合を クライアントに押し付けているように思える – Microservicesも同様。モノリシックを分解してThin にするのはいいが、認証などの考慮をクライアント にさせるのは不味い • Webアプリのことだけに集中すべき – 重要なのはAPIとスキーマ設計(+ACL) – 静的コンテンツを含めSame Originで管理する • ローカル開発環境・デプロイ環境は重要 – ⼤規模なWeb開発ではローカル開発環境は必須 – コマンド⼀発かGithubにpushで⾃動デプロイ 26
27.
Copyright © Virtual
Technology, Inc 余談:MicroServices 隠蔽されるサーバ技術に標準化は必要か? • JSON Schema、Swagger(Open API) • AccessToken関連 – JWT(JSON Web Token) – OAuth 2.0 Token Introspection (RFC7662) などを駆使してMicroServicesを使いこなそうとしている正 直者が多い。⼀体誰得なの? 標準に準拠しているのとインターオペラビリティは別の問題 私たちは開発⽣産性の⽅が重要だと考えて、結局、(独⾃)ス キーマとワンタイムトークン(RXID) を採⽤した 詳しくは「WebAPI認証」で検索 27
28.
Copyright © Virtual
Technology, Inc 私たちのビジネスの話 • Webアプリの受託開発でvte.cxを活⽤ • オンプレミスvte.cx(ReflexWorks)の販売 • 将来的にBaaS vte.cxの有償版 – 全然流⾏る気配なし。 – たぶん、BaaSはビジネスにならないだろう 28
29.
Copyright © Virtual
Technology, Inc29 Qiita Advent Calendar 2015 h:p://qiita.com/advent-calendar/2015/vtecx?share=true
30.
Copyright © Virtual
Technology, Inc30 ご清聴ありがとう ございました Blogも書いています ぶいてく
Download now