SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
VPSとGCSとGAEを
             ハイブリッドで使う事例
    - GAEは目立たないぐらいがちょうどいい -	




h(p://www.slideshare.net/takezaki/gaeja20121130	
   2012/11/30	

                              1	
                       Copyright © Virtual Technology, Inc
•  竹嵜 伸一郎 (たけざき しんいちろう)
•  竹山 恵悟 (たけやま けいご)

•  (有)バーチャルテクノロジー
 –  分散KVSのミドルウェアReflexWorksの開発




            2	
             Copyright © Virtual Technology, Inc
Agenda	

1.PDF検索サービス
2.ReflexWorks
3.WebSocket
4.OAuth2.0
5.その他、クライアント技術




          3	
                Copyright © Virtual Technology, Inc
PDF検索サービス	




h(p://www.pdc.jp/download/	
           h(p://reflexworks.jp/case.html#case3	
                               4	
                             Copyright © Virtual Technology, Inc
VPSとPublicクラウドのいいとこ取り	
  サーバ/通信費用コスト削減+ハイパフォーマンス+安全性	

•  VPS
  –  PDFのキャッシュ
  –  WebSocketサービス        +	
•  Google Cloud Storage
  –  数TBのPDF文書を格納
•  Google App Engine
  –  PDF文書検索用のINDEX情報
  –  個人情報を暗号化して格納(有償サービスにて)	
                 5	
            Copyright © Virtual Technology, Inc
データアクセスが高速	
                  信頼性高いインフラ	
                   無限に格納可能	




       h(ps://cloud.google.com/products/cloud-­‐storage	


                      6	
                                    Copyright © Virtual Technology, Inc
Middleware	
  for	
  flexible,	
  reacKve	
  webservices.	




                                                                     h(p://reflexworks.jp	

                                                             7	
           Copyright © Virtual Technology, Inc
WebSocketによるイベント通知機能
•  WebSocketのコネクション確立時に認証する 	
•  接続情報をセッションで管理
•  フォルダ共有(R権限)でかつログイン中のユーザに通知




                                                    Reactive!	




     h(p://reflexworks.jp/features.html#pushNoKficaKons	
  
                    8	
                                 Copyright © Virtual Technology, Inc
WebSockets	
•  コネクションの確立/双方向通信/切断
 –  注)ウイルス対策ソフトによく切断される。HTTPSだと大丈夫かも!?	
                        WebSocketハンドシェーク	
   Open	
                                              ReflexWorksではここで
              GET	
  /chat	
  HTTP/1.1	
  
              Host:	
  server.example.com	
               認証も行っている	
              Upgrade:	
  websocket	
  
              Connec@on:	
  Upgrade	
  
              Sec-­‐WebSocket-­‐Key:	
  dGhlIHNhbXBsZSBub25jZQ==	
  
              Origin:	
  hSp://example.com	
  
              Sec-­‐WebSocket-­‐Protocol:	
  chat,	
  superchat	
  
              Sec-­‐WebSocket-­‐Version:	
  13	
  

              HTTP/1.1	
  101	
  Switching	
  Protocols	
  
              Upgrade:	
  websocket	
  
              Connec@on:	
  Upgrade	
  
              Sec-­‐WebSocket-­‐Accept:	
  
              s3pPLMBiTxaQ9kYGzzhZRbK+xOo=	
  
  Message	
   Sec-­‐WebSocket-­‐Protocol:	
  chat	
  
  Message	
                                                                Message	
                                                                          Message	

   Close	

                           9	
                                            Copyright © Virtual Technology, Inc
Polling vs WebSockets	




    h(p://www.websocket.org/quantum.html	

         10	
                                Copyright © Virtual Technology, Inc
OAuth2.0で様々なGoogle APIに接続できる	
    h(ps://accounts.google.com/o/oauth2/auth	


                                         oauth2/auth                          4.access_token	
  
                                                                                                       Appengine	
        2.authorizaKon_code	
                                                      5.access_token	
  
              3.access_token	
                        	
  	
  	
  (再発行)	
  
              	
  	
  	
  reflesh_token	
  GoogleAPIs
   管理画面                                             Appl	
                 1.client	
  ID	
                                                                    GoogleDrive	
                 	
  	
  	
  client	
  secret	
  
                 	
  	
  	
  redirect	
  url	


(2.補足)	
  
	
  approval_prompt=force	
  :	
  認可画面をスキップさせない。	
    access_type=offline	
  :	
  オフラインでAPIを使う	
                                                   Google	
  Cloud	
  Storage	
	
  	

                                                      11	
                                                       Copyright © Virtual Technology, Inc
その他のクライアント技術など	
•  Thin Server Architecture?
  –  サーバサイドのテンプレート技術は使わない
     •  Servers no longer generating markup language
  –  サーバはJSONを返すだけ
     •  クライアントによるレンダリングでサーバ負担70%削減
•  SlickGrid(jQuery plugin)
  –  数万件レコードでも高速にグリッドを表示できる
  –  https://github.com/mleibman/SlickGrid
•  LocalStorage
  –  栞保存など
                      12	
                             Copyright © Virtual Technology, Inc
ご清聴ありがとうございました

              	




     13	
          Copyright © Virtual Technology, Inc

Weitere ähnliche Inhalte

Was ist angesagt?

猫でも分かる Android WebKit
猫でも分かる Android WebKit猫でも分かる Android WebKit
猫でも分かる Android WebKit
Naruto TAKAHASHI
 

Was ist angesagt? (20)

New Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASMNew Features of DotNet 6 Blazor WASM
New Features of DotNet 6 Blazor WASM
 
Kansai Azure Azure Overview & Update 20140926
Kansai Azure Azure Overview & Update 20140926Kansai Azure Azure Overview & Update 20140926
Kansai Azure Azure Overview & Update 20140926
 
Azure 高速サイトソリューション
Azure 高速サイトソリューションAzure 高速サイトソリューション
Azure 高速サイトソリューション
 
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
 
ITpro EXPO 2011 クラウド上での業務アプリ開発
ITpro EXPO 2011 クラウド上での業務アプリ開発ITpro EXPO 2011 クラウド上での業務アプリ開発
ITpro EXPO 2011 クラウド上での業務アプリ開発
 
Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計
Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計
Azure Virtual Data Centerで学ぶ 企業向けAzureネットワーク設計
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
 
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
乗り遅れるな!IBMが本気で取り組む新世代クラウドサービスを徹底解説
 
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
 
猫でも分かる Android WebKit
猫でも分かる Android WebKit猫でも分かる Android WebKit
猫でも分かる Android WebKit
 
JAZUG Nagoya Bar Azure #2 Japan DC 20140331
JAZUG Nagoya Bar Azure #2 Japan DC 20140331JAZUG Nagoya Bar Azure #2 Japan DC 20140331
JAZUG Nagoya Bar Azure #2 Japan DC 20140331
 
超基本! AWS 認定 SA アソシエイト 受験準備 (2020年3月10日)
超基本!  AWS 認定 SA アソシエイト 受験準備 (2020年3月10日)超基本!  AWS 認定 SA アソシエイト 受験準備 (2020年3月10日)
超基本! AWS 認定 SA アソシエイト 受験準備 (2020年3月10日)
 
Azure Data Platform
Azure Data PlatformAzure Data Platform
Azure Data Platform
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
パブリッククラウド動向とIBMの取り組み
パブリッククラウド動向とIBMの取り組みパブリッククラウド動向とIBMの取り組み
パブリッククラウド動向とIBMの取り組み
 
【共通版】 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
 
ハイブリッドクラウドの現実とAzureの使いどころ
ハイブリッドクラウドの現実とAzureの使いどころハイブリッドクラウドの現実とAzureの使いどころ
ハイブリッドクラウドの現実とAzureの使いどころ
 
JAWS-UG初心者支部 - 2020-01-29 - マルチアカウント運用のはじめかた
JAWS-UG初心者支部 - 2020-01-29 - マルチアカウント運用のはじめかたJAWS-UG初心者支部 - 2020-01-29 - マルチアカウント運用のはじめかた
JAWS-UG初心者支部 - 2020-01-29 - マルチアカウント運用のはじめかた
 
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
製造装置データ収集の選択肢 (AWS IoT Deep Dive #5)
 

Ähnlich wie Gaeja20121130

Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2
totty jp
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
maruyama097
 
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
Shumpei Shiraishi
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
mganeko
 
Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版
junichi anno
 

Ähnlich wie Gaeja20121130 (20)

これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocket
 
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 
HashiCorp Vault 紹介
HashiCorp Vault 紹介HashiCorp Vault 紹介
HashiCorp Vault 紹介
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
 
Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2
 
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
 
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
 
10th jan 2013_miyazaki
10th jan 2013_miyazaki10th jan 2013_miyazaki
10th jan 2013_miyazaki
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?
 
NGINX New Features (Japanese Webinar)
NGINX New Features (Japanese Webinar)NGINX New Features (Japanese Webinar)
NGINX New Features (Japanese Webinar)
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
 
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告
 
Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版Windows Phone で Active Directory 認証 2011.12.1版
Windows Phone で Active Directory 認証 2011.12.1版
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 

Mehr von Shinichiro Takezaki (15)

Vtecx solution
Vtecx solutionVtecx solution
Vtecx solution
 
Lt20190129
Lt20190129Lt20190129
Lt20190129
 
Real techlt20180829
Real techlt20180829Real techlt20180829
Real techlt20180829
 
Bpstudy20180725
Bpstudy20180725Bpstudy20180725
Bpstudy20180725
 
11 29プレゼン資料
11 29プレゼン資料11 29プレゼン資料
11 29プレゼン資料
 
React vtecx20171129
React vtecx20171129React vtecx20171129
React vtecx20171129
 
20171025 date picker説明資料
20171025 date picker説明資料20171025 date picker説明資料
20171025 date picker説明資料
 
React vtecx20171025
React vtecx20171025React vtecx20171025
React vtecx20171025
 
Web study20171007
Web study20171007Web study20171007
Web study20171007
 
React vtecx20170920
React vtecx20170920React vtecx20170920
React vtecx20170920
 
React vtecx20170822
React vtecx20170822React vtecx20170822
React vtecx20170822
 
Vtecx20151216 2
Vtecx20151216 2Vtecx20151216 2
Vtecx20151216 2
 
Vtecxlt20151201
Vtecxlt20151201Vtecxlt20151201
Vtecxlt20151201
 
No nosql20130424
No nosql20130424No nosql20130424
No nosql20130424
 
Groovyコンファレンス
GroovyコンファレンスGroovyコンファレンス
Groovyコンファレンス
 

Gaeja20121130

  • 1. VPSとGCSとGAEを ハイブリッドで使う事例 - GAEは目立たないぐらいがちょうどいい - h(p://www.slideshare.net/takezaki/gaeja20121130 2012/11/30 1   Copyright © Virtual Technology, Inc
  • 2. •  竹嵜 伸一郎 (たけざき しんいちろう) •  竹山 恵悟 (たけやま けいご) •  (有)バーチャルテクノロジー –  分散KVSのミドルウェアReflexWorksの開発 2   Copyright © Virtual Technology, Inc
  • 4. PDF検索サービス h(p://www.pdc.jp/download/ h(p://reflexworks.jp/case.html#case3 4   Copyright © Virtual Technology, Inc
  • 5. VPSとPublicクラウドのいいとこ取り サーバ/通信費用コスト削減+ハイパフォーマンス+安全性 •  VPS –  PDFのキャッシュ –  WebSocketサービス + •  Google Cloud Storage –  数TBのPDF文書を格納 •  Google App Engine –  PDF文書検索用のINDEX情報 –  個人情報を暗号化して格納(有償サービスにて) 5   Copyright © Virtual Technology, Inc
  • 6. データアクセスが高速 信頼性高いインフラ 無限に格納可能 h(ps://cloud.google.com/products/cloud-­‐storage 6   Copyright © Virtual Technology, Inc
  • 7. Middleware  for  flexible,  reacKve  webservices. h(p://reflexworks.jp 7   Copyright © Virtual Technology, Inc
  • 8. WebSocketによるイベント通知機能 •  WebSocketのコネクション確立時に認証する •  接続情報をセッションで管理 •  フォルダ共有(R権限)でかつログイン中のユーザに通知 Reactive! h(p://reflexworks.jp/features.html#pushNoKficaKons   8   Copyright © Virtual Technology, Inc
  • 9. WebSockets •  コネクションの確立/双方向通信/切断 –  注)ウイルス対策ソフトによく切断される。HTTPSだと大丈夫かも!? WebSocketハンドシェーク Open ReflexWorksではここで GET  /chat  HTTP/1.1   Host:  server.example.com   認証も行っている Upgrade:  websocket   Connec@on:  Upgrade   Sec-­‐WebSocket-­‐Key:  dGhlIHNhbXBsZSBub25jZQ==   Origin:  hSp://example.com   Sec-­‐WebSocket-­‐Protocol:  chat,  superchat   Sec-­‐WebSocket-­‐Version:  13   HTTP/1.1  101  Switching  Protocols   Upgrade:  websocket   Connec@on:  Upgrade   Sec-­‐WebSocket-­‐Accept:   s3pPLMBiTxaQ9kYGzzhZRbK+xOo=   Message Sec-­‐WebSocket-­‐Protocol:  chat   Message Message Message Close 9   Copyright © Virtual Technology, Inc
  • 10. Polling vs WebSockets h(p://www.websocket.org/quantum.html 10   Copyright © Virtual Technology, Inc
  • 11. OAuth2.0で様々なGoogle APIに接続できる h(ps://accounts.google.com/o/oauth2/auth oauth2/auth 4.access_token   Appengine 2.authorizaKon_code 5.access_token   3.access_token        (再発行)        reflesh_token GoogleAPIs 管理画面 Appl 1.client  ID   GoogleDrive      client  secret        redirect  url (2.補足)    approval_prompt=force  :  認可画面をスキップさせない。 access_type=offline  :  オフラインでAPIを使う   Google  Cloud  Storage   11   Copyright © Virtual Technology, Inc
  • 12. その他のクライアント技術など •  Thin Server Architecture? –  サーバサイドのテンプレート技術は使わない •  Servers no longer generating markup language –  サーバはJSONを返すだけ •  クライアントによるレンダリングでサーバ負担70%削減 •  SlickGrid(jQuery plugin) –  数万件レコードでも高速にグリッドを表示できる –  https://github.com/mleibman/SlickGrid •  LocalStorage –  栞保存など 12   Copyright © Virtual Technology, Inc
  • 13. ご清聴ありがとうございました 13   Copyright © Virtual Technology, Inc