Inside mobage platform

Toru Yamaguchi
Toru YamaguchiArchitect at DeNA
Inside Mobage Platform Toru Yamaguchi (=zigorou) DeNA Software Engineer [email_address] http://d.hatena.ne.jp/ZIGOROu/ http:// twitter.com/zigorou /
Y!mobage Released
ngmoco 
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1. How to make OpenSocial Container  Shindig を利用した OpenSocial Container の作り方
What is OpenSocial Container ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Terms (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Terms (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Terms (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Canvas View yahoo-mbga.jp mbga-platform.jp
Apache Shindig (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Apache Shindig (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Apache Shindig (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OpenSocial Architecture Container Gadget Server JavaScript API Social Data API (JSON-RPC/RESTful) Application Gadget XML Request with Authentication Fetch & Parse Render Execute XMLHttpRequest Gadget RPC External API XMLHttpRequest HTTP Request/Response Iframe Contents
Authentication (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Authentication (2) Container Gadget Server JavaScript API Social Data API (JSON-RPC/RESTful) Create and Pass  Security Token Application Embed Security Token As JavaScript Code Signed Request using Security Token Signed Request using Security Token Gadget RPC using Security Token
Authentication (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Authentication (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shindig + Social API Gadget Server JavaScript API Social Data API (JSON-RPC/RESTful) Shindig Chariot (mobage Open Platoform API) Reverse Proxy (lighttpd) /gadgets/* /social/* XMLHttpRequest Same Origin Policy  のため 同一ドメインに  Shindig  と  API  を  Reverse Proxy  で実現する
Other things ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2. Inside Social API Plack  を使った  Social API  の作り方
Domain Specific ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Basic Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dispatcher ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Intercepting Filter FilterChain Filter1 Filter2 Controller 順方向は  FilterChain  経由で 登録された  Filter  が順次実行される 逆方向は順方向と逆の順序で 処理が戻ってくる
Model (1) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Model (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Model (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Model (4) ,[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::DBHResolver (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::DBHResolver (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::DBHResolver (3) ,[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::DBHResolver (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::DBHResolver (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::DBHResolver (5) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::DBHResolver (6) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::Connector (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DBIx::Connector (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SQL::Abstract::* (1) ,[object Object],[object Object],[object Object],[object Object],[object Object]
SQL::Abstract::* (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL (5) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL (6) Old People Old Friend People Queue Friend Queue New People New Friend People Replication Worker (Perl) Friend Replication Worker (Perl) Insert queue by trigger queue_wait() insert/update/delete insert/update/delete Slave Slave Master replication replication
3. Inside Social Activity with Q4M Q4M を利用した 大規模メッセージングシステム
Q4M usage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Worker (1) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Worker (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling Q4M (1) ,[object Object],[object Object],[object Object],[object Object]
Scaling Q4M (2) Q4M Worker (Perl) insert queue (DNSRR) Q4M queue_wait() and Running jobs (DNS RR)
Scaling Q4M (3) Q4M Worker (Perl) insert queue (DNSRR) Q4M queue_wait() and Running jobs Worker (Perl)
Scaling Q4M (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Other topics ,[object Object],[object Object],[object Object],[object Object],[object Object]
4. Conclusion まとめ
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thanks & Questions? ,[object Object],[object Object]
1 of 58

Recommended

Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015 by
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Toru Yamaguchi
3.8K views29 slides
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015 by
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015Toru Yamaguchi
4.8K views35 slides
【とらラボLT】go言語でのweb apiの作り方3選 by
【とらラボLT】go言語でのweb apiの作り方3選【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選虎の穴 開発室
437 views14 slides
IETF94 M2M Authentication関連報告 by
IETF94 M2M Authentication関連報告IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告Masaru Kurahayashi
1.7K views33 slides
基礎からのOAuth 2.0とSpring Security 5.1による実装 by
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装Masatoshi Tada
30.6K views79 slides
革新的ブラウザゲームを支えるプラットフォーム技術 by
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術Toru Yamaguchi
4K views41 slides

More Related Content

What's hot

エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014 by
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014Takashi Yahata
3.6K views43 slides
PlayFramework1.2.4におけるWebSocket by
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketKazuhiro Hara
2K views54 slides
Authlete overview by
Authlete overviewAuthlete overview
Authlete overviewmtisol
4.6K views7 slides
Phpstudy44 Zend Frameworkが抱えている問題は多い。 by
Phpstudy44 Zend Frameworkが抱えている問題は多い。Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。sasezaki
1.3K views13 slides
Symfony2でより良いソフトウェアを作るために by
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにAtsuhiro Kubo
9.6K views40 slides
ドリコム的Railsアプリ開発流儀 by
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀Takafumi ONAKA
10.2K views131 slides

What's hot(20)

エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014 by Takashi Yahata
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
Takashi Yahata3.6K views
PlayFramework1.2.4におけるWebSocket by Kazuhiro Hara
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
Kazuhiro Hara2K views
Authlete overview by mtisol
Authlete overviewAuthlete overview
Authlete overview
mtisol4.6K views
Phpstudy44 Zend Frameworkが抱えている問題は多い。 by sasezaki
Phpstudy44 Zend Frameworkが抱えている問題は多い。Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。
sasezaki1.3K views
Symfony2でより良いソフトウェアを作るために by Atsuhiro Kubo
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo9.6K views
ドリコム的Railsアプリ開発流儀 by Takafumi ONAKA
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀
Takafumi ONAKA10.2K views
これからのネイティブアプリにおけるOpenID Connectの活用 by Masaru Kurahayashi
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi25.8K views
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy) by Toshiharu Sugiyama
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
DeNAtechcon_DeNAのセキュリティの取り組みと、スマートフォンセキュリティ(same-origin policy)
Toshiharu Sugiyama15.1K views
ID連携のあるとき~、ないとき~ #エンプラ編 by Takashi Yahata
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編
Takashi Yahata7.4K views
DeNAのゲーム開発を支える技術 (クライアントサイド編) by denatech2016
DeNAのゲーム開発を支える技術 (クライアントサイド編)DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)
denatech20163K views
Webシステム脆弱性LT資料 by Tomohito Adachi
Webシステム脆弱性LT資料Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi1.1K views
DeNAインフラの今とこれから - 今編 - by Tomoya Kabe
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
Tomoya Kabe5.5K views
Effective web performance tuning for smartphone by dena_study
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphone
dena_study64.8K views
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説 by Takashi Yahata
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
Takashi Yahata2.7K views
2014年を振り返る 今年の技術トレンドとDockerについて by Masahito Zembutsu
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu48.1K views
ガールアックス:リアルタイム通信処理の効率的な実装 by dena_study
ガールアックス:リアルタイム通信処理の効率的な実装ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装
dena_study5.1K views
チラシルiOSでの広告枠開発 by Satoshi Takano
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
Satoshi Takano3.7K views
FFRKを支えるWebアプリケーションフレームワークの技術 by dena_study
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術
dena_study12.2K views
Mithril - 軽量/高速なMVCフレームワーク by sairoutine
Mithril - 軽量/高速なMVCフレームワークMithril - 軽量/高速なMVCフレームワーク
Mithril - 軽量/高速なMVCフレームワーク
sairoutine3.2K views

Viewers also liked

Japanese Companies in India 2014 by
Japanese Companies in India 2014Japanese Companies in India 2014
Japanese Companies in India 2014arukakat
5.7K views78 slides
Alnap lessons-urban-2012 by
Alnap lessons-urban-2012Alnap lessons-urban-2012
Alnap lessons-urban-2012URRworkshop
1.1K views32 slides
Paychex Services by
Paychex ServicesPaychex Services
Paychex Servicesshawsome35
2.5K views16 slides
Guidetolisting by
GuidetolistingGuidetolisting
Guidetolistingnnblade
1.1K views113 slides
Manual mi primera página en html pre by
Manual   mi primera página en html preManual   mi primera página en html pre
Manual mi primera página en html prejtk1
613 views11 slides
Dng de-10012014 by
Dng de-10012014Dng de-10012014
Dng de-10012014Joshua Amoako
1.1K views48 slides

Viewers also liked(20)

Japanese Companies in India 2014 by arukakat
Japanese Companies in India 2014Japanese Companies in India 2014
Japanese Companies in India 2014
arukakat5.7K views
Alnap lessons-urban-2012 by URRworkshop
Alnap lessons-urban-2012Alnap lessons-urban-2012
Alnap lessons-urban-2012
URRworkshop1.1K views
Paychex Services by shawsome35
Paychex ServicesPaychex Services
Paychex Services
shawsome352.5K views
Guidetolisting by nnblade
GuidetolistingGuidetolisting
Guidetolisting
nnblade1.1K views
Manual mi primera página en html pre by jtk1
Manual   mi primera página en html preManual   mi primera página en html pre
Manual mi primera página en html pre
jtk1613 views
Hawaiian Community Resources by honl
Hawaiian Community ResourcesHawaiian Community Resources
Hawaiian Community Resources
honl423 views
Marketing and segmentation ignite by Ariel_Melissa
Marketing and segmentation igniteMarketing and segmentation ignite
Marketing and segmentation ignite
Ariel_Melissa547 views
security council report - IRAQ by Mustafa Saad
security council report - IRAQsecurity council report - IRAQ
security council report - IRAQ
Mustafa Saad11.8K views
News Update Nov. 2013 by Yaser Barghi
News Update Nov. 2013News Update Nov. 2013
News Update Nov. 2013
Yaser Barghi1.1K views
Community Service Directory 2011 by fewjapan
Community Service Directory 2011Community Service Directory 2011
Community Service Directory 2011
fewjapan1.7K views
About AATJ for Affiliate Officers by jhaxhi
About AATJ for Affiliate OfficersAbout AATJ for Affiliate Officers
About AATJ for Affiliate Officers
jhaxhi384 views
Euromoney Indices Brochure by Lilian Mettey
Euromoney Indices BrochureEuromoney Indices Brochure
Euromoney Indices Brochure
Lilian Mettey585 views
Chloe Resolution by scpack31
Chloe ResolutionChloe Resolution
Chloe Resolution
scpack31212 views
2013-14 NLA Annual Report_R6 by Lauren Elrick
2013-14 NLA Annual Report_R62013-14 NLA Annual Report_R6
2013-14 NLA Annual Report_R6
Lauren Elrick2.7K views

Similar to Inside mobage platform

Cloudstack user group meeting in osaka by
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
949 views39 slides
Let's build a simple app with .net 6 asp.net core web api, react, and elasti... by
Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...Shotaro Suzuki
368 views64 slides
Using Windows Azure by
Using Windows AzureUsing Windows Azure
Using Windows AzureShinji Tanaka
2.2K views47 slides
WTM53 phpフレームワーク いまさらcodeigniter by
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
3.9K views44 slides
mod_auth_ticket - Bringing Single-Sign-On to lighttpd by
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdTaisuke Yamada
1.2K views19 slides
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥 by
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥Insight Technology, Inc.
2.4K views28 slides

Similar to Inside mobage platform(20)

Let's build a simple app with .net 6 asp.net core web api, react, and elasti... by Shotaro Suzuki
Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...Let's build a simple app with  .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Shotaro Suzuki368 views
WTM53 phpフレームワーク いまさらcodeigniter by Masanori Oobayashi
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi3.9K views
mod_auth_ticket - Bringing Single-Sign-On to lighttpd by Taisuke Yamada
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
Taisuke Yamada1.2K views
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥 by Insight Technology, Inc.
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力 by ThinReports
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports6.6K views
13016 n分で作るtype scriptでnodejs by Takayoshi Tanaka
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka2.3K views
Groovyで楽にSQLを実行してみよう by Akira Shimosako
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako14.9K views
Building React, Flutter and Blazor development and debugging environment with... by Shotaro Suzuki
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki487 views
Djangoフレームワークの紹介 by Shinya Okano
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano73K views
データマイニング+WEB勉強会資料第6回 by Naoyuki Yamada
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada3.6K views
My sql casual_in_fukuoka_vol1 by Makoto Haruyama
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
Makoto Haruyama2.9K views
Web技術勉強会23回目 by 龍一 田中
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中776 views
ZabbixのAPIを使って運用を楽しくする話 by Masahito Zembutsu
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Masahito Zembutsu64.3K views
成長を加速する minne の技術基盤戦略 by Hiroshi SHIBATA
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA9.4K views
PHPからJavaへ乗り換えた。そんな昔話をしよう by 優介 黒河
PHPからJavaへ乗り換えた。そんな昔話をしようPHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしよう
優介 黒河6.9K views

More from Toru Yamaguchi

これからの Microservices by
これからの Microservicesこれからの Microservices
これからの MicroservicesToru Yamaguchi
34.5K views77 slides
技術選択とアーキテクトの役割 (要約版) by
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)Toru Yamaguchi
5K views16 slides
技術選択とアーキテクトの役割 by
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
42K views90 slides
How to bake delicious cookie (RESTful Meetup #03) by
How to bake delicious cookie (RESTful Meetup #03)How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)Toru Yamaguchi
7.8K views21 slides
JSON Based Web Services by
JSON Based Web ServicesJSON Based Web Services
JSON Based Web ServicesToru Yamaguchi
2.5K views39 slides
Yapc asia 2011_zigorou by
Yapc asia 2011_zigorouYapc asia 2011_zigorou
Yapc asia 2011_zigorouToru Yamaguchi
2.2K views42 slides

More from Toru Yamaguchi(19)

これからの Microservices by Toru Yamaguchi
これからの Microservicesこれからの Microservices
これからの Microservices
Toru Yamaguchi34.5K views
技術選択とアーキテクトの役割 (要約版) by Toru Yamaguchi
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
Toru Yamaguchi5K views
技術選択とアーキテクトの役割 by Toru Yamaguchi
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi42K views
How to bake delicious cookie (RESTful Meetup #03) by Toru Yamaguchi
How to bake delicious cookie (RESTful Meetup #03)How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)
Toru Yamaguchi7.8K views
ngCore engine for mobage platform by Toru Yamaguchi
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi9.8K views
mbga Open Platform and Perl by Toru Yamaguchi
mbga Open Platform and Perlmbga Open Platform and Perl
mbga Open Platform and Perl
Toru Yamaguchi1.4K views
Inside mbga Open Platform API architecture by Toru Yamaguchi
Inside mbga Open Platform API architectureInside mbga Open Platform API architecture
Inside mbga Open Platform API architecture
Toru Yamaguchi1.6K views
Introduction OpenID Authentication 2.0 Revival by Toru Yamaguchi
Introduction OpenID Authentication 2.0 RevivalIntroduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Toru Yamaguchi1.9K views
Introduction OpenID Authentication 2.0 by Toru Yamaguchi
Introduction OpenID Authentication 2.0Introduction OpenID Authentication 2.0
Introduction OpenID Authentication 2.0
Toru Yamaguchi1.4K views
The Security of OpenID Authentication 2.0 by Toru Yamaguchi
The Security of OpenID Authentication 2.0The Security of OpenID Authentication 2.0
The Security of OpenID Authentication 2.0
Toru Yamaguchi2.7K views
Customization of DBIC::Schema::Loader by Toru Yamaguchi
Customization of DBIC::Schema::LoaderCustomization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
Toru Yamaguchi987 views

Recently uploaded

パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 by
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
10 views22 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
66 views12 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
28 views36 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
146 views64 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
28 views17 slides

Recently uploaded(7)

PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga28 views

Inside mobage platform

  • 1. Inside Mobage Platform Toru Yamaguchi (=zigorou) DeNA Software Engineer [email_address] http://d.hatena.ne.jp/ZIGOROu/ http:// twitter.com/zigorou /
  • 4.
  • 5. 1. How to make OpenSocial Container Shindig を利用した OpenSocial Container の作り方
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Canvas View yahoo-mbga.jp mbga-platform.jp
  • 11.
  • 12.
  • 13.
  • 14. OpenSocial Architecture Container Gadget Server JavaScript API Social Data API (JSON-RPC/RESTful) Application Gadget XML Request with Authentication Fetch & Parse Render Execute XMLHttpRequest Gadget RPC External API XMLHttpRequest HTTP Request/Response Iframe Contents
  • 15.
  • 16. Authentication (2) Container Gadget Server JavaScript API Social Data API (JSON-RPC/RESTful) Create and Pass Security Token Application Embed Security Token As JavaScript Code Signed Request using Security Token Signed Request using Security Token Gadget RPC using Security Token
  • 17.
  • 18.
  • 19. Shindig + Social API Gadget Server JavaScript API Social Data API (JSON-RPC/RESTful) Shindig Chariot (mobage Open Platoform API) Reverse Proxy (lighttpd) /gadgets/* /social/* XMLHttpRequest Same Origin Policy のため 同一ドメインに Shindig と API を Reverse Proxy で実現する
  • 20.
  • 21. 2. Inside Social API Plack を使った Social API の作り方
  • 22.
  • 23.
  • 24.
  • 25. Intercepting Filter FilterChain Filter1 Filter2 Controller 順方向は FilterChain 経由で 登録された Filter が順次実行される 逆方向は順方向と逆の順序で 処理が戻ってくる
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46. MySQL (6) Old People Old Friend People Queue Friend Queue New People New Friend People Replication Worker (Perl) Friend Replication Worker (Perl) Insert queue by trigger queue_wait() insert/update/delete insert/update/delete Slave Slave Master replication replication
  • 47. 3. Inside Social Activity with Q4M Q4M を利用した 大規模メッセージングシステム
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. Scaling Q4M (2) Q4M Worker (Perl) insert queue (DNSRR) Q4M queue_wait() and Running jobs (DNS RR)
  • 53. Scaling Q4M (3) Q4M Worker (Perl) insert queue (DNSRR) Q4M queue_wait() and Running jobs Worker (Perl)
  • 54.
  • 55.
  • 57.
  • 58.