Presentation on theme: "Developing Grid User Interface Components Portlets, gadgets, etc."— Presentation transcript:
Developing Grid User Interface Components Portlets, gadgets, etc.
Under the Hood: Building Components OGCE portlets use the Java COG Abstraction Layer to access Grid services. Provides a buffer over different Grid toolkits and versions. Provides ability to compose graph-based workflows. Tutorial in itself Portlets can be built with our Apache Velocity bridge. “Template” or “steal this code” approach. We have also developed Grid Tag Libraries and Beans (GTLAB) to simplify this process.
GTLAB Features Extends Java Server Faces. o Tag components wrap major COG Abstraction Layer features Allows you to do standalone development. Use JSF portlet bridge to convert into portlets No new coding, just change, add config files and jars. Or forget about portlets and o Convert into Google Gadgets o Develop as a Facebook application o Etc. o Status: GTLAB is under active development, can be used to build simple things, but still has many loose ends. o You need to be technically adept to work with it now. o But you are welcome to give feedback or contribute.
Installing GTLAB You need to install the OGCE portal o GTLAB depends on many shared jars. Download the release code from www.collab-ogce.org or check out from SVN:www.collab-ogce.org o svn checkout https://ogce.svn.sourceforge.net/svnroot/ogce/GTLAB https://ogce.svn.sourceforge.net/svnroot/ogce/GTLAB Edit GTLAB/jsf_standalone/pom.xml o should point to your OGCE portal server. Edit GTLAB/jsf_standalone/src/main/resources/resources.properti es. Run “mvn clean install” in GTLAB/jsf_standalone/
GTLAB ExampleDescription MyProxyExampleGet a credential and store in OGCE global proxy store. JobSubmitExamplesVarious examples showing how to submit a grid job and get output. Dashboard ExamplesRuns showq on Big Red, Cobalt, and Mercury and formats output. DirectoryBrowserDisplays and downloads files on a remote host via GridFTP MultipleTaskExampleShows how to couple file transfers, operations, and TaskMonitorExampleView task state and metadata. These will work as gadgets, portlets, or standalone applications
GTLAB Gadgets Code Base GTLAB Portlets Code Base Tomcat Web Server Tomcat Web Server + Portlet Container iGoogle Client Aggregator Compile and deploy into server Decorate with bridge and container jars, xml config files. GTLAB gadgets can also run as portlets with no code changes by using the JSF portlet bridge.
Tomcat + Portlets and Container Grid and Web Services (TeraGrid, OSG, etc) Grid and Web Services (TeraGrid, OSG, etc) Grid and Web Services (TeraGrid, OSG, etc) HTML/HTTP SOAP/HTTP Common science gateway architecture. Aggregation is in the portlet container. Users have limited selections of components.
Other Gadgets Providers Tomcat + GTLAB Gadgets Grid and Web Services (TeraGrid, OSG, etc) Other Gadgets Providers Social Network Services (Orkut, LinkedIn,etc) RSS Feed, Cloud, etc Services Gadget containers aggregate content from multiple providers. Content is aggregated on the client by the user. Nearly any web application can be a simple gadget (as Iframes)
Making GTLAB Gadgets into Portlets Do all development in jsf_standalone. When you are ready to convert: cd GTLAB/transition mvn clean process-resources cd GTLAB/portlets mvn clean install You will need to manually edit portlet.xml, group.xml, and layout.xml in GTLAB/portlet/src/main/webapp/WEB-INF/ That’s it.
Click “Add stuff” and then “Add feed or gadget”. Type the URL of your gadget.
GTLAB Applications as Google Gadgets: MOAB dashboard, remote directory browser, and proxy management.
Various GTLAB applications deployed as portlets: Remote directory browsing, proxy management, and LoadLeveler queues.
Example Gadget Config File <ModulePrefs title="MyProxy Gadget Example" scrolling="true" height="500"/> <Content type="url" href="http://…/:8080/GTLAB/examples/MyProxyExample.jsf"> Save this as MyProxy.xml and place in a Web accessible place.
Some Web 2.0 Resources See recent tutorials by Geoffrey Fox and me: http://grids.ucs.indiana.edu/ptliupages/pres entations/Web2.0Tutorial.ppt http://grids.ucs.indiana.edu/ptliupages/pres entations/Web2.0Tutorial.ppt http://grids.ucs.indiana.edu/ptliupages/pres entations/CTSTechFutures_May19-08.pptx http://grids.ucs.indiana.edu/ptliupages/pres entations/CTSTechFutures_May19-08.pptx Includes material on Google Gdata, Facebook API, Open Social, Microformats, etc. See also full examples at http://communitygrids.blogspot.com http://communitygrids.blogspot.com