toward an opensocial life science gateway l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Toward an OpenSocial Life Science Gateway PowerPoint Presentation
Download Presentation
Toward an OpenSocial Life Science Gateway

Loading in 2 Seconds...

play fullscreen
1 / 17

Toward an OpenSocial Life Science Gateway - PowerPoint PPT Presentation


  • 389 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Toward an OpenSocial Life Science Gateway' - KeelyKia


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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
opensocial
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
open life science gatway services
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
open life science gateway framework7
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
application service for clustalw
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

generic rpc services for clustalw
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

building opensocial gadgets for olsgw
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>

html gadgets
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

gadgets authorization
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
oauth implementation for json rpc

Gadgets

OpenSocial

Container

OAuth Implementation for JSON-RPC

Request Token Servlet

Authorization Servlet

Access Token Servlet

OAuth Security Filter

JSON-RPC

Service Provider

message flow in oauth steps

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

slide15

Open Life Science Gateway Bio-gadgets (rendered in iGoogle)

Blast gadget run on both iGoogle and orkut

open life science gateway gadgets
Open Life Science Gateway gadgets

Job History gadget

ClustalW gadget

questions answers
Questions & Answers
  • Demo on Tuesday

12:00PM Argonne Booth

1:30PM Indiana Booth