Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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.
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
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)
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