Prakash Narayan Building Social Web V1
-
Upload
soa-symposium -
Category
Technology
-
view
451 -
download
0
Transcript of Prakash Narayan Building Social Web V1
Founding Sponsors
This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
Gold Sponsors
Platinum Sponsors
Silver Sponsors
1
Building the Social Web using Building the Social Web using zembly zembly
Prakash NarayanPrakash NarayanSun Microsystems, Inc.Sun Microsystems, Inc.
2
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
3
Social NetworkingSocial NetworkingPhenomenonPhenomenon
4
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
5
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
6
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.
●
–
7
Impact of SocialImpact of SocialNetworking to Networking to Software DevelopmentSoftware Development
8
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
9
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
10
The Application Spectrum
“Typical” AppsJava ME/SE/EE, NetBeans, Java CAPS, Glassfish, etc.
Hosted Services & PlatformsWeb-scale sites, 1st-gen Web APIs
Non-Traditional “Apps”Widgets, 2nd-gen Web APIs (Microservices),
Mashups, Situational Apps
11
Where is the Application Growth?
12
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
●
–
13
What is zembly?What is zembly?
14
●World's first cloud-based development environment for Facebook,
OpenSocial, Meebo,and other social platforms
zembly
15
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.
16
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
17
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
●
–
18
SOA Principles to SOA Principles to build/deploy using zemblybuild/deploy using zembly
19
Things You Can Create• Widgets
• Services
• Facebook apps
• Meebo apps
• iPhone apps
• OpenSocial apps (in the near future)
●
–
20
Building a ServiceBuilding a ServiceStep by Step Step by Step
21
What is a Service?• Contains
business logic
• Written in JavaScript
• Can be published so that others can call it
• Can take parameters
22
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
23
Demo:Demo:
Building a zembly ServiceBuilding a zembly Service
●
–
24
Building a Widget Building a Widget Step By StepStep By Step
25
What is a Widget?
• Widgets provide a user friendly object that you can embed in a web page
• Made of> (X)HTML> CSS> JavaScript
26
Steps for Creating a Widget
• Write (X)HTML
• Write CSS
• Write business logic in JavaScript> Find and use other services
• Optionally add images
27
Demo:Demo:Building a Widget using zemblyBuilding a Widget using zembly
●
–
28
Building A Facebook Building A Facebook ApplicationApplication
29
Creating Facebook App. through zembly
30
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
31
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 needs1. 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
32
Demo:Demo:Building a Facebook ApplicationBuilding a Facebook Application
using zemblyusing zembly
●
–
33
Summary &Summary &Current StatusCurrent Status
34
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
35
Current Status
• You can participate in private beta> zembly.com
• Open beta coming in fall