Building Polargrid Portal using Gadgets and...

24
Building Polargrid Portal using Gadgets and OpenSocial Gerald Guo, Raminder Singh, Marlon Pierce Pervasive Technology Ins>tute at Indiana University {zhguo, ramifnu, marpierc}@indiana.edu

Transcript of Building Polargrid Portal using Gadgets and...

Page 1: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

BuildingPolargridPortalusingGadgetsandOpenSocial

GeraldGuo,RaminderSingh,MarlonPierce

PervasiveTechnologyIns>tuteatIndianaUniversity

{zhguo,ramifnu,marpierc}@indiana.edu

Page 2: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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

Page 3: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

PortalRequirements

•  ViewCReSISdatasets,runfilters,andviewresultsthroughWebmapinterfaces.

•  See/Shareuser’seventsinaCalendar.•  Updateresultstoacommonrepositorywithappropriateaccesscontrols.

•  Postthestatusofcomputa>onalexperiments.

•  Supportcollabora>onandinforma>onexchangebyinterfacingtoblogsanddiscussionarea.

Page 4: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

Approaches

•  Exis>ngframeworkslikeSakai,Moodle,Liferay,ExoandDrupal

•  BuildingopensystemusingOpenSocialGadgetandusingGoogleservicesorsocialnetworkserviceslikeFacebook,TwiMeretc.forcollabora>on

Page 5: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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.

Page 6: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

PolargridArchitecture

Page 7: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

ProcessFlow

1.  Auservisitshis/hergadgethomepage,whichisservedbyOGCEgadgetlayoutmanager

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

3.  DifferentgadgetsmayinteractwithdifferentbackendRESTfulservicestogenerateoutput.AJSONresponseissentbacktothegadgettodisplaytheresults.

4.  GadgetsandRESTfulservicesalsoquerysocialdatausingOpenSocialAPI’sbysendingrequeststoShindigserver.

Page 8: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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

Page 9: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

•  RESTservicea.  TointegrategadgetwithGFACservice.b.  CallGFACWebserviceandreadtheSOAPresponsetoreadresult.

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

TwiMer

f.  CreateJSONresponseforGadget•  GFACServiceistowraptheservicerequestandestablish

communica>onwithTeragridresourcestoruntheMatlabjob.•  Matlabfilter:Binarytakesalltheparametersandprocessthefiltersfor

requireddataset.

Backendservices

Page 10: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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

Page 11: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

PolarGridArchitecturePolarGridspecificgadgetandservices

Genericservices

Page 12: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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

Page 13: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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.

Page 14: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

OpenSocial

Components•  Interface:

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

JSON,XML•  Security:OAuth•  DataModel

• Acoherentopenarchitecturedesignedforsocialnetworkservicesandapplica>ons.

Page 15: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

OpenID•  Separa>onofIden>tyProviderandRelyingPar>es.

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

OGCEGadgetPortalGoogleBlogspotYahoo!FlickrAOL

Page 16: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

GoogleFriendConnect

•  NovelwaytointegrateSocialFeatures

•  Allowuserstologinwithexis>ngGoogle,Yahoo,AOL,OpenIDaccounts

Page 17: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

OAuth

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

3rd‐partyApp TwiMer

GoogleDocsMySpaceTwiMer

SmugMug

Page 18: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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)

Page 19: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

Tablayout

Page 20: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

TreeLayout

Page 21: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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

Page 22: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

GadgetResource

•  Reusability•  Googlegadgetdirectorycontainsabout180,000gadgets.

•  TheycanbedeployedtoOGCEgadgetportal.•  Commongadgets

– RSSFeedReader,Calendar,Email,Tasklist

•  Socialgadgets– TwiMer,GoogleTalk,Facebook,Youtube

Page 23: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

OtherScienceUseCases

•  TeraGrid– MiniGpir,loadmonitoring,resourceusage

•  OpenLifeScienceGateway– UseOAuthtosubmitjobsandaccessresources

•  Cyberaide–  InteractwithGridusingwebinterface

•  MyProxyauthen>ca>on•  GlobusJobSubmission

•  GridFTPfiletransfer

Page 24: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services

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