SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Copyright © Virtual Technology, Inc
フロントエンドエンジニアの価値を⾼める
BaaS(vte.cx)
〜フロントエンドだけで作るこれからのWebシステム開発 〜
2015/12/16 有限会社バーチャルテクノロジー
1
Copyright © Virtual Technology, Inc
•  ⽵嵜 伸⼀郎 (たけざき しんいちろう)
– vte.cx概要 (約20分)
•  ⽵⼭ 恵悟(たけやま けいご)
– Hands OnとDEMO (約40分)
•  (有)バーチャルテクノロジー
– 分散KVSのミドルウェア(ReflexWorks)開発
2
Copyright © Virtual Technology, Inc
BaaSを作った3つの理由
1. BaaSの現状
2. ReflexWorks
3. SPA
3
Copyright © Virtual Technology, Inc
BaaS は今、幻滅期
• すべてが中途半端
• 何でもかんでもAPIにした結果、
 ベンダーロックイン
• 機能改善がなかなか進まず負の遺産を抱
え込んだ状態に
• USではもはや胡散臭いものと思われてい
るらしい
4
Copyright © Virtual Technology, Inc5	
⼤規模 Web帳票システム by ReflexWorks
 APIのスループット	
	7万ユーザ/日 40万伝票/日 
 600tps	!	
  ※	DBはその10倍以上
Copyright © Virtual Technology, Inc
SPA(Single Page Application)とは
•  優れたUXを提供することを⽬的とする
 1つのWebページで提供されるアプリケーション
–  クライアントはXHR等でサーバにリクエストし、結果
をJSONなどのデータで受取る
–  ページの再読込せずにJavaScriptで動的に更新する
6
Copyright © Virtual Technology, Inc
なぜSPA?
•  サーバーでHTMLを⽣成するよりも、
クライアントで動的に画⾯を更新する⽅が効率的
•  ユーザーの操作に応じてインタラクティブに動く
リッチクライアントを実現できる
7	
これってネイティブアプリ?
お客様
いいえ、Webアプリです。
開発者
SPA
Copyright © Virtual Technology, Inc8	
増えたフロントの責務と残る課題
h5p://www.slideshare.net/fullscreen/sagawafumio/ss-38480894/6	
ここをどうするか?
Copyright © Virtual Technology, Inc
極めて⾃由度の⾼いBaaSの要求
• サーバサイドのAPIもフロントエンジニア
が⾃由に作れるBaaSを作れないか?
• HTML、CSS、JavaScriptなどのフロント
エンドコーディングだけでWebシステム
を作れるようにならないか?
• 中途半端ではなくちゃんとしたWebアプ
リを作れないか?
9
Copyright © Virtual Technology, Inc
vte.cx (ブイテックス) engine
KVS	
Web	
スマホ	
 
•  Web(スマホ)システム向けBaaS(Backend as a Service)
–  CMS(Content Management System)機能
–  トランザクションサポート
–  ユーザ・グループ管理
–  サーバサイドJavaScript
–  EXCEL⼊出⼒機能
–  PDF帳票出⼒機能
オンライントランザクション処理	 データ分析	
※ 2016年春リリース予定
Copyright © Virtual Technology, Inc
vte.cxのトランザクション管理
•  Feed(Collection)単位のAtomicトランザクション
–  分離レベル:REPEATABLE READ
•  かつ、Entry単位のバージョン⽐較
–  分離レベル:SNAPSHOT ISOLATION
–  全てのEntryはURLとリビジョンで管理される
–  リビジョン=更新されると+1される
11	
https://www.facebook.com/notes/virtual-technology/
bdbトランザクションとreflexworksの処理について/486790368009209
データの⼀貫性を確保しつつ⾼いスループットを実現
詳細:
Copyright © Virtual Technology, Inc12	
•  リソースURLを⾃由に設定・追加
•  リソースを様々なフォーマットに変換
直感的なREST API
Copyright © Virtual Technology, Inc13
Copyright © Virtual Technology, Inc14
Copyright © Virtual Technology, Inc15
Copyright © Virtual Technology, Inc16
Copyright © Virtual Technology, Inc
その他
• ユーザ管理・グループ管理
• CMS機能
17	
h5p://reflexworks.jp/documentaOon.html
Copyright © Virtual Technology, Inc
サーバサイドJavaScript
• GET /s/booking などで起動
• /booking.js の doGet() が呼ばれる (CoC)
• POST、PUT、DELETEも同様
• JSの関数内部で ReflexContext.xxx(url) を実
⾏することで実際にDBを読み書きする
18
Copyright © Virtual Technology, Inc
開発のイメージ
• 管理画⾯でサービスを新規作成
• vtecxblankをclone
• コンテンツをGitHubにpushすることで
サーバにデプロイ
–  もしくは、gulpコマンド⼀発
• データをREST APIで操作
ただ、これだけ。
これですべてのWebシステムを開発できる
19
Copyright © Virtual Technology, Inc
管理画⾯
• http://admin.1.vte.cx
20
Copyright © Virtual Technology, Inc
Vtecxblankをclone
•  https://github.com/reflexworks/vtecxblank
21
Copyright © Virtual Technology, Inc
CircleCI
22	
GitHubにPushすることで⾃動的にサーバにデプロイ
※ 設定方法はQiita	の13日目に記載
Copyright © Virtual Technology, Inc
DEMO & Handson
23
Copyright © Virtual Technology, Inc
vte.cxで期待できること
• Webアプリを超短期間で開発可能
• プロトタイピングでスモールスタート
–  初期投資をかけずに短期間で効果を検証
–  とりあえず作ってみて判断
24
Copyright © Virtual Technology, Inc
ビジネスの話
• Webアプリの受託開発でvte.cxを活⽤
• オンプレミスvte.cx(ReflexWorks)の販売
• 将来的にBaaS vte.cxの有償版
25
Copyright © Virtual Technology, Inc26	
Qiita 毎⽇更新中です
h5p://qiita.com/advent-calendar/2015/vtecx?share=true
Copyright © Virtual Technology, Inc27	
ご清聴ありがとう
ございました	
Blogも書いています
ぶいてく

Weitere ähnliche Inhalte

Was ist angesagt?

2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要Kimihiko Kitase
 
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較Core Concept Technologies
 
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説Kimihiko Kitase
 
ApexからAWS IoT叩いてみた話
ApexからAWS IoT叩いてみた話ApexからAWS IoT叩いてみた話
ApexからAWS IoT叩いてみた話tzm_freedom
 
SoftLayer最新動向と賢い利用方法
SoftLayer最新動向と賢い利用方法 SoftLayer最新動向と賢い利用方法
SoftLayer最新動向と賢い利用方法 Kimihiko Kitase
 
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0Kazuhiko Isaji
 
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界Shinobu Yasuda
 
VMware SDDC on IBM SoftLayer Cloud
VMware SDDC on IBM SoftLayer CloudVMware SDDC on IBM SoftLayer Cloud
VMware SDDC on IBM SoftLayer Cloudwatarukatsurashima
 
MySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayerMySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayerMaho Takara
 
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)Shinobu Yasuda
 
アマゾン ウェブ サービスとJAWS-UG
アマゾン ウェブ サービスとJAWS-UGアマゾン ウェブ サービスとJAWS-UG
アマゾン ウェブ サービスとJAWS-UGShigeru Numaguchi
 
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!Amazon Web Services Japan
 
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界Shinobu Yasuda
 
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)Naoki (Neo) SATO
 
Bluemix_API_Possibility
Bluemix_API_PossibilityBluemix_API_Possibility
Bluemix_API_PossibilityHarada Kazuki
 
【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術Yoshinori Fujiwara
 

Was ist angesagt? (19)

2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要2016年冬 IBMクラウド最新動向と概要
2016年冬 IBMクラウド最新動向と概要
 
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
 
IoTを支えるAWSアーキテクチャ
IoTを支えるAWSアーキテクチャIoTを支えるAWSアーキテクチャ
IoTを支えるAWSアーキテクチャ
 
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
 
ApexからAWS IoT叩いてみた話
ApexからAWS IoT叩いてみた話ApexからAWS IoT叩いてみた話
ApexからAWS IoT叩いてみた話
 
SoftLayer最新動向と賢い利用方法
SoftLayer最新動向と賢い利用方法 SoftLayer最新動向と賢い利用方法
SoftLayer最新動向と賢い利用方法
 
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
【共通版】 IBM Cloud (SoftLayer) 最新動向情報 2017年11月版 v1.0
 
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
VMware + IBM Cloudで広がるハイブリッド・クラウドの世界
 
VMware SDDC on IBM SoftLayer Cloud
VMware SDDC on IBM SoftLayer CloudVMware SDDC on IBM SoftLayer Cloud
VMware SDDC on IBM SoftLayer Cloud
 
BaaS study 0530
BaaS study 0530BaaS study 0530
BaaS study 0530
 
MySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayerMySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayer
 
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
 
アマゾン ウェブ サービスとJAWS-UG
アマゾン ウェブ サービスとJAWS-UGアマゾン ウェブ サービスとJAWS-UG
アマゾン ウェブ サービスとJAWS-UG
 
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
AWS社員による怒涛のLTチャレンジ! AWS IoT EduKitで遊ぼうぜ!
 
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
VMwareとIBMクラウドの提携で広がるハイブリッド・クラウドの世界
 
AWS IoTアーキテクチャパターン
AWS IoTアーキテクチャパターンAWS IoTアーキテクチャパターン
AWS IoTアーキテクチャパターン
 
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
 
Bluemix_API_Possibility
Bluemix_API_PossibilityBluemix_API_Possibility
Bluemix_API_Possibility
 
【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術
 

Andere mochten auch

Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015Gina Montgomery, V-TSP
 
01
0101
01dd
 
2010SanteAwardsWinnersPressReleasel
2010SanteAwardsWinnersPressReleasel2010SanteAwardsWinnersPressReleasel
2010SanteAwardsWinnersPressReleaselHeidi Hinkle
 
Applicationofstack by Ali F.RAshid
Applicationofstack  by Ali F.RAshid Applicationofstack  by Ali F.RAshid
Applicationofstack by Ali F.RAshid ali rashid
 
Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015
Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015
Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015Gina Montgomery, V-TSP
 
SPSNYC - Next Generation Portals
SPSNYC - Next Generation PortalsSPSNYC - Next Generation Portals
SPSNYC - Next Generation PortalsBob German
 
Observacion de una clase
Observacion de una claseObservacion de una clase
Observacion de una claseAramara96
 
Lead magnets: getting more prospects on your email list
Lead magnets: getting more prospects on your email listLead magnets: getting more prospects on your email list
Lead magnets: getting more prospects on your email listRodolfo Melogli
 
ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用Ikuna Wada
 
The power of social proof
The power of social proofThe power of social proof
The power of social proofRodolfo Melogli
 
Informe de observación en la escuela primaria
Informe de observación en la escuela primariaInforme de observación en la escuela primaria
Informe de observación en la escuela primariaMaria Vega
 

Andere mochten auch (18)

Vtecx20151216 2
Vtecx20151216 2Vtecx20151216 2
Vtecx20151216 2
 
Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015Enhancing Relevancy & User Experience with #SharePoint Search   sps-philly 2015
Enhancing Relevancy & User Experience with #SharePoint Search sps-philly 2015
 
01
0101
01
 
Spm Pics
Spm PicsSpm Pics
Spm Pics
 
CWTS
CWTSCWTS
CWTS
 
2010SanteAwardsWinnersPressReleasel
2010SanteAwardsWinnersPressReleasel2010SanteAwardsWinnersPressReleasel
2010SanteAwardsWinnersPressReleasel
 
Arial9
Arial9Arial9
Arial9
 
Applicationofstack by Ali F.RAshid
Applicationofstack  by Ali F.RAshid Applicationofstack  by Ali F.RAshid
Applicationofstack by Ali F.RAshid
 
Aramara
AramaraAramara
Aramara
 
Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015
Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015
Enhancing Relevancy & User Experience with SharePoint Search - SPSBMORE 2015
 
Cyber crime
Cyber crimeCyber crime
Cyber crime
 
Vtecxlt20151201
Vtecxlt20151201Vtecxlt20151201
Vtecxlt20151201
 
SPSNYC - Next Generation Portals
SPSNYC - Next Generation PortalsSPSNYC - Next Generation Portals
SPSNYC - Next Generation Portals
 
Observacion de una clase
Observacion de una claseObservacion de una clase
Observacion de una clase
 
Lead magnets: getting more prospects on your email list
Lead magnets: getting more prospects on your email listLead magnets: getting more prospects on your email list
Lead magnets: getting more prospects on your email list
 
ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用
 
The power of social proof
The power of social proofThe power of social proof
The power of social proof
 
Informe de observación en la escuela primaria
Informe de observación en la escuela primariaInforme de observación en la escuela primaria
Informe de observación en la escuela primaria
 

Ähnlich wie Vtecx20151216

WebRTCエキスパート座談会
WebRTCエキスパート座談会WebRTCエキスパート座談会
WebRTCエキスパート座談会Ryosuke Otsuya
 
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありNew IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありBrocade
 
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...axsh co., LTD.
 
Xen+Windowsで構築するサーバ仮想化環境
Xen+Windowsで構築するサーバ仮想化環境Xen+Windowsで構築するサーバ仮想化環境
Xen+Windowsで構築するサーバ仮想化環境VirtualTech Japan Inc.
 
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform CloudWataru Unno
 
Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016Godai Nakamura
 
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡心 谷本
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築Tomo-o Kubo
 
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会Kensaku Komatsu
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
Essentials of container
Essentials of containerEssentials of container
Essentials of containerToru Makabe
 

Ähnlich wie Vtecx20151216 (20)

Lt20190129
Lt20190129Lt20190129
Lt20190129
 
React vtecx20170822
React vtecx20170822React vtecx20170822
React vtecx20170822
 
WebRTCエキスパート座談会
WebRTCエキスパート座談会WebRTCエキスパート座談会
WebRTCエキスパート座談会
 
vmware-meetup7
vmware-meetup7vmware-meetup7
vmware-meetup7
 
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにありNew IP へのステップ その1) Fabric – すべての基本はファブリックにあり
New IP へのステップ その1) Fabric – すべての基本はファブリックにあり
 
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
 
React vtecx20171025
React vtecx20171025React vtecx20171025
React vtecx20171025
 
Xen+Windowsで構築するサーバ仮想化環境
Xen+Windowsで構築するサーバ仮想化環境Xen+Windowsで構築するサーバ仮想化環境
Xen+Windowsで構築するサーバ仮想化環境
 
React vtecx20171129
React vtecx20171129React vtecx20171129
React vtecx20171129
 
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
 
Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016
 
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
 
Yahoo! JAPANとRiak
Yahoo! JAPANとRiakYahoo! JAPANとRiak
Yahoo! JAPANとRiak
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)
 
クラウド入門(AWS編)
クラウド入門(AWS編)クラウド入門(AWS編)
クラウド入門(AWS編)
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
 
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
Web study20171007
Web study20171007Web study20171007
Web study20171007
 
Essentials of container
Essentials of containerEssentials of container
Essentials of container
 

Mehr von Shinichiro Takezaki

Mehr von Shinichiro Takezaki (7)

Vtecx solution
Vtecx solutionVtecx solution
Vtecx solution
 
11 29プレゼン資料
11 29プレゼン資料11 29プレゼン資料
11 29プレゼン資料
 
20171025 date picker説明資料
20171025 date picker説明資料20171025 date picker説明資料
20171025 date picker説明資料
 
React vtecx20170920
React vtecx20170920React vtecx20170920
React vtecx20170920
 
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 
No nosql20130424
No nosql20130424No nosql20130424
No nosql20130424
 
Groovyコンファレンス
GroovyコンファレンスGroovyコンファレンス
Groovyコンファレンス
 

Vtecx20151216

  • 1. Copyright © Virtual Technology, Inc フロントエンドエンジニアの価値を⾼める BaaS(vte.cx) 〜フロントエンドだけで作るこれからのWebシステム開発 〜 2015/12/16 有限会社バーチャルテクノロジー 1
  • 2. Copyright © Virtual Technology, Inc •  ⽵嵜 伸⼀郎 (たけざき しんいちろう) – vte.cx概要 (約20分) •  ⽵⼭ 恵悟(たけやま けいご) – Hands OnとDEMO (約40分) •  (有)バーチャルテクノロジー – 分散KVSのミドルウェア(ReflexWorks)開発 2
  • 3. Copyright © Virtual Technology, Inc BaaSを作った3つの理由 1. BaaSの現状 2. ReflexWorks 3. SPA 3
  • 4. Copyright © Virtual Technology, Inc BaaS は今、幻滅期 • すべてが中途半端 • 何でもかんでもAPIにした結果、  ベンダーロックイン • 機能改善がなかなか進まず負の遺産を抱 え込んだ状態に • USではもはや胡散臭いものと思われてい るらしい 4
  • 5. Copyright © Virtual Technology, Inc5 ⼤規模 Web帳票システム by ReflexWorks  APIのスループット 7万ユーザ/日 40万伝票/日   600tps !   ※ DBはその10倍以上
  • 6. Copyright © Virtual Technology, Inc SPA(Single Page Application)とは •  優れたUXを提供することを⽬的とする  1つのWebページで提供されるアプリケーション –  クライアントはXHR等でサーバにリクエストし、結果 をJSONなどのデータで受取る –  ページの再読込せずにJavaScriptで動的に更新する 6
  • 7. Copyright © Virtual Technology, Inc なぜSPA? •  サーバーでHTMLを⽣成するよりも、 クライアントで動的に画⾯を更新する⽅が効率的 •  ユーザーの操作に応じてインタラクティブに動く リッチクライアントを実現できる 7 これってネイティブアプリ? お客様 いいえ、Webアプリです。 開発者 SPA
  • 8. Copyright © Virtual Technology, Inc8 増えたフロントの責務と残る課題 h5p://www.slideshare.net/fullscreen/sagawafumio/ss-38480894/6 ここをどうするか?
  • 9. Copyright © Virtual Technology, Inc 極めて⾃由度の⾼いBaaSの要求 • サーバサイドのAPIもフロントエンジニア が⾃由に作れるBaaSを作れないか? • HTML、CSS、JavaScriptなどのフロント エンドコーディングだけでWebシステム を作れるようにならないか? • 中途半端ではなくちゃんとしたWebアプ リを作れないか? 9
  • 10. Copyright © Virtual Technology, Inc vte.cx (ブイテックス) engine KVS Web スマホ   •  Web(スマホ)システム向けBaaS(Backend as a Service) –  CMS(Content Management System)機能 –  トランザクションサポート –  ユーザ・グループ管理 –  サーバサイドJavaScript –  EXCEL⼊出⼒機能 –  PDF帳票出⼒機能 オンライントランザクション処理 データ分析 ※ 2016年春リリース予定
  • 11. Copyright © Virtual Technology, Inc vte.cxのトランザクション管理 •  Feed(Collection)単位のAtomicトランザクション –  分離レベル:REPEATABLE READ •  かつ、Entry単位のバージョン⽐較 –  分離レベル:SNAPSHOT ISOLATION –  全てのEntryはURLとリビジョンで管理される –  リビジョン=更新されると+1される 11 https://www.facebook.com/notes/virtual-technology/ bdbトランザクションとreflexworksの処理について/486790368009209 データの⼀貫性を確保しつつ⾼いスループットを実現 詳細:
  • 12. Copyright © Virtual Technology, Inc12 •  リソースURLを⾃由に設定・追加 •  リソースを様々なフォーマットに変換 直感的なREST API
  • 13. Copyright © Virtual Technology, Inc13
  • 14. Copyright © Virtual Technology, Inc14
  • 15. Copyright © Virtual Technology, Inc15
  • 16. Copyright © Virtual Technology, Inc16
  • 17. Copyright © Virtual Technology, Inc その他 • ユーザ管理・グループ管理 • CMS機能 17 h5p://reflexworks.jp/documentaOon.html
  • 18. Copyright © Virtual Technology, Inc サーバサイドJavaScript • GET /s/booking などで起動 • /booking.js の doGet() が呼ばれる (CoC) • POST、PUT、DELETEも同様 • JSの関数内部で ReflexContext.xxx(url) を実 ⾏することで実際にDBを読み書きする 18
  • 19. Copyright © Virtual Technology, Inc 開発のイメージ • 管理画⾯でサービスを新規作成 • vtecxblankをclone • コンテンツをGitHubにpushすることで サーバにデプロイ –  もしくは、gulpコマンド⼀発 • データをREST APIで操作 ただ、これだけ。 これですべてのWebシステムを開発できる 19
  • 20. Copyright © Virtual Technology, Inc 管理画⾯ • http://admin.1.vte.cx 20
  • 21. Copyright © Virtual Technology, Inc Vtecxblankをclone •  https://github.com/reflexworks/vtecxblank 21
  • 22. Copyright © Virtual Technology, Inc CircleCI 22 GitHubにPushすることで⾃動的にサーバにデプロイ ※ 設定方法はQiita の13日目に記載
  • 23. Copyright © Virtual Technology, Inc DEMO & Handson 23
  • 24. Copyright © Virtual Technology, Inc vte.cxで期待できること • Webアプリを超短期間で開発可能 • プロトタイピングでスモールスタート –  初期投資をかけずに短期間で効果を検証 –  とりあえず作ってみて判断 24
  • 25. Copyright © Virtual Technology, Inc ビジネスの話 • Webアプリの受託開発でvte.cxを活⽤ • オンプレミスvte.cx(ReflexWorks)の販売 • 将来的にBaaS vte.cxの有償版 25
  • 26. Copyright © Virtual Technology, Inc26 Qiita 毎⽇更新中です h5p://qiita.com/advent-calendar/2015/vtecx?share=true
  • 27. Copyright © Virtual Technology, Inc27 ご清聴ありがとう ございました Blogも書いています ぶいてく