Building Polargrid Portal using Gadgets and...

Post on 01-Sep-2020

7 views 0 download

Transcript of Building Polargrid Portal using Gadgets and...

BuildingPolargridPortalusingGadgetsandOpenSocial

GeraldGuo,RaminderSingh,MarlonPierce

PervasiveTechnologyIns>tuteatIndianaUniversity

{zhguo,ramifnu,marpierc}@indiana.edu

Introduc>ontoPolargrid•  AnNSF‐fundedMRIprojectthatprovidescompu>ngsupportfortheCenterfor

theRemoteSensingofIceSheets(CReSIS,hMps://www.cresis.ku.edu/)

•  CReSISisprimarilyconcernedwithusingSynthe>cApertureRadar(SAR)techniquestoobtaininforma>ononthedepthoftheGreenlandandAntarc>cicesheetsandtheirunderlyingrockbeds.

•  Providesbothin‐the‐fieldcompu>ngclustersforini>alimageprocessingandlargerclustersatIndianaUniversityforfull‐scaleimageprocessing.

•  Imageprocessingisneededtoproducedataproductsofmul>plelevels

Partners&Collaborators

•  JeffWoodsatECSU•  UniversityofKansas

•  OhioStateUniversity•  PennsylvaniaStateUniversity

PortalRequirements

•  ViewCReSISdatasets,runfilters,andviewresultsthroughWebmapinterfaces.

•  See/Shareuser’seventsinaCalendar.•  Updateresultstoacommonrepositorywithappropriateaccesscontrols.

•  Postthestatusofcomputa>onalexperiments.

•  Supportcollabora>onandinforma>onexchangebyinterfacingtoblogsanddiscussionarea.

Approaches

•  Exis>ngframeworkslikeSakai,Moodle,Liferay,ExoandDrupal

•  BuildingopensystemusingOpenSocialGadgetandusingGoogleservicesorsocialnetworkserviceslikeFacebook,TwiMeretc.forcollabora>on

TechnologiesTech/Design choices Reason Summary

Web 2.0 Improves usability and responsiveness

Gadget Makes developers possible to write reusable web components that can be deployed to any Gadget container.

OpenSocial Makes portal possible to interact with existing large social networks instead of building our own.

REST Makes applications able to access PolarGrid services using simple HTTP requests.

OpenID Makes portal able to interact with external OpenID-compliant identity management systems.

OAuth Makes portal able to interact with external OAuth-protected services.

MyProxy Makes portal able to interact with security infrastructure of Grid systems.

PolargridArchitecture

ProcessFlow

1.  Auservisitshis/hergadgethomepage,whichisservedbyOGCEgadgetlayoutmanager

2.  Thegadgetlayoutmanagerconstructstheuser’scustomgadgetlayoutinbrowserandmakesuseofagadgetrenderer(Shindiginourcase)torendereachgadgetXMLtoHTML/JavaScript.ThenthegeneratedHTML/JavaScriptcodeisdisplayedinbrowser.

3.  DifferentgadgetsmayinteractwithdifferentbackendRESTfulservicestogenerateoutput.AJSONresponseissentbacktothegadgettodisplaytheresults.

4.  GadgetsandRESTfulservicesalsoquerysocialdatausingOpenSocialAPI’sbysendingrequeststoShindigserver.

FilterGadget Usercanselectdifferentparameterstorunafiltertocreateimage.ResultimagewillbedisplayedonGooglemap.

BlogGadget TodisplaythefeedsfromPolarGridblogsite.

DiscussionBoard GoogleFriendConnect(GFC)gadgettodiscussoncertaintopic.

FilterImages Picasagadgettodisplayallthefilterimageswithfilterdescrip>on.

FAQGadget GFCgadgetforQues>on/Answer.Moderatorcanalwayscontrolthetopicsandcanblockpeoplefromthelist.

GoogleCalendar CalendargadgettodisplaypublicPolarGrid‐specificac>vi>esandtasks.

TwiMerGadget Toreadfilterexecu>onupdatesfromtwiMerrelatedtoPolarGrid.

FacebookGadget UsercanupdatestatusoftaskdirectlytoFacebookfromhere.

Gadgets

•  RESTservicea.  TointegrategadgetwithGFACservice.b.  CallGFACWebserviceandreadtheSOAPresponsetoreadresult.

c.  UploadresultantimagetoPicasawithparametersinforma>on.d.  Addthisac>vitytothecalendarunderpar>culatecalendarname.e.  Publishthisac>vityalongwithPicasaURLandCalendareventto

TwiMer

f.  CreateJSONresponseforGadget•  GFACServiceistowraptheservicerequestandestablish

communica>onwithTeragridresourcestoruntheMatlabjob.•  Matlabfilter:Binarytakesalltheparametersandprocessthefiltersfor

requireddataset.

Backendservices

OGCEGadgetPortal

•  Goal– Buildanopen,lightweight,flexible,easy‐to‐build,generalportal

•  Approach– Agiledevelopment:makeuseofexis>ngandwidely‐acceptedtechnologiesandservices.• Web2.0,Gadget,OpenSocial,OpenID,OAuth

•  GoogleCalendar,Picasa,Blogspot,TwiMer•  TeraGrid

PolarGridArchitecturePolarGridspecificgadgetandservices

Genericservices

Web2.0

“Secondgenera>onofwebdevelopmentandwebdesign”

Enterprise Approach Web 2.0 Approach Portlets Gadgets, Widgets SOAP RSS, Atom, JSON

WSDL REST(GET, PUT, POST ,DELETE)

Server side integration Client-side integration (AJAX) Monolithic Workflow managers Mash-ups (e.g. Yahoo Pipes)

Gateways User-centric social network portals

REST

•  UniforminterfacesbasedonHTTP•  Resource‐oriented(resourcecanbeanything)•  Eachresourceisiden>fiedbyauniqueURL•  Statetransi>on(Linkresourcestogether)•  Resourceshavemul>plerepresenta>ons(JSON,XML)•  Goodforbothbrowser‐to‐serverandserver‐to‐server

interac3ons•  Alterna>ve‐SOAP‐basedWS

–  About60corews‐*protocols–  Designedforserver‐serverinterac>ons

•  SOAPandWSDLarereallycomplicated•  Browser‐basedappsaresecond‐classci>zens.

OpenSocial

Components•  Interface:

REST,JavascriptAPIs•  Client:Ajax,Gadget•  MessageFormat:

JSON,XML•  Security:OAuth•  DataModel

• Acoherentopenarchitecturedesignedforsocialnetworkservicesandapplica>ons.

OpenID•  Separa>onofIden>tyProviderandRelyingPar>es.

•  Iden>tyProviders:Blogspot,Flickr,•  UsethesameOpenIDtologinmul>plesites.•  BindOpenIDtolocalaccounts.•  Anerthebinding,useOpenIDforlogin.

OGCEGadgetPortalGoogleBlogspotYahoo!FlickrAOL

GoogleFriendConnect

•  NovelwaytointegrateSocialFeatures

•  Allowuserstologinwithexis>ngGoogle,Yahoo,AOL,OpenIDaccounts

OAuth

•  Users’dataisservedatserviceproviders.•  Thirdpartyappswanttoaccessusers’data.•  Usersdon’tneedtorelinquishusernameandpasswordtothirdpartyapps.

3rd‐partyApp TwiMer

GoogleDocsMySpaceTwiMer

SmugMug

OAuth(cont.)

•  Drawbacks– V1.0isvulnerabletosessionfixa>onaMack(

hMp://oauth.net/advisories/2009‐1).Fixedinv1.0a.– Delega>ongranularity(Serviceprovider‐specific)

•  Opera>ons•  Data

– Accesstokenmanagement•  Non‐standard•  Expira>on(implicit>meout)

•  Revoca>on(explicitlyrevokeassignedprivileges)

Tablayout

TreeLayout

OGCEGadgetPortalFeatures•  Twolayouts

–  Tab–  Tree

•  Gadgetgroupmanipula>on–add/remove•  Fourbuilt‐inthemes•  Gadgetmanipula>on

–  Add/removeGadget–  DragandDrop–  Twogadgetviews:homeandcanvas–  Gadgetsesng

•  Sessionpersistence•  Layoutdata

–  View,modifylayoutdata–  Easytomigratewhenyoudoanewinstalla>on–  Inspect

•  Ondemandrendering•  Customiza>on

GadgetResource

•  Reusability•  Googlegadgetdirectorycontainsabout180,000gadgets.

•  TheycanbedeployedtoOGCEgadgetportal.•  Commongadgets

– RSSFeedReader,Calendar,Email,Tasklist

•  Socialgadgets– TwiMer,GoogleTalk,Facebook,Youtube

OtherScienceUseCases

•  TeraGrid– MiniGpir,loadmonitoring,resourceusage

•  OpenLifeScienceGateway– UseOAuthtosubmitjobsandaccessresources

•  Cyberaide–  InteractwithGridusingwebinterface

•  MyProxyauthen>ca>on•  GlobusJobSubmission

•  GridFTPfiletransfer

OGCESonware’sandRelatedlinks

OGCELayoutManager:ThisprojectistoprovideOpenSocial‐compa>blegadgetlayoutcontainerandgadgethostserver.

–  Ac>velyDevelopedbyGeraldGuo,PHDstudentinIndianaUniversity

–  GadgetDevelopsneednottodependonigoogleororkut

–  Lotofnewfeatureareaddedlatelyandseveralnewinaqueue.

GFAC:Wrapanycommand‐lineapplica>onasanWebservice.

–  DevelopedforLeadProjectandnowgeneralizedforanygateway.

–  RearchitectedtoworkasAxis2servicetoleveragehandlerarchitectureandRESTsupport.

Publica>onsandrelatedresearch•  BuildingthePolarGridPortalUsingWeb2.0andOpenSocialGCE09GridCompu>ng

Environments2009workshopatSC09PortlandOregonNovember202009•  hMp://www.collab‐ogce.org

•  hMp://collab‐ogce.blogspot.com/

•  hMp://cglreport.zhenhua.info/

•  hMp://communitygrids‐raman.blogspot.com/2009/07/open‐social‐frameworks_20.html