Toward an opensocial life science gateway
1 / 17

- PowerPoint PPT Presentation

  • 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

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

PowerPoint Slideshow about '' - 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 l.jpg

Toward an OpenSocial Life Science Gateway

Wenjun Wu, Michael E. Papka, Rick Stevens

Web 2 0 gadget and social networking l.jpg
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 l.jpg

  • 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 l.jpg
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


    • Web-Services

    • JSON-RPC

  • OLSGW Portlets

Open life science gateway framework7 l.jpg
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 l.jpg
Application Service ( for clustalw )

<parameter iscommand="1" ishidden="1" type="String">









<parameter ismandatory="1" issimple="1" type="Sequence">





<code>$actions ne "-profile" and $actions ne "-sequences"</code>


<prompt>Sequences File (or Alignment File for Bootstrap and Tree actions) (-infile)</prompt>



<code> " -infile=$value"</code>


<code> " -infile=value"</code>





Serialized Command-Line


Generic rpc services for clustalw l.jpg
Generic RPC Services ( for clustalw )

function runClustalW(){

var params = new Object();

params.javaClass = 'java.util.Hashtable'; = {};['actions'] = '-align';['quicktree'] = 'fast';['outfile'] = 'OUTPUT';

var seqinput = document.getElementById("seqinput");['infile'] = seqinput.value;

// Hashtable params

result = jsonrpc.JobService.runJob(callback, "clustalw", params);


Generic RPC Service

String JobID runJob

(String application,


String> params);

JavaScript code segment for running clustalw jobs

Building opensocial gadgets for olsgw l.jpg
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"?>


<ModulePrefs title="Run ClustalW" scrolling="true" width="1000" height="600">

<Require feature="views"/>

<Require feature="dynamic-height"/>


<Content type="url" view="canvas" href=""></Content>


Html gadgets l.jpg
HTML gadgets

  • Advantage: utilize the rich features of OpenSocial JavaScript API

  • JSON-RPC service to run bio-applications


    • Allows the gadget JavaScript to communicate with remote services through a proxy in the gadget’s OpenSocial container

var params={};

params[] =;

params[] =;

params[] =;

var rpcdata = {}

params[]=;, response, params);

JavaScript code for sending a makeRequest to invoke JSON-RCP Service

Gadgets authorization l.jpg
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 l.jpg




OAuth Implementation for JSON-RPC

Request Token Servlet

Authorization Servlet

Access Token Servlet

OAuth Security Filter


Service Provider

Message flow in oauth steps l.jpg

Consumer Requests

Request Token



Provider Grants

Request Token


Callback URL



Access Token


POST (2)

Access Token

Message flow in OAuth steps

HTTP Request & Callback URL

Slide15 l.jpg

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

Blast gadget run on both iGoogle and orkut

Open life science gateway gadgets l.jpg
Open Life Science Gateway gadgets

Job History gadget

ClustalW gadget

Questions answers l.jpg
Questions & Answers

  • Demo on Tuesday

    12:00PM Argonne Booth

    1:30PM Indiana Booth