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

Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

BuildingPolargridPortalusingGadgetsandOpenSocial

GeraldGuo,RaminderSingh,MarlonPierce

PervasiveTechnologyIns>tuteatIndianaUniversity

{zhguo,ramifnu,marpierc}@indiana.edu

Page 2: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

PortalRequirements

•  ViewCReSISdatasets,runfilters,andviewresultsthroughWebmapinterfaces.

•  See/Shareuser’seventsinaCalendar.•  Updateresultstoacommonrepositorywithappropriateaccesscontrols.

•  Postthestatusofcomputa>onalexperiments.

•  Supportcollabora>onandinforma>onexchangebyinterfacingtoblogsanddiscussionarea.

Page 4: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

Approaches

•  Exis>ngframeworkslikeSakai,Moodle,Liferay,ExoandDrupal

•  BuildingopensystemusingOpenSocialGadgetandusingGoogleservicesorsocialnetworkserviceslikeFacebook,TwiMeretc.forcollabora>on

Page 5: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

PolargridArchitecture

Page 7: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

•  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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

PolarGridArchitecturePolarGridspecificgadgetandservices

Genericservices

Page 12: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

OpenSocial

Components•  Interface:

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

JSON,XML•  Security:OAuth•  DataModel

• Acoherentopenarchitecturedesignedforsocialnetworkservicesandapplica>ons.

Page 15: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

OpenID•  Separa>onofIden>tyProviderandRelyingPar>es.

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

OGCEGadgetPortalGoogleBlogspotYahoo!FlickrAOL

Page 16: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

GoogleFriendConnect

•  NovelwaytointegrateSocialFeatures

•  Allowuserstologinwithexis>ngGoogle,Yahoo,AOL,OpenIDaccounts

Page 17: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

OAuth

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

3rd‐partyApp TwiMer

GoogleDocsMySpaceTwiMer

SmugMug

Page 18: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

Tablayout

Page 20: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

TreeLayout

Page 21: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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 OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

GadgetResource

•  Reusability•  Googlegadgetdirectorycontainsabout180,000gadgets.

•  TheycanbedeployedtoOGCEgadgetportal.•  Commongadgets

– RSSFeedReader,Calendar,Email,Tasklist

•  Socialgadgets– TwiMer,GoogleTalk,Facebook,Youtube

Page 23: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

OtherScienceUseCases

•  TeraGrid– MiniGpir,loadmonitoring,resourceusage

•  OpenLifeScienceGateway– UseOAuthtosubmitjobsandaccessresources

•  Cyberaide–  InteractwithGridusingwebinterface

•  MyProxyauthen>ca>on•  GlobusJobSubmission

•  GridFTPfiletransfer

Page 24: Building Polargrid Portal using Gadgets and OpenSocialcgl.soic.indiana.edu/presentations/GuoPolarGrid.pdf · 1. A user visits his/her gadget home page, which is served by OGCE gadget

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