Yapc

Yoichiro Tanaka
Yoichiro TanakaSoftware Engineer at Increments, Inc.
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
1 of 46

Recommended

Search Engine Marketing: How Insurance Agents Can Take Advantage by
Search Engine Marketing: How Insurance Agents Can Take AdvantageSearch Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantagemmahan
853 views96 slides
Search Engine Marketing: How Insurance Agents Can Take Advantage by
Search Engine Marketing: How Insurance Agents Can Take AdvantageSearch Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantagemmahan
474 views66 slides
Search Engine Marketing: How Insurance Agents Can Take Advantage by
Search Engine Marketing: How Insurance Agents Can Take AdvantageSearch Engine Marketing: How Insurance Agents Can Take Advantage
Search Engine Marketing: How Insurance Agents Can Take Advantagemmahan
771 views12 slides
みんなの知らないChrome appsの世界 by
みんなの知らないChrome appsの世界みんなの知らないChrome appsの世界
みんなの知らないChrome appsの世界Yoichiro Tanaka
2.2K views61 slides
St. Anthony's Catholic School Field Day 2008 by
St. Anthony's Catholic School Field Day 2008St. Anthony's Catholic School Field Day 2008
St. Anthony's Catholic School Field Day 2008kcetling
552 views200 slides
Prakash Belawadi - Manifesto BBMP 2010 elections by
Prakash Belawadi - Manifesto BBMP 2010 electionsPrakash Belawadi - Manifesto BBMP 2010 elections
Prakash Belawadi - Manifesto BBMP 2010 electionspramodbiligiri
1.8K views12 slides

More Related Content

Viewers also liked

2008 09 Grandparents Day by
2008 09 Grandparents Day2008 09 Grandparents Day
2008 09 Grandparents Daykcetling
502 views33 slides
体操競技のルール改正と今後の日本の方向性 by
体操競技のルール改正と今後の日本の方向性体操競技のルール改正と今後の日本の方向性
体操競技のルール改正と今後の日本の方向性Yoichiro Tanaka
2.2K views46 slides
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays by
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidayskcetling
385 views42 slides
Sun Tech Days 2007 Mash up by
Sun Tech Days 2007 Mash upSun Tech Days 2007 Mash up
Sun Tech Days 2007 Mash upYoichiro Tanaka
721 views17 slides
ZooKeeper Partitioning - A project report by
ZooKeeper Partitioning - A project reportZooKeeper Partitioning - A project report
ZooKeeper Partitioning - A project reportpramodbiligiri
1.8K views8 slides
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th... by
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...kcetling
351 views9 slides

Viewers also liked(11)

2008 09 Grandparents Day by kcetling
2008 09 Grandparents Day2008 09 Grandparents Day
2008 09 Grandparents Day
kcetling502 views
体操競技のルール改正と今後の日本の方向性 by Yoichiro Tanaka
体操競技のルール改正と今後の日本の方向性体操競技のルール改正と今後の日本の方向性
体操競技のルール改正と今後の日本の方向性
Yoichiro Tanaka2.2K views
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays by kcetling
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays
kcetling385 views
ZooKeeper Partitioning - A project report by pramodbiligiri
ZooKeeper Partitioning - A project reportZooKeeper Partitioning - A project report
ZooKeeper Partitioning - A project report
pramodbiligiri1.8K views
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th... by kcetling
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...
kcetling351 views
Hadoop Network Performance profile by pramodbiligiri
Hadoop Network Performance profileHadoop Network Performance profile
Hadoop Network Performance profile
pramodbiligiri1.1K views
Shuffle phase as the bottleneck in Hadoop Terasort by pramodbiligiri
Shuffle phase as the bottleneck in Hadoop TerasortShuffle phase as the bottleneck in Hadoop Terasort
Shuffle phase as the bottleneck in Hadoop Terasort
pramodbiligiri5.5K views
St. Anthony Catholic School - Christmas - Advent Program by kcetling
St. Anthony Catholic School - Christmas - Advent ProgramSt. Anthony Catholic School - Christmas - Advent Program
St. Anthony Catholic School - Christmas - Advent Program
kcetling613 views

Similar to Yapc

gumiStudy#4 mixiアプリのスマートフォン版について by
gumiStudy#4 mixiアプリのスマートフォン版についてgumiStudy#4 mixiアプリのスマートフォン版について
gumiStudy#4 mixiアプリのスマートフォン版についてgumilab
1.4K views40 slides
SocialWeb-Japan Vol.2 20090428 by
SocialWeb-Japan Vol.2 20090428SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428Yoichiro Tanaka
788 views25 slides
mixi Build Challenge for Android 2011 - Tutorial by
mixi Build Challenge for Android 2011 - Tutorialmixi Build Challenge for Android 2011 - Tutorial
mixi Build Challenge for Android 2011 - TutorialKeishin Yokomaku
4.9K views34 slides
Groovy for Java Devs by
Groovy for Java DevsGroovy for Java Devs
Groovy for Java DevsZachary Klein
658 views64 slides
Oracle Code Capgemini: API management & microservices a match made in heaven by
Oracle Code Capgemini: API management & microservices a match made in heavenOracle Code Capgemini: API management & microservices a match made in heaven
Oracle Code Capgemini: API management & microservices a match made in heavenluisw19
2.4K views22 slides
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in Heaven by
Oracle Code Beijing/Sydney   APIM & Microservices: A Match Made in HeavenOracle Code Beijing/Sydney   APIM & Microservices: A Match Made in Heaven
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in HeavenCapgemini
1.2K views23 slides

Similar to Yapc(20)

gumiStudy#4 mixiアプリのスマートフォン版について by gumilab
gumiStudy#4 mixiアプリのスマートフォン版についてgumiStudy#4 mixiアプリのスマートフォン版について
gumiStudy#4 mixiアプリのスマートフォン版について
gumilab1.4K views
mixi Build Challenge for Android 2011 - Tutorial by Keishin Yokomaku
mixi Build Challenge for Android 2011 - Tutorialmixi Build Challenge for Android 2011 - Tutorial
mixi Build Challenge for Android 2011 - Tutorial
Keishin Yokomaku4.9K views
Oracle Code Capgemini: API management & microservices a match made in heaven by luisw19
Oracle Code Capgemini: API management & microservices a match made in heavenOracle Code Capgemini: API management & microservices a match made in heaven
Oracle Code Capgemini: API management & microservices a match made in heaven
luisw192.4K views
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in Heaven by Capgemini
Oracle Code Beijing/Sydney   APIM & Microservices: A Match Made in HeavenOracle Code Beijing/Sydney   APIM & Microservices: A Match Made in Heaven
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in Heaven
Capgemini1.2K views
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -... by Carl Tyler
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
Carl Tyler10.9K views
OSGi IoT Demo @ CeBIT 2016 by mfrancis
OSGi IoT Demo @ CeBIT 2016OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016
mfrancis769 views
OCTO On-Site Off-Site Update on D8 Roadmap by Angela Byron
OCTO On-Site Off-Site Update on D8 RoadmapOCTO On-Site Off-Site Update on D8 Roadmap
OCTO On-Site Off-Site Update on D8 Roadmap
Angela Byron720 views
Ugly truths about html5 moosecon - robert virkus - 2013-03-07 by Enough Software
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Enough Software683 views
What's this jQuery? Where it came from, and how it will drive innovation by Marakana Inc.
What's this jQuery? Where it came from, and how it will drive innovationWhat's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovation
Marakana Inc.1.2K views
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We... by Matt Raible
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
Matt Raible355 views
Introduction to MonoTouch by Jonas Follesø
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouch
Jonas Follesø1.2K views

More from Yoichiro Tanaka

Navigate users from assistant app to android app by
Navigate users from assistant app to android appNavigate users from assistant app to android app
Navigate users from assistant app to android appYoichiro Tanaka
482 views28 slides
Chrome Extensionsの基本とデザインパターン by
Chrome Extensionsの基本とデザインパターンChrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターンYoichiro Tanaka
1.5K views71 slides
Chrome Extensionsから見るWebExtensions by
Chrome Extensionsから見るWebExtensionsChrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensionsYoichiro Tanaka
1.3K views75 slides
JavaEdge第3回ライブセッション by
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションYoichiro Tanaka
890 views32 slides
maven2+aptで楽々ドキュメント by
maven2+aptで楽々ドキュメントmaven2+aptで楽々ドキュメント
maven2+aptで楽々ドキュメントYoichiro Tanaka
685 views5 slides
丸山先生レクチャーシリーズ2007-2008 by
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008Yoichiro Tanaka
1.2K views45 slides

More from Yoichiro Tanaka(8)

Navigate users from assistant app to android app by Yoichiro Tanaka
Navigate users from assistant app to android appNavigate users from assistant app to android app
Navigate users from assistant app to android app
Yoichiro Tanaka482 views
Chrome Extensionsの基本とデザインパターン by Yoichiro Tanaka
Chrome Extensionsの基本とデザインパターンChrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka1.5K views
Chrome Extensionsから見るWebExtensions by Yoichiro Tanaka
Chrome Extensionsから見るWebExtensionsChrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
Yoichiro Tanaka1.3K views
JavaEdge第3回ライブセッション by Yoichiro Tanaka
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Yoichiro Tanaka890 views
maven2+aptで楽々ドキュメント by Yoichiro Tanaka
maven2+aptで楽々ドキュメントmaven2+aptで楽々ドキュメント
maven2+aptで楽々ドキュメント
Yoichiro Tanaka685 views
丸山先生レクチャーシリーズ2007-2008 by Yoichiro Tanaka
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
Yoichiro Tanaka1.2K views
世間の荒波を乗りこなせ! by Yoichiro Tanaka
世間の荒波を乗りこなせ!世間の荒波を乗りこなせ!
世間の荒波を乗りこなせ!
Yoichiro Tanaka1.5K views

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