building polargrid portal using gadgets and...
TRANSCRIPT
![Page 1: Building Polargrid Portal using Gadgets and OpenSocialdsc.soic.indiana.edu/presentations/GuoPolarGrid.pdf3. Different gadgets may interact with different backend RESTful services](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/9.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022063020/5fe32fe6aae6f01beb72edfc/html5/thumbnails/24.jpg)
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