1 / 17

Toward an OpenSocial Life Science Gateway

Toward an OpenSocial Life Science Gateway. Wenjun Wu, Michael E. Papka, Rick Stevens. 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

KeelyKia
Download Presentation

Toward an OpenSocial Life Science Gateway

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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.* <People, Relationship, Activity, Persistence> • 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 ) <parameter iscommand="1" ishidden="1" type="String"> <name>clustalw</name> <attributes> <format> <language>perl</language> <code>"clustalw"</code> </format> </attributes> </parameter> <parameter ismandatory="1" issimple="1" type="Sequence"> <name>infile</name> <attributes> <precond> <language>perl</language> <code>$actions ne "-profile" and $actions ne "-sequences"</code> </precond> <prompt>Sequences File (or Alignment File for Bootstrap and Tree actions) (-infile)</prompt> <format> <language>perl</language> <code> " -infile=$value"</code> <language>seqlab</language> <code> " -infile=value"</code> </format> </seqfmt> </attributes> </parameter> Serialized Command-Line Objects

  9. Generic RPC Services ( for clustalw ) function runClustalW(){ var params = new Object(); params.javaClass = 'java.util.Hashtable'; 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.runJob(callback, "clustalw", params); } Generic RPC Service String JobID runJob (String application, Hashmap<String, String> 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. <?xml version="1.0" encoding="UTF-8"?> <Module> <ModulePrefs title="Run ClustalW" scrolling="true" width="1000" height="600"> <Require feature="views"/> <Require feature="dynamic-height"/> </ModulePrefs> <Content type="url" view="canvas" href="http://cbc.lac.uic.edu:8080/jobsubportlets/gadget/clustalw.html"></Content> </Module>

  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 gadget’s OpenSocial container var params={}; params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.OAUTH; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST; var rpcdata = {rpc:req.data} params[gadgets.io.RequestParameters.POST_DATA]= gadgets.io.encodeValues(rpcdata); gadgets.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. Gadgets OpenSocial Container OAuth Implementation for JSON-RPC Request Token Servlet Authorization Servlet Access Token Servlet OAuth Security Filter JSON-RPC Service Provider

  14. Consumer Requests Request Token MakeRequest POST/GET (1) Provider Grants Request Token ApprovalURL Callback URL Consumer Requests Access Token MakeRequst POST (2) Access Token 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 12:00PM Argonne Booth 1:30PM Indiana Booth

More Related