2 zembly와 socialsite를 이용한 클라우드 컴퓨팅-sang shin
TRANSCRIPT
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 1/37
1
Building Social Applications usingBuilding Social Applications using“zembly”“zembly”
Sang Shin, Technology ArchitectSang Shin, Technology Architect
Sun Microsystems, Inc.Sun Microsystems, Inc.
javapassion.comavapassion.com
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 2/37
2
Topics
• Social networking phenomenon
• Impact of social networking to softwaredevelopment
• What is “zembly”?• Things you can build/publish using “zembly”
• Building service step by step
• Building widget step by step
• Building Facebook application step by step
• Summary and current status
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 3/37
3
Social NetworkingSocial NetworkingPhenomenonPhenomenon
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 4/37
4
Social Networking Phenomenon
• Social networking is rapidly growing with morethan 70 million users
> Facebook, MySpace, orkut, LinkedIn, Meebo,Friendster, ...
• Primary means of mass communication among13-30 years
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 5/37
5
Social Networking Phenomenon
"We're just at the beginning of understandinghow the social graph will change every webapplication... what is emerging is the identity andsocial subsystem of the future internet operating
system."
—Tim O'Reilly, O'Reilly Media, Inc.
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 6/37
6
Impact of SocialImpact of SocialNetworking toNetworking toSoftware Development Software Development
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 7/377
Why Do You Care (as Developers)?
• Social networking offers developersunprecedented opportunities to build socialapplications that can reach millions of usersovernight
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 8/378
Emerging Changes in the Software World
• Participation model to the software developmentis changing
> “Traditional models involving mostly softwaredevelopers” to “new models that involve everyone”
• Different metrics are emerging for determiningvalue of an application
> “Size and features” to “How much usage it gets”
• The social platforms have emerged as viabledevelopment and deployment platform
> Applications are being developed and deployed over the popular social platforms
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 9/379
Why Social Platforms as Application
Development/Deployment Platforms?• Provides application development and deployment
right on the web
> Removes the complexity of deployment process
• Exposes facilities (e.g. APIs) to make writingapplications easier
> Provides higher level of abstraction in applicationmodel – profile, friends, rating system, etc.
• Builds an Eco-system of applications, developers,and users
> Applications deployed are becoming the part of theEco-system, thus enhancing the value of the platform
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 10/3710
Where is the Future Application Growth?
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 11/37
11
Where is the Future 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?> Polarization of social platforms: Facebook, MySpace,
Ning, Meebo, Orkut, etc.
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 12/3712
What is “zembly”?What is “zembly”?
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 13/37
13
What is “zembly”?
• “zembly” is the place to create socialapplications, together
> “zembly” allows users to easily create and host socialapplications of all shapes and sizes, targeting the
most popular social platforms on the web
• Think of “zembly” like Wikipedia for socialapplications
> a wiki for live, editable code that is more than just
about trivial widgets, but rather about full-fledgedsocial applications that can tap into the social graphand reach millions of users.
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 14/37
14
“zembly” Provides Browser-based development
• IDE-based editor running in thebrowser
• (X)HTML, CSS,
JavaScript, FBMLsupport
• Dynamic APIsearch &
invocation• 1-click publishing
onto the web
• Automatic hosting
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 15/37
15
“zembly” Enables Social Programming
• Collaborativecreation of socialapplications
• Fine-grained reuseof artifacts
• News feed
• Contacts
• Custom profilepage
• Messaging
• User ratings
• Favorites
• Comments
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 16/37
16
Your “zembly” Your “zembly”Development EnvironmentDevelopment Environment
You can this demo yourself! You can this demo yourself!
http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_1http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_1
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 17/37
●
17
What things can youWhat things can youbuild/publish usingbuild/publish using“zembly”?“zembly”?
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 18/37
18
Things You Can Create with “zembly”?
• Widgets
• Services
• Facebook apps
• Meebo apps• iPhone apps
• OpenSocial apps
• orkut apps
• MySpace apps
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 19/3719
Building a ServiceBuilding a ServiceStep by StepStep by Step
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 20/37
20
What is a Service?
• Containsbusiness logic
• Written inJavaScript
• Can be publishedso that others cancall it
> “zembly” creates
a deployableweb service anddeploys it in itown container
• Can take
parameters
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 21/37
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
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 22/37
22
1. Exploring services built by others1. Exploring services built by others2. Building a HelloWorld service2. Building a HelloWorld service
3. Building Loan Payment service3. Building Loan Payment service
You can this demo yourself! You can this demo yourself!
http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_2http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_2
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 23/37
23
Demo: Building Loan Payment Service
• Write business logic in JavaScript> Calculates one's monthly mortgage payment based on
principal, interest rate, and length of loan (years)
• Set up parameters
> principal, interest, and years - required and Number type
• Test the service
• Publish the service
• Use the service
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 24/37
24
Building a Widget Building a Widget Step By StepStep By Step
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 25/37
25
What is a Widget?
• Widgets provide a user friendly object that youcan embed in a web page
• Made of
> (X)HTML
> CSS
> JavaScript
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 26/37
26
Steps for Creating a Widget
• Write (X)HTML• Write CSS
• Write business logic in JavaScript
> Find and use other services
• Optionally add images
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 27/37
27
1. Exploring widgets built by others1. Exploring widgets built by others2. Building Loan Payment Widget2. Building Loan Payment Widget
You can this demo yourself! You can this demo yourself!
http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_3http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_3
●
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 28/37
●
28
Building A FacebookBuilding A FacebookApplicationApplication
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 29/37
29
Creating Facebook App. through zembly
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 30/37
30
Why Build Facebook Apps using “zembly”?
• “zembly” provides simple and consistentprogramming 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 andgrows with you -- always on & can handle largeloads
• IDE-level features such as code completion, syntaxchecking, change history, format
• Change history (during editing) and Version control(for each publishing)
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 31/37
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 needs
1. Log in to Facebook account
2. Install Facebook developer application, if needed
3. Create a Facebook application on facebook.com4. Copy API key and secret
• Manage the application from zembly
> Build, publish, change and republish
:
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 32/37
32
:Building Facebook ApplicationBuilding Facebook Application
by Cloningby Cloning
You can this demo yourself! You can this demo yourself!
http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_4http://www.javapassion.com/handsonlabs/zembly_basics/#Exercise_4
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 33/37
33
Demo:Demo:
Cloning Facebook ApplicationCloning Facebook Applicationusing zemblyusing zembly
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 34/37
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 35/37
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
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 36/37
36
Current Status
• You can participate in private beta now> zembly.com
• Open beta coming in fall
8/14/2019 2 Zembly SocialSite -Sang Shin
http://slidepdf.com/reader/full/2-zembly-socialsite-sang-shin 37/37
Thank You!Thank You!
Sang Shin
javapassion.com