SlideShare a Scribd company logo
Web                                   mixi




Copyright 2009 © mixi,Inc. All right reserved.          1
• 
               – 
                       • 
               –  Google API Expert (OpenSocial)
               –  Mashup Award 3rd




Copyright 2009 © mixi,Inc. All right reserved.     2
•  mixi
       • 
       • 
       •                                 mixi
       • 




Copyright 2009 © mixi,Inc. All right reserved.   3
•  Perl




Copyright 2009 © mixi,Inc. All right reserved.   4
mixi




Copyright 2009 © mixi,Inc. All right reserved.          5
mixi, Inc
                                                 	


Copyright 2009 © mixi,Inc. All right reserved.                    6
mixi Platform




           “mixi        ”                        “mixi     ” Web   “mixi”
                                                                     ID PW


           2009                                                    2008 8 20
           mixi             PC                                          -OpenID ver2.0
                                                         -OAuth
                                                                        -mixi
                   -OpenSocial




Copyright 2009 © mixi,Inc. All right reserved.                                           7
Copyright 2009 © mixi,Inc. All right reserved.   8
Community API
                                                              Person & Friends API




          Persistence API
                                                                          gadgets. io API




                                                 Albums API
                Invite API
                                                                 Activities API

Copyright 2009 © mixi,Inc. All right reserved.                                              9
mixi



       • 
               –                                     231

               –  1                                        -           (   )
                       •  User : 395,598
               –  2                                            (               )
                       •  User : 218,529
               –  3                              (                 )
                       •  User : 163,740


Copyright 2009 © mixi,Inc. All right reserved.                                     10
Invite
                                                 	




Copyright 2009 © mixi,Inc. All right reserved.        11
Copyright 2009 © mixi,Inc. All right reserved.   12
OpenSocial




                                                 OpenSocial v0.8.1
                                                            mixi     API



Copyright 2009 © mixi,Inc. All right reserved.                             13
mixi                           OpenSocial




               mixi     (PC      )                 mixi       (           )
                   (OpenSocial JavaScript API)            (OpenSocial RESTful Protocol)




Copyright 2009 © mixi,Inc. All right reserved.                                            14
mixi                           PC


                    mixi                    	

           <?xml version=“1.0” encoding=“utf-8”?>
           <Module>
            <ModulePrefs title=“Hello, world!”>
                                                    Gadget XML
             <Require feature=“opensocial-0.8” />
            </ModulePrefs>
            <Content type=“html”><![CDATA[          Person & Friends API
           <div>Hello, mixi         !</div>

            ]]></Content>
                                                    Activities API
           </Module>

                                                    Persistence API
                 XML + HTML + JavaScript + Flash

                                                    gadgets.io API

                                                    Invite API

                                                    Albums API
Copyright 2009 © mixi,Inc. All right reserved.                             15
mixi                            PC


                          mixi                         	
                             Web     	

                                                                                            URL
                               <?xml version=“1.0” encoding=“utf-8”?>
                               <Module>
                                    function init() {
                                <ModulePrefs title=“Hello, world!”>
                                      var req = opensocial.newDataRequest();
                                  <Require feature=“opensocial-0.8” />
                                      req.add(req.newFetchPersonRequest(
                                </ModulePrefs>
                                            opensocial.IdSpec.PersonId.VIEWER),
                                <Content type=“html”><![CDATA[
                                            “viewer”);
                                      req.send(function(data) {
                               <div>Hello, mixi       !</div>
                                         var viewer = data.get(“viewer”).getData();
                                ]]></Content>something…
                                         // do
                                      }
                               </Module>
                                    }
                                    gadgets.util.registerOnLoadHandler(init);




Copyright 2009 © mixi,Inc. All right reserved.                                                     16
mixi


                  mixi                    	

          <?xml version=“1.0” encoding=“utf-8”?>
          <Module>                                  Gadget XML
           <ModulePrefs title=“Hello, world!”>
            <Require feature=“opensocial-0.8” />
           </ModulePrefs>                           Person & Friends API
           <Content type=“url” view=“mobile”
                    href=“http://example.com/” />
          </Module>
                                                    Activities API

                                                    Persistence API
                 HTML + Flash + RESTful API

                                                    Albums API




Copyright 2009 © mixi,Inc. All right reserved.                             17
mixi




                                                 RESTful Protocol + OAuth

Copyright 2009 © mixi,Inc. All right reserved.                              18
Gadget XML

                          /                                   	

            <?xml version=“1.0” encoding=“utf-8”?>
            <Module>
              <ModulePrefs title=“Hello, world!”>
                <Require feature=“opensocial-0.8” />
              </ModulePrefs>
                                                                        PC      	
                 <Content type=“html” view=“home,canvas,profile”><![CDATA[
                    <div>Hello, mixi     !</div>
                 ]]></Content>

                 <Content type=“url” view=“mobile” href=“http://foo.com/hello.pl” />

                                                                                     	
            </Module>

Copyright 2009 © mixi,Inc. All right reserved.                                            19
Copyright 2009 © mixi,Inc. All right reserved.   20
OpenSocial



       • 
               –  Social Data API
                       •  /people, /activities, /appdata, JS(opensocial.*)
               –  Gadget API
                       •  /gadgets/makeRequest, JS(gadgets.*)
               –  Gadget Rendering
                       •  /gadgets/ifr




Copyright 2009 © mixi,Inc. All right reserved.                               21
OSS

           •  Apache Shindig
                 –  Apache Incubator                                         OSS
                 –            iGoogle                                          	
                 –                               2007 12 12 	
                 –                Googler
                 –  Java              PHP                            	




                   Shindig	
  -­‐	
  	
  an	
  Apache	
  incubator	
  project	
  for	
  OpenSocial	
  and	
  gadgets	
  

                                                   http://incubator.apache.org/shindig/	



Copyright 2009 © mixi,Inc. All right reserved.                                                                             22
OpenSocial




                                                   SNS            	




                                                                           	
                                                 /gadgets/ifr
                                                 /gadgets/makeRequest
                                                 /social/data/people
                                                 /social/data/activities
                                                 /social/data/appdata	



Copyright 2009 © mixi,Inc. All right reserved.                                  23
mixi Platform


                                                   Main	



                                                     API	
(Perl)	
                                                 /social/data/people
                                                 /social/data/activities
                                                 /social/data/appdata	
                                                                                  	




                                                                      (Java )	
                                                 /gadgets/ifr
                                                 /gadgets/makeRequest


Copyright 2009 © mixi,Inc. All right reserved.                                         24
API Server


                      API	
(Perl)	
                                                        balancer	
            /social/data/people
            /social/data/activities
            /social/data/appdata	

                                                        apache
                                                        mod_perl	




                                                 memcached	
         MySQL	



Copyright 2009 © mixi,Inc. All right reserved.                                 25
API Server


                      API	
(Perl)	
                                              RESTful Protocol

            /social/data/people                                         Accept: application/atom+xml
            /social/data/activities                                          Atom Feed/Entry
            /social/data/appdata	
                                      Accept: application/json
                                                                             JSON	

                                                                     Server	
               Handler::People	
                       socialdata.js	
                            people:                                                         Handler::Activity	
                             uri: /social/data/people/{guid}/{selector}
                             handler: People
                            activity:                                                       Handler::AppData	
                             uri: /social/data/activities/{guid}/{appid}/{selector}
                             handler: Activity
                            appdata:
                             uri: /social/data/appdata/{guid}/{appid}/{selector}
                             handler: AppDAta




Copyright 2009 © mixi,Inc. All right reserved.                                                                    26
Copyright 2009 © mixi,Inc. All right reserved.   27
•  8/24 8/31
               –  mixi
               –  API




Copyright 2009 © mixi,Inc. All right reserved.   28
Shindig



       •  Shindig
               –  mixi
                       •  504


               –  Shindig
                       •                         close
                               –  OS
                       • 




Copyright 2009 © mixi,Inc. All right reserved.           29
API


                                                 API	
       •  API
               –  /social/data/*
                       •  mixi
                       • 


               –  API
                       • 
                       •  mixi



Copyright 2009 © mixi,Inc. All right reserved.           30
API




                                                 mixi Platform   	


Copyright 2009 © mixi,Inc. All right reserved.                        31
API


                                                         API	
       • 
               –                                 4
                       •  1                          2
                       •  2                          4


               – 
                       •  CPU: 100%




Copyright 2009 © mixi,Inc. All right reserved.                   32
API


                                                 API	
       •  Devel::NYTProf




Copyright 2009 © mixi,Inc. All right reserved.           33
API


                                                 API	
       • 
               – 
                       • 
                       •  DB
                       • 
               – 




Copyright 2009 © mixi,Inc. All right reserved.           34
mixi



       •                                                  mixi

                             	
                                        mixi      	




                                        mixi Platform	




                                                                 	

Copyright 2009 © mixi,Inc. All right reserved.                        35
mixi



       •                                         mixi
               –  mixi Platform
               –  mixi
               – 
               –  mixi




                                                        →   	

Copyright 2009 © mixi,Inc. All right reserved.                   36
mixi




Copyright 2009 © mixi,Inc. All right reserved.          37
mixi



       •  Person & Friends API
       • 
       •  Activity + MediaItem
       • 




Copyright 2009 © mixi,Inc. All right reserved.   38
mixi



       •  Person & Friends API                   eco	

               – 
                       •  startIndex + count
                               –  count=1000
                       •  hasApp
                               – 
               – 
                       •  fields
                               – 
                               – 


Copyright 2009 © mixi,Inc. All right reserved.           39
mixi



       •                                                       eco	

               – 
                       • 
                       • 
               – 
                       • 
                       •  OSS
               – 
                       •                         → NG   → OK


Copyright 2009 © mixi,Inc. All right reserved.                         40
mixi


                                                               eco	
       •  Activity + MediaItem
               –  Activitiy

                                 	




                                                                  	

                                                 makeRequest

                                                                       	

Copyright 2009 © mixi,Inc. All right reserved.                              41
mixi



                                                                eco	
       • 
               – 
                       • 
                       •  mixi = mod_perl + memcached + MySQL


               – 
                       •  Google AppEngine
                       •  Amazon EC2, S3




Copyright 2009 © mixi,Inc. All right reserved.                          42
Copyright 2009 © mixi,Inc. All right reserved.   43
mixi Developer Center

       mixi




                                                 http://developer.mixi.co.jp/




Copyright 2009 © mixi,Inc. All right reserved.                                  44
mixi Platform mixi
                                           mixi



                           mixi




Copyright 2009 © mixi,Inc. All right reserved.     45
Copyright 2009 © mixi,Inc. All right reserved.   46

More Related Content

PPT
Search Engine Marketing: How Insurance Agents Can Take Advantage
PPT
Search Engine Marketing: How Insurance Agents Can Take Advantage
PPT
Search Engine Marketing: How Insurance Agents Can Take Advantage
PPTX
みんなの知らないChrome appsの世界
PDF
St. Anthony's Catholic School Field Day 2008
PPT
Prakash Belawadi - Manifesto BBMP 2010 elections
PPT
2008 09 Aftercare
PPTX
Chromeウェブストア - Html5とか勉強会42
Search Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantage
みんなの知らないChrome appsの世界
St. Anthony's Catholic School Field Day 2008
Prakash Belawadi - Manifesto BBMP 2010 elections
2008 09 Aftercare
Chromeウェブストア - Html5とか勉強会42

Viewers also liked (11)

PPT
2008 09 Grandparents Day
PPT
体操競技のルール改正と今後の日本の方向性
PPT
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays
PPT
Sun Tech Days 2007 Mash up
PDF
ZooKeeper Partitioning - A project report
PPT
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...
PPTX
Info scoop opensource
PDF
Hadoop Network Performance profile
PDF
Shuffle phase as the bottleneck in Hadoop Terasort
PPT
JRuby on Rails
PDF
St. Anthony Catholic School - Christmas - Advent Program
2008 09 Grandparents Day
体操競技のルール改正と今後の日本の方向性
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays
Sun Tech Days 2007 Mash up
ZooKeeper Partitioning - A project report
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...
Info scoop opensource
Hadoop Network Performance profile
Shuffle phase as the bottleneck in Hadoop Terasort
JRuby on Rails
St. Anthony Catholic School - Christmas - Advent Program
Ad

Similar to Yapc (20)

PDF
gumiStudy#4 mixiアプリのスマートフォン版について
PDF
SocialWeb-Japan Vol.2 20090428
PDF
mixi Build Challenge for Android 2011 - Tutorial
PDF
Groovy for Java Devs
PDF
Oracle Code Capgemini: API management & microservices a match made in heaven
PDF
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in Heaven
PPTX
Yahoo! Mojito
PDF
Jax2001 adobe keynote
PDF
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
PDF
OSGi IoT Demo @ CeBIT 2016
PDF
Mojito@nodejstw
PDF
OCTO On-Site Off-Site Update on D8 Roadmap
PDF
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
PDF
What's this jQuery? Where it came from, and how it will drive innovation
KEY
Web app
PDF
Firefox OS, Web APIs & Hybrid Application
KEY
Web app
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
PPTX
Introduction to MonoTouch
PPTX
MuleSoft Meetup Charlotte 2019
gumiStudy#4 mixiアプリのスマートフォン版について
SocialWeb-Japan Vol.2 20090428
mixi Build Challenge for Android 2011 - Tutorial
Groovy for Java Devs
Oracle Code Capgemini: API management & microservices a match made in heaven
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in Heaven
Yahoo! Mojito
Jax2001 adobe keynote
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
OSGi IoT Demo @ CeBIT 2016
Mojito@nodejstw
OCTO On-Site Off-Site Update on D8 Roadmap
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
What's this jQuery? Where it came from, and how it will drive innovation
Web app
Firefox OS, Web APIs & Hybrid Application
Web app
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
Introduction to MonoTouch
MuleSoft Meetup Charlotte 2019
Ad

More from Yoichiro Tanaka (8)

PPTX
Navigate users from assistant app to android app
PPTX
Chrome Extensionsの基本とデザインパターン
PPTX
Chrome Extensionsから見るWebExtensions
PPT
JavaEdge第3回ライブセッション
PPT
maven2+aptで楽々ドキュメント
PPT
丸山先生レクチャーシリーズ2007-2008
PPT
Wicket勉強会2
PPS
世間の荒波を乗りこなせ!
Navigate users from assistant app to android app
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsから見るWebExtensions
JavaEdge第3回ライブセッション
maven2+aptで楽々ドキュメント
丸山先生レクチャーシリーズ2007-2008
Wicket勉強会2
世間の荒波を乗りこなせ!

Yapc

  • 1. Web mixi Copyright 2009 © mixi,Inc. All right reserved. 1
  • 2. •  –  •  –  Google API Expert (OpenSocial) –  Mashup Award 3rd Copyright 2009 © mixi,Inc. All right reserved. 2
  • 3. •  mixi •  •  •  mixi •  Copyright 2009 © mixi,Inc. All right reserved. 3
  • 4. •  Perl Copyright 2009 © mixi,Inc. All right reserved. 4
  • 5. mixi Copyright 2009 © mixi,Inc. All right reserved. 5
  • 6. mixi, Inc Copyright 2009 © mixi,Inc. All right reserved. 6
  • 7. mixi Platform “mixi ” “mixi ” Web “mixi” ID PW 2009 2008 8 20 mixi PC -OpenID ver2.0 -OAuth -mixi -OpenSocial Copyright 2009 © mixi,Inc. All right reserved. 7
  • 8. Copyright 2009 © mixi,Inc. All right reserved. 8
  • 9. Community API Person & Friends API Persistence API gadgets. io API Albums API Invite API Activities API Copyright 2009 © mixi,Inc. All right reserved. 9
  • 10. mixi •  –  231 –  1 - ( ) •  User : 395,598 –  2 ( ) •  User : 218,529 –  3 ( ) •  User : 163,740 Copyright 2009 © mixi,Inc. All right reserved. 10
  • 11. Invite Copyright 2009 © mixi,Inc. All right reserved. 11
  • 12. Copyright 2009 © mixi,Inc. All right reserved. 12
  • 13. OpenSocial OpenSocial v0.8.1 mixi API Copyright 2009 © mixi,Inc. All right reserved. 13
  • 14. mixi OpenSocial mixi (PC ) mixi ( ) (OpenSocial JavaScript API) (OpenSocial RESTful Protocol) Copyright 2009 © mixi,Inc. All right reserved. 14
  • 15. mixi PC mixi <?xml version=“1.0” encoding=“utf-8”?> <Module> <ModulePrefs title=“Hello, world!”> Gadget XML <Require feature=“opensocial-0.8” /> </ModulePrefs> <Content type=“html”><![CDATA[ Person & Friends API <div>Hello, mixi !</div> ]]></Content> Activities API </Module> Persistence API XML + HTML + JavaScript + Flash gadgets.io API Invite API Albums API Copyright 2009 © mixi,Inc. All right reserved. 15
  • 16. mixi PC mixi Web URL <?xml version=“1.0” encoding=“utf-8”?> <Module> function init() { <ModulePrefs title=“Hello, world!”> var req = opensocial.newDataRequest(); <Require feature=“opensocial-0.8” /> req.add(req.newFetchPersonRequest( </ModulePrefs> opensocial.IdSpec.PersonId.VIEWER), <Content type=“html”><![CDATA[ “viewer”); req.send(function(data) { <div>Hello, mixi !</div> var viewer = data.get(“viewer”).getData(); ]]></Content>something… // do } </Module> } gadgets.util.registerOnLoadHandler(init); Copyright 2009 © mixi,Inc. All right reserved. 16
  • 17. mixi mixi <?xml version=“1.0” encoding=“utf-8”?> <Module> Gadget XML <ModulePrefs title=“Hello, world!”> <Require feature=“opensocial-0.8” /> </ModulePrefs> Person & Friends API <Content type=“url” view=“mobile” href=“http://example.com/” /> </Module> Activities API Persistence API HTML + Flash + RESTful API Albums API Copyright 2009 © mixi,Inc. All right reserved. 17
  • 18. mixi RESTful Protocol + OAuth Copyright 2009 © mixi,Inc. All right reserved. 18
  • 19. Gadget XML / <?xml version=“1.0” encoding=“utf-8”?> <Module> <ModulePrefs title=“Hello, world!”> <Require feature=“opensocial-0.8” /> </ModulePrefs> PC <Content type=“html” view=“home,canvas,profile”><![CDATA[ <div>Hello, mixi !</div> ]]></Content> <Content type=“url” view=“mobile” href=“http://foo.com/hello.pl” /> </Module> Copyright 2009 © mixi,Inc. All right reserved. 19
  • 20. Copyright 2009 © mixi,Inc. All right reserved. 20
  • 21. OpenSocial •  –  Social Data API •  /people, /activities, /appdata, JS(opensocial.*) –  Gadget API •  /gadgets/makeRequest, JS(gadgets.*) –  Gadget Rendering •  /gadgets/ifr Copyright 2009 © mixi,Inc. All right reserved. 21
  • 22. OSS •  Apache Shindig –  Apache Incubator OSS –  iGoogle –  2007 12 12 –  Googler –  Java PHP Shindig  -­‐    an  Apache  incubator  project  for  OpenSocial  and  gadgets   http://incubator.apache.org/shindig/ Copyright 2009 © mixi,Inc. All right reserved. 22
  • 23. OpenSocial SNS /gadgets/ifr /gadgets/makeRequest /social/data/people /social/data/activities /social/data/appdata Copyright 2009 © mixi,Inc. All right reserved. 23
  • 24. mixi Platform Main API (Perl) /social/data/people /social/data/activities /social/data/appdata (Java ) /gadgets/ifr /gadgets/makeRequest Copyright 2009 © mixi,Inc. All right reserved. 24
  • 25. API Server API (Perl) balancer /social/data/people /social/data/activities /social/data/appdata apache mod_perl memcached MySQL Copyright 2009 © mixi,Inc. All right reserved. 25
  • 26. API Server API (Perl) RESTful Protocol /social/data/people Accept: application/atom+xml /social/data/activities Atom Feed/Entry /social/data/appdata Accept: application/json JSON Server Handler::People socialdata.js people: Handler::Activity uri: /social/data/people/{guid}/{selector} handler: People activity: Handler::AppData uri: /social/data/activities/{guid}/{appid}/{selector} handler: Activity appdata: uri: /social/data/appdata/{guid}/{appid}/{selector} handler: AppDAta Copyright 2009 © mixi,Inc. All right reserved. 26
  • 27. Copyright 2009 © mixi,Inc. All right reserved. 27
  • 28. •  8/24 8/31 –  mixi –  API Copyright 2009 © mixi,Inc. All right reserved. 28
  • 29. Shindig •  Shindig –  mixi •  504 –  Shindig •  close –  OS •  Copyright 2009 © mixi,Inc. All right reserved. 29
  • 30. API API •  API –  /social/data/* •  mixi •  –  API •  •  mixi Copyright 2009 © mixi,Inc. All right reserved. 30
  • 31. API mixi Platform Copyright 2009 © mixi,Inc. All right reserved. 31
  • 32. API API •  –  4 •  1 2 •  2 4 –  •  CPU: 100% Copyright 2009 © mixi,Inc. All right reserved. 32
  • 33. API API •  Devel::NYTProf Copyright 2009 © mixi,Inc. All right reserved. 33
  • 34. API API •  –  •  •  DB •  –  Copyright 2009 © mixi,Inc. All right reserved. 34
  • 35. mixi •  mixi mixi mixi Platform Copyright 2009 © mixi,Inc. All right reserved. 35
  • 36. mixi •  mixi –  mixi Platform –  mixi –  –  mixi → Copyright 2009 © mixi,Inc. All right reserved. 36
  • 37. mixi Copyright 2009 © mixi,Inc. All right reserved. 37
  • 38. mixi •  Person & Friends API •  •  Activity + MediaItem •  Copyright 2009 © mixi,Inc. All right reserved. 38
  • 39. mixi •  Person & Friends API eco –  •  startIndex + count –  count=1000 •  hasApp –  –  •  fields –  –  Copyright 2009 © mixi,Inc. All right reserved. 39
  • 40. mixi •  eco –  •  •  –  •  •  OSS –  •  → NG → OK Copyright 2009 © mixi,Inc. All right reserved. 40
  • 41. mixi eco •  Activity + MediaItem –  Activitiy makeRequest Copyright 2009 © mixi,Inc. All right reserved. 41
  • 42. mixi eco •  –  •  •  mixi = mod_perl + memcached + MySQL –  •  Google AppEngine •  Amazon EC2, S3 Copyright 2009 © mixi,Inc. All right reserved. 42
  • 43. Copyright 2009 © mixi,Inc. All right reserved. 43
  • 44. mixi Developer Center mixi http://developer.mixi.co.jp/ Copyright 2009 © mixi,Inc. All right reserved. 44
  • 45. mixi Platform mixi mixi mixi Copyright 2009 © mixi,Inc. All right reserved. 45
  • 46. Copyright 2009 © mixi,Inc. All right reserved. 46