This Presentation Courtesy of the
                          International SOA Symposium
                          October 7-8, 2008 Amsterdam Arena
                          www.soasymposium.com
                          info@soasymposium.com


                                       Founding Sponsors




Platinum Sponsors




Gold Sponsors       Silver Sponsors
Building the Social Web using
zembly
Prakash Narayan
Sun Microsystems, Inc.

                                1
Topics
• Social networking phenomenon
• Impact of social networking to software
 development
• What is zembly?
• SOA principles to build/publish using zembly
• Building service step by step
• Building widget step by step
• Building Facebook application step by step
• Summary and current status
                                                 2
Social Networking
Phenomenon




                    3
Social Networking is Mainstream
                        • Rob McEwen, Goldcorp Inc.
                           > Epiphany in 1999:
                             Assembling a world class
                             OS over the internet
                           > March 2000: Sharing
                             geological data with the
                             world
                           > Catapults a $100m company
                             into a $9b juggernaut
•
• Collaboration on a mass scale is set to change
    every institution
                                                         4
Social Networking Phenomenon
• Social networking is rapidly growing with more
 than 70 million users
  > Facebook, MySpace, LinkedIn, Meebo, orkut,
    Friendster, ...
• Social networking offers developers
 unprecedented opportunities to build social
 applications that can reach millions of users
 overnight




                                                   5
Social Networking Phenomenon
 "We're just at the beginning of understanding
 how the social graph will change every web
 application... what is emerging is the identity and
 social subsystem of the future internet operating
 system."
       —Tim O'Reilly, O'Reilly Media, Inc.




                                                       6
–




    Impact of Social
    Networking to
    Software Development




                           7
Emerging Changes in the Software World
• Participation model to the software development
 is changing
  > “Traditional models involving mostly software
    developers” to “new models that involve everyone”
• Different metrics are emerging for determining
 value of an application
  > “Size and features” to “How much usage it gets”

• The social platforms have emerged as viable
 development and deployment platform
  > Applications are being developed and deployed over
    targeted social platforms
                                                         8
Why Social Platforms as Application
Development/Deployment Platforms?
• Solves common problems so that applications
 don't have to
• Exposes facilities (e.g. APIs) to make writing
 applications easier
  > Provides higher level of abstraction in application
    model – profile, friends, etc.
• Builds an Eco-system of applications,
 developers, and users
  > Applications deployed are becoming the part of the
    Eco-system, thus enhancing the value of the platform
                                                           9
The Application Spectrum
          Hosted Services & Platforms
          Web-scale sites, 1st-gen Web APIs




                              “Typical” Apps
            Java ME/SE/EE, NetBeans, Java CAPS, Glassfish, etc.



                                                                         Non-Traditional “Apps”
                                                                  Widgets, 2nd-gen Web APIs (Microservices),
                                                                           Mashups, Situational Apps




                                                                                                               10
Where is the Application Growth?




                                   11
Where is the Application Growth?
• Non-traditional apps
  > Widgets, Social apps, iPhone apps, Mashups,
    Situational apps
• Characteristics of these apps
  > Usually small
  > Developed by casual developers
  > Quick to build, easy to deploy

• What lit the fuse?
  > Social platforms: Facebook, MySpace, Ning, Meebo,
    Orkut, etc.
  > Mature technologies and standards for delivering
    these apps
                                                        12
–




    What is zembly?




                      13
zembly


 ●   World's first cloud-based development
          environment for Facebook,
     OpenSocial, Meebo,and other social
                     platforms



                                             14
What is zembly?
• zembly is the place to create social applications,
 together
  > zembly allows users to easily create and host social
    applications of all shapes and sizes, targeting the
    most popular social platforms on the web
• Think of zembly like Wikipedia for social
 applications
  > a wiki for live, editable code that is more than just
    about trivial widgets, but rather about full-fledged
    social applications that can tap into the social graph
    and reach millions of users.


                                                             15
Browser-based development
                            • IDE-based editor
                              running in the
                              browser
                            • (X)HTML, CSS,
                              JavaScript, FBML
                              support
                            • Dynamic API
                              search &
                              invocation
                            • 1-click publishing
                              onto the web
                            • Automatic hosting

                                               16
zembly Enables Social Programming
                           • Collaborative
                             creation of social
                             apps
                           • Fine-grained reuse
                             of artifacts
                           • News feed
                           • Contacts
                           • Custom profile
                             page
                           • Messaging
                           • User ratings
                           • Favorites
                           • Comments
                                                  17
●




    SOA Principles to
    build/deploy using zembly




                                18
Things You Can Create
                        • Widgets
                        • Services
                        • Facebook apps
                        • Meebo apps
                        • iPhone apps
                        • OpenSocial apps
                          (in the near
                          future)




                                          19
–




    Building a Service
    Step by Step




                         20
What is a Service?
                     • Contains
                       business logic
                     • Written in
                       JavaScript
                     • Can be published
                       so that others can
                       call it
                     • Can take
                       parameters




                                        21
Steps for Creating a Service
• Write business logic in JavaScript
  > Using IDE-like JavaScript editor: code completion,
    syntax checking, format, code snippet, change history
• Set up parameters
• Find and use other services
• Handle error conditions
  > You can use built-in validation

• Test the service
• Publish the service
  > Version control
                                                            22
Demo:
Building a zembly Service




                            23
–




    Building a Widget
    Step By Step




                        24
What is a Widget?
• Widgets provide a user friendly object that you
 can embed in a web page
• Made of
  > (X)HTML
  > CSS
  > JavaScript




                                                    25
Steps for Creating a Widget
• Write (X)HTML
• Write CSS
• Write business logic in JavaScript
  > Find and use other services

• Optionally add images




                                       26
Demo:
Building a Widget using zembly




                                 27
●




    Building A Facebook
    Application




                          28
Creating Facebook App. through zembly




                                        29
Why Build Facebook Apps using zembly?
• Zembly provides simple and consistent
 programming and deployment model
• Community of developers who can easily
 discover and leverage one another's work
• Rock solid hosting that is free up to a point and
 grows with you -- always on & can handle large
 loads
• IDE-level features such as code completion,
 syntax checking


                                                      30
Steps for Creating a Facebook application
• Create application on facebook.com
  > Live facebook.com wizard page gets displayed in an
    iframe
• Follow the wizard to set up Facebook parts of
  the application that zembly needs
  1. Log in to Facebook account
  2. Install Facebook developer application, if needed
  3. Create a Facebook application on facebook.com
  4. Copy API key and secret
• Manage the application from zembly

                                                         31
Demo:
Building a Facebook Application
          using zembly




                                  32
–




    Summary &
    Current Status




                     33
Summary
• zembly is a Wikipedia of social applications
• Using just browser, you can create and publish
 services, widgets, Facebook apps, Meebo apps,
 OpenSocial apps, iPhone apps, Google gadgets,
 and other social applications




                                                   34
Current Status
• You can participate in private beta
  > zembly.com

• Open beta coming in fall




                                        35
–



    Thank You!




    Prakash Narayan
    prakash.narayan@sun.com


                              36

Prakash Narayan Building Social Web V1

  • 1.
    This Presentation Courtesyof the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com [email protected] Founding Sponsors Platinum Sponsors Gold Sponsors Silver Sponsors
  • 2.
    Building the SocialWeb using zembly Prakash Narayan Sun Microsystems, Inc. 1
  • 3.
    Topics • Social networkingphenomenon • Impact of social networking to software development • What is zembly? • SOA principles to build/publish using zembly • Building service step by step • Building widget step by step • Building Facebook application step by step • Summary and current status 2
  • 4.
  • 5.
    Social Networking isMainstream • Rob McEwen, Goldcorp Inc. > Epiphany in 1999: Assembling a world class OS over the internet > March 2000: Sharing geological data with the world > Catapults a $100m company into a $9b juggernaut • • Collaboration on a mass scale is set to change every institution 4
  • 6.
    Social Networking Phenomenon •Social networking is rapidly growing with more than 70 million users > Facebook, MySpace, LinkedIn, Meebo, orkut, Friendster, ... • Social networking offers developers unprecedented opportunities to build social applications that can reach millions of users overnight 5
  • 7.
    Social Networking Phenomenon "We're just at the beginning of understanding how the social graph will change every web application... what is emerging is the identity and social subsystem of the future internet operating system." —Tim O'Reilly, O'Reilly Media, Inc. 6
  • 8.
    Impact of Social Networking to Software Development 7
  • 9.
    Emerging Changes inthe Software World • Participation model to the software development is changing > “Traditional models involving mostly software developers” to “new models that involve everyone” • Different metrics are emerging for determining value of an application > “Size and features” to “How much usage it gets” • The social platforms have emerged as viable development and deployment platform > Applications are being developed and deployed over targeted social platforms 8
  • 10.
    Why Social Platformsas Application Development/Deployment Platforms? • Solves common problems so that applications don't have to • Exposes facilities (e.g. APIs) to make writing applications easier > Provides higher level of abstraction in application model – profile, friends, etc. • Builds an Eco-system of applications, developers, and users > Applications deployed are becoming the part of the Eco-system, thus enhancing the value of the platform 9
  • 11.
    The Application Spectrum Hosted Services & Platforms Web-scale sites, 1st-gen Web APIs “Typical” Apps Java ME/SE/EE, NetBeans, Java CAPS, Glassfish, etc. Non-Traditional “Apps” Widgets, 2nd-gen Web APIs (Microservices), Mashups, Situational Apps 10
  • 12.
    Where is theApplication Growth? 11
  • 13.
    Where is theApplication Growth? • Non-traditional apps > Widgets, Social apps, iPhone apps, Mashups, Situational apps • Characteristics of these apps > Usually small > Developed by casual developers > Quick to build, easy to deploy • What lit the fuse? > Social platforms: Facebook, MySpace, Ning, Meebo, Orkut, etc. > Mature technologies and standards for delivering these apps 12
  • 14.
    What is zembly? 13
  • 15.
    zembly ● World's first cloud-based development environment for Facebook, OpenSocial, Meebo,and other social platforms 14
  • 16.
    What is zembly? •zembly is the place to create social applications, together > zembly allows users to easily create and host social applications of all shapes and sizes, targeting the most popular social platforms on the web • Think of zembly like Wikipedia for social applications > a wiki for live, editable code that is more than just about trivial widgets, but rather about full-fledged social applications that can tap into the social graph and reach millions of users. 15
  • 17.
    Browser-based development • IDE-based editor running in the browser • (X)HTML, CSS, JavaScript, FBML support • Dynamic API search & invocation • 1-click publishing onto the web • Automatic hosting 16
  • 18.
    zembly Enables SocialProgramming • Collaborative creation of social apps • Fine-grained reuse of artifacts • News feed • Contacts • Custom profile page • Messaging • User ratings • Favorites • Comments 17
  • 19.
    SOA Principles to build/deploy using zembly 18
  • 20.
    Things You CanCreate • Widgets • Services • Facebook apps • Meebo apps • iPhone apps • OpenSocial apps (in the near future) 19
  • 21.
    Building a Service Step by Step 20
  • 22.
    What is aService? • Contains business logic • Written in JavaScript • Can be published so that others can call it • Can take parameters 21
  • 23.
    Steps for Creatinga Service • Write business logic in JavaScript > Using IDE-like JavaScript editor: code completion, syntax checking, format, code snippet, change history • Set up parameters • Find and use other services • Handle error conditions > You can use built-in validation • Test the service • Publish the service > Version control 22
  • 24.
  • 25.
    Building a Widget Step By Step 24
  • 26.
    What is aWidget? • Widgets provide a user friendly object that you can embed in a web page • Made of > (X)HTML > CSS > JavaScript 25
  • 27.
    Steps for Creatinga Widget • Write (X)HTML • Write CSS • Write business logic in JavaScript > Find and use other services • Optionally add images 26
  • 28.
    Demo: Building a Widgetusing zembly 27
  • 29.
    Building A Facebook Application 28
  • 30.
    Creating Facebook App.through zembly 29
  • 31.
    Why Build FacebookApps using zembly? • Zembly provides simple and consistent programming and deployment model • Community of developers who can easily discover and leverage one another's work • Rock solid hosting that is free up to a point and grows with you -- always on & can handle large loads • IDE-level features such as code completion, syntax checking 30
  • 32.
    Steps for Creatinga Facebook application • Create application on facebook.com > Live facebook.com wizard page gets displayed in an iframe • Follow the wizard to set up Facebook parts of the application that zembly needs 1. Log in to Facebook account 2. Install Facebook developer application, if needed 3. Create a Facebook application on facebook.com 4. Copy API key and secret • Manage the application from zembly 31
  • 33.
    Demo: Building a FacebookApplication using zembly 32
  • 34.
    Summary & Current Status 33
  • 35.
    Summary • zembly isa Wikipedia of social applications • Using just browser, you can create and publish services, widgets, Facebook apps, Meebo apps, OpenSocial apps, iPhone apps, Google gadgets, and other social applications 34
  • 36.
    Current Status • Youcan participate in private beta > zembly.com • Open beta coming in fall 35
  • 37.
    Thank You! Prakash Narayan [email protected] 36