2024: Domino Containers - The Next Step. News from the Domino Container commu...
Prakash Narayan Building Social Web V1
1. 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
2. Building the Social Web using
zembly
Prakash Narayan
Sun Microsystems, Inc.
1
3. 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
5. 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
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 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
10. 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
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
13. 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
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 Social Programming
• 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 Can Create
• Widgets
• Services
• Facebook apps
• Meebo apps
• iPhone apps
• OpenSocial apps
(in the near
future)
19
22. What is a Service?
• Contains
business logic
• Written in
JavaScript
• Can be published
so that others can
call it
• Can take
parameters
21
23. 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
26. 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
27. Steps for Creating a Widget
• Write (X)HTML
• Write CSS
• Write business logic in JavaScript
> Find and use other services
• Optionally add images
26
31. 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
32. 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
35. 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
36. Current Status
• You can participate in private beta
> zembly.com
• Open beta coming in fall
35