SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

2008 09 Grandparents Day
2008 09 Grandparents Day2008 09 Grandparents Day
2008 09 Grandparents Daykcetling
 
体操競技のルール改正と今後の日本の方向性
体操競技のルール改正と今後の日本の方向性体操競技のルール改正と今後の日本の方向性
体操競技のルール改正と今後の日本の方向性Yoichiro Tanaka
 
2007-12 Miscellaneous: Santa Fe Play, Science Fair, Holidays
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
 
Sun Tech Days 2007 Mash up
Sun Tech Days 2007 Mash upSun Tech Days 2007 Mash up
Sun Tech Days 2007 Mash upYoichiro Tanaka
 
ZooKeeper Partitioning - A project report
ZooKeeper Partitioning - A project reportZooKeeper Partitioning - A project report
ZooKeeper Partitioning - A project reportpramodbiligiri
 
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...
Sep 2008 - St. Anthony's Catholic School - Father Nick’s 25 Anniversary in th...kcetling
 
Hadoop Network Performance profile
Hadoop Network Performance profileHadoop Network Performance profile
Hadoop Network Performance profilepramodbiligiri
 
Shuffle phase as the bottleneck in Hadoop Terasort
Shuffle phase as the bottleneck in Hadoop TerasortShuffle phase as the bottleneck in Hadoop Terasort
Shuffle phase as the bottleneck in Hadoop Terasortpramodbiligiri
 
St. Anthony Catholic School - Christmas - Advent Program
St. Anthony Catholic School - Christmas - Advent ProgramSt. Anthony Catholic School - Christmas - Advent Program
St. Anthony Catholic School - Christmas - Advent Programkcetling
 

Andere mochten auch (11)

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

Ähnlich wie Yapc

gumiStudy#4 mixiアプリのスマートフォン版について
gumiStudy#4 mixiアプリのスマートフォン版についてgumiStudy#4 mixiアプリのスマートフォン版について
gumiStudy#4 mixiアプリのスマートフォン版についてgumilab
 
SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428Yoichiro Tanaka
 
mixi Build Challenge for Android 2011 - Tutorial
mixi Build Challenge for Android 2011 - Tutorialmixi Build Challenge for Android 2011 - Tutorial
mixi Build Challenge for Android 2011 - TutorialKeishin Yokomaku
 
Groovy for Java Devs
Groovy for Java DevsGroovy for Java Devs
Groovy for Java DevsZachary Klein
 
Oracle Code Capgemini: API management & microservices a match made in heaven
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
 
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in Heaven
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
 
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 -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...Carl Tyler
 
OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016mfrancis
 
OCTO On-Site Off-Site Update on D8 Roadmap
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 RoadmapAngela Byron
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
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-07Enough Software
 
What'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 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 innovationMarakana Inc.
 
Firefox OS, Web APIs & Hybrid Application
Firefox OS, Web APIs & Hybrid ApplicationFirefox OS, Web APIs & Hybrid Application
Firefox OS, Web APIs & Hybrid ApplicationRizky Ariestiyansyah
 
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...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...Matt Raible
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouchJonas Follesø
 

Ähnlich wie Yapc (20)

gumiStudy#4 mixiアプリのスマートフォン版について
gumiStudy#4 mixiアプリのスマートフォン版についてgumiStudy#4 mixiアプリのスマートフォン版について
gumiStudy#4 mixiアプリのスマートフォン版について
 
SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428SocialWeb-Japan Vol.2 20090428
SocialWeb-Japan Vol.2 20090428
 
mixi Build Challenge for Android 2011 - Tutorial
mixi Build Challenge for Android 2011 - Tutorialmixi Build Challenge for Android 2011 - Tutorial
mixi Build Challenge for Android 2011 - Tutorial
 
Groovy for Java Devs
Groovy for Java DevsGroovy for Java Devs
Groovy for Java Devs
 
Oracle Code Capgemini: API management & microservices a match made in heaven
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
 
Oracle Code Beijing/Sydney APIM & Microservices: A Match Made in Heaven
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
 
Breaking down the Monowhat
Breaking down the MonowhatBreaking down the Monowhat
Breaking down the Monowhat
 
Yahoo! Mojito
Yahoo! MojitoYahoo! Mojito
Yahoo! Mojito
 
Jax2001 adobe keynote
Jax2001 adobe keynoteJax2001 adobe keynote
Jax2001 adobe keynote
 
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 -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
 
OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016OSGi IoT Demo @ CeBIT 2016
OSGi IoT Demo @ CeBIT 2016
 
Mojito@nodejstw
Mojito@nodejstwMojito@nodejstw
Mojito@nodejstw
 
OCTO On-Site Off-Site Update on D8 Roadmap
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
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
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
 
What'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 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
 
Web app
Web appWeb app
Web app
 
Firefox OS, Web APIs & Hybrid Application
Firefox OS, Web APIs & Hybrid ApplicationFirefox OS, Web APIs & Hybrid Application
Firefox OS, Web APIs & Hybrid Application
 
Web app
Web appWeb app
Web app
 
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...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouch
 

Mehr von Yoichiro Tanaka

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

Mehr von Yoichiro Tanaka (8)

Navigate users from assistant app to android app
Navigate users from assistant app to android appNavigate users from assistant app to android app
Navigate users from assistant app to android app
 
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターンChrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
 
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensionsChrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
 
maven2+aptで楽々ドキュメント
maven2+aptで楽々ドキュメントmaven2+aptで楽々ドキュメント
maven2+aptで楽々ドキュメント
 
丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008丸山先生レクチャーシリーズ2007-2008
丸山先生レクチャーシリーズ2007-2008
 
Wicket勉強会2
Wicket勉強会2Wicket勉強会2
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