Facebook MySpace. Build virtual communities in a bottom-u - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Facebook MySpace. Build virtual communities in a bottom-u

Description:

Facebook MySpace. Build virtual communities in a bottom-up manner ... OAuth Consumer: makeRequest proxy in an OpenSocial container ... – PowerPoint PPT presentation

Number of Views:131
Avg rating:3.0/5.0
Slides: 18
Provided by: wenj5
Category:

less

Transcript and Presenter's Notes

Title: Facebook MySpace. Build virtual communities in a bottom-u


1
Toward an OpenSocial Life Science Gateway
  • Wenjun Wu, Michael E. Papka, Rick Stevens

2
Web 2.0 Gadget and Social networking
  • Gadget
  • Mini web application
  • AJAX
  • Social Networking
  • Facebook MySpace
  • Build virtual communities in a bottom-up manner
  • Leverage science gateway portals
  • Rich user interface
  • Collaboration social networking

3
OpenSocial
  • A standardized framework for building social
    applications
  • Provides Specification for both gadget and
    social-networking
  • Gadget JavaScript API gadgets.
  • OpenSocial JavaScript API opensocial.
  • ltPeople, Relationship, Activity, Persistencegt
  • Enabling web developers to write gadgets with
    social capability that can run in any OpenSocial
    compliant container
  • iGoogle, Orkut,MySpace, Hi5
  • Apache Shindig
  • Open Source OpenSocial container

4
OpenSocial Gadget vs Portlet
5
Open Life Science Gatway Services
  • A TeraGrid Science Gateway Project
  • Integrates a group of bio-informatics
    applications and data collections into a portal
  • Alignment - Blast and ClustalW
  • Protein domain InterProScan
  • Protein Structure Prediction
  • Job History browsing
  • RPC API
  • Web-Services
  • JSON-RPC
  • OLSGW Portlets

6
Open Life Science Gateway Framework
7
Open Life Science Gateway Framework
  • Generic RPC Services
  • both a generic SOAP-RPC service and JSON-service,
    unmarshall RPC requests from clients, and create
    the job objects along with job execution scripts
  • Application Service
  • responsible for parsing an application XML
    description, generating service stubs and
    formatting application specific web-pages and
    portlet codes.
  • Job Factory
  • builds a job execution script and constructs a
    job object in the persistence job storage

8
Application Service ( for clustalw )
ltparameter iscommand"1" ishidden"1"
type"String"gt ltnamegtclustalwlt/namegt
ltattributesgt ltformatgt ltlanguagegtperllt/language
gt ltcodegt"clustalw"lt/codegt lt/formatgt
lt/attributesgt lt/parametergt ltparameter
ismandatory"1" issimple"1" type"Sequence"gt
ltnamegtinfilelt/namegt ltattributesgt ltprecond
gt ltlanguagegtperllt/languagegt ltcodegtactions
ne "-profile" and actions ne "-sequences"lt/codegt
lt/precondgt ltpromptgtSequences File (or
Alignment File for Bootstrap and Tree actions)
(-infile)lt/promptgt ltformatgt ltlanguagegtperllt/lan
guagegt ltcodegt " -infilevalue"lt/codegt ltlangu
agegtseqlablt/languagegt ltcodegt "
-infilevalue"lt/codegt lt/formatgt lt/seqfmtgt
lt/attributesgt lt/parametergt
Serialized Command-Line Objects
9
Generic RPC Services ( for clustalw )
function runClustalW() var params new
Object() params.javaClass 'java.util.Hashtabl
e' params.map params.map'actions'
'-align' params.map'quicktree' 'fast'
params.map'outfile' 'OUTPUT' var seqinput
document.getElementById("seqinput")
params.map'infile' seqinput.value //
Hashtable params result jsonrpc.JobService.r
unJob(callback, "clustalw", params)  
Generic RPC Service String JobID runJob (String
application, HashmapltString, Stringgt params)
JavaScript code segment for running clustalw jobs
10
Building OpenSocial gadgets for OLSGW
  • URL gadgets
  • IFrame
  • Wrap any Html pages in OLSGW
  • Session Cookie
  • HTML gadgets
  • Gadget XML
  • HTML markups
  • JavaScript codes.

lt?xml version"1.0" encoding"UTF-8"?gt ltModulegt ltM
odulePrefs title"Run ClustalW" scrolling"true"
width"1000" height"600"gt ltRequire
feature"views"/gt ltRequire feature"dynamic-height
"/gt lt/ModulePrefsgt ltContent type"url"
view"canvas" href"http//cbc.lac.uic.edu8080/jo
bsubportlets/gadget/clustalw.html"gtlt/Contentgt lt/Mo
dulegt
11
HTML gadgets
  • Advantage utilize the rich features of
    OpenSocial JavaScript API
  • JSON-RPC service to run bio-applications
  • gadgets.io.makeRequest
  • Allows the gadget JavaScript to communicate with
    remote services through a proxy in the gadgets
    OpenSocial container

var params paramsgadgets.io.RequestParameter
s.AUTHORIZATION gadgets.io.AuthorizationType.OA
UTH paramsgadgets.io.RequestParameters.CONTENT_T
YPE gadgets.io.ContentType.TEXT paramsgadgets
.io.RequestParameters.METHOD
gadgets.io.MethodType.POST var rpcdata
rpcreq.data paramsgadgets.io.RequestParameters
.POST_DATA gadgets.io.encodeValues(rpcdata) gad
gets.io.makeRequest(this.serverURL, response,
params)
JavaScript code for sending a makeRequest to
invoke JSON-RCP Service
12
Gadgets Authorization
  • OAuth
  • An open authorization delegation mechanism
  • Three Steps
  • The consumer obtains an unauthorized request
    token.
  • The user authorizes the request token.
  • The consumer exchanges the request token for an
    access token.
  • OAuth Entities in OLSGW
  • OAuth Consumer makeRequest proxy in an
    OpenSocial container
  • OAuth Provider the JSON-RPC service provider
  • OAUTH servlets and filter

13
OAuth Implementation for JSON-RPC
Request Token Servlet
Authorization Servlet
Access Token Servlet
OAuth Security Filter
JSON-RPC Service Provider
14
Message flow in OAuth steps
HTTP Request Callback URL
15
Open Life Science Gateway Bio-gadgets (rendered
in iGoogle)
Blast gadget run on both iGoogle and orkut
16
Open Life Science Gateway gadgets
Job History gadget
ClustalW gadget
17
Questions Answers
  • Demo on Tuesday
  • 1200PM Argonne Booth
  • 130PM Indiana Booth
Write a Comment
User Comments (0)
About PowerShow.com