Prakash Narayan Building Social Web V1

37
Founding Sponsors This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com [email protected] Gold Sponsors Platinum Sponsors Silver Sponsors

Transcript of Prakash Narayan Building Social Web V1

Page 1: 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

[email protected]

Gold Sponsors

Platinum Sponsors

Silver Sponsors

Page 2: Prakash  Narayan    Building  Social  Web V1

1

Building the Social Web using Building the Social Web using zembly zembly

Prakash NarayanPrakash NarayanSun Microsystems, Inc.Sun Microsystems, Inc.

Page 3: Prakash  Narayan    Building  Social  Web V1

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

Page 4: Prakash  Narayan    Building  Social  Web V1

3

Social NetworkingSocial NetworkingPhenomenonPhenomenon

Page 5: Prakash  Narayan    Building  Social  Web V1

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

Page 6: Prakash  Narayan    Building  Social  Web V1

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

Page 7: Prakash  Narayan    Building  Social  Web V1

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.

Page 8: Prakash  Narayan    Building  Social  Web V1

7

Impact of SocialImpact of SocialNetworking to Networking to Software DevelopmentSoftware Development

Page 9: Prakash  Narayan    Building  Social  Web V1

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

Page 10: Prakash  Narayan    Building  Social  Web V1

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

Page 11: Prakash  Narayan    Building  Social  Web V1

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

Page 12: Prakash  Narayan    Building  Social  Web V1

11

Where is the Application Growth?

Page 13: Prakash  Narayan    Building  Social  Web V1

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

Page 14: Prakash  Narayan    Building  Social  Web V1

13

What is zembly?What is zembly?

Page 15: Prakash  Narayan    Building  Social  Web V1

14

●World's first cloud-based development environment for Facebook,

OpenSocial, Meebo,and other social platforms

zembly

Page 16: Prakash  Narayan    Building  Social  Web V1

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.

Page 17: Prakash  Narayan    Building  Social  Web V1

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

Page 18: Prakash  Narayan    Building  Social  Web V1

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

Page 19: Prakash  Narayan    Building  Social  Web V1

18

SOA Principles to SOA Principles to build/deploy using zemblybuild/deploy using zembly

Page 20: Prakash  Narayan    Building  Social  Web V1

19

Things You Can Create• Widgets

• Services

• Facebook apps

• Meebo apps

• iPhone apps

• OpenSocial apps (in the near future)

Page 21: Prakash  Narayan    Building  Social  Web V1

20

Building a ServiceBuilding a ServiceStep by Step Step by Step

Page 22: Prakash  Narayan    Building  Social  Web V1

21

What is a Service?• Contains

business logic

• Written in JavaScript

• Can be published so that others can call it

• Can take parameters

Page 23: Prakash  Narayan    Building  Social  Web V1

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

Page 24: Prakash  Narayan    Building  Social  Web V1

23

Demo:Demo:

Building a zembly ServiceBuilding a zembly Service

Page 25: Prakash  Narayan    Building  Social  Web V1

24

Building a Widget Building a Widget Step By StepStep By Step

Page 26: Prakash  Narayan    Building  Social  Web V1

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

Page 27: Prakash  Narayan    Building  Social  Web V1

26

Steps for Creating a Widget

• Write (X)HTML

• Write CSS

• Write business logic in JavaScript> Find and use other services

• Optionally add images

Page 28: Prakash  Narayan    Building  Social  Web V1

27

Demo:Demo:Building a Widget using zemblyBuilding a Widget using zembly

Page 29: Prakash  Narayan    Building  Social  Web V1

28

Building A Facebook Building A Facebook ApplicationApplication

Page 30: Prakash  Narayan    Building  Social  Web V1

29

Creating Facebook App. through zembly

Page 31: Prakash  Narayan    Building  Social  Web V1

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

Page 32: Prakash  Narayan    Building  Social  Web V1

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

Page 33: Prakash  Narayan    Building  Social  Web V1

32

Demo:Demo:Building a Facebook ApplicationBuilding a Facebook Application

using zemblyusing zembly

Page 34: Prakash  Narayan    Building  Social  Web V1

33

Summary &Summary &Current StatusCurrent Status

Page 35: Prakash  Narayan    Building  Social  Web V1

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

Page 36: Prakash  Narayan    Building  Social  Web V1

35

Current Status

• You can participate in private beta> zembly.com

• Open beta coming in fall

Page 37: Prakash  Narayan    Building  Social  Web V1

36

Thank You!Thank You!

Prakash [email protected]