Building Blocks for a Simple TeraGrid Science Gateway

Similar documents
SimpleGrid: A Toolkit for Learning and Developing a Simple Science Gateway (Draft Version 0.1.3)

Nancy Wilkins-Diehr San Diego Supercomputer Center (SDSC) University of California at San Diego

Advanced Software Engineering

Portlets (JSR-168) Dave Landers. BEA Systems, Inc. Dave Landers Portlets (JSR-168)

Tutorial: Developing a Simple Hello World Portlet

Portlet Standard JSR 168 / JSR 286

OGCE User Guide for OGCE Release 1

Using the MyProxy Online Credential Repository

Sang Shin. Java Portlets (JSR-168) Revision History. Disclaimer & Acknowledgments

UNIT IV PROGRAMMING MODEL. Open source grid middleware packages - Globus Toolkit (GT4) Architecture, Configuration - Usage of Globus

Implementing JSR 168 inter-portlet communication using Rational Application Developer V6.0 and WebSphere Portal V5.1

Introduction to JSR 168 The Java Portlet Specification

Content Server / Spark. Version: 6.3. Delivery Portlet Developer s Guide

Managing Grid Credentials

Developing JSR-168- Compliant Portlets for the SAS Information Delivery Portal 4.2

Gridbus Portlets -- USER GUIDE -- GRIDBUS PORTLETS 1 1. GETTING STARTED 2 2. AUTHENTICATION 3 3. WORKING WITH PROJECTS 4

Index. NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 281

UCLA Grid Portal (UGP) A Globus Incubator Project

Developing JSR-168- Compliant Portlets for the SAS Information Delivery Portal 4.3

Standards and the Portals Project

How to build Scientific Gateways with Vine Toolkit and Liferay/GridSphere framework

PORTIONS (PORTlet actions) User Guide

Gatlet - a Grid Portal Framework

JSR 168 Portlet Spec

IBM Realtests LOT-911 Exam Questions & Answers

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://

Advanced Web Systems 4- PORTLET API specifications (JSR 286) A. Venturini

Inca as Monitoring. Kavin Kumar Palanisamy Indiana University Bloomington

Directory structure and development environment set up

Installation and Administration

UGP and the UC Grid Portals

"Charting the Course... WebSphere Portal 8 Development using Rational Application Developer 8.5. Course Summary

Leveraging the InCommon Federation to access the NSF TeraGrid

Globus Toolkit 4 Execution Management. Alexandra Jimborean International School of Informatics Hagenberg, 2009

WA2089 WebSphere Portal 8.0 Programming EVALUATION ONLY

JSR-286: Portlet Specification 2.0

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration

GROWL Scripts and Web Services

GILDA Virtual Machine

GT-OGSA Grid Service Infrastructure

SUG Breakout Session: OSC OnDemand App Development

Architectural Tradeoffs for Unifying Campus Grid Resources

UNICORE Globus: Interoperability of Grid Infrastructures

> Dmitry Sklyut > Matt Swartley. Copyright 2005 Chariot Solutions

Getting Started with XSEDE Andrew Grimshaw and Karolina Sarnowska- Upton

Liferay 7 Portlet to Empower Your Custom Development

Liferay Faces. Reference Documentation ga4

Regular Forum of Lreis. Speechmaker: Gao Ang

import com.ibm.portal.portlet.service.impersonation.impersonationservice;

JOB SUBMISSION ON GRID

Globus Toolkit Manoj Soni SENG, CDAC. 20 th & 21 th Nov 2008 GGOA Workshop 08 Bangalore

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Grid Scheduling Architectures with Globus

Introduction to GT3. Overview. Installation Pre-requisites GT3.2. Overview of Installing GT3

Tutorial 1: Introduction to Globus Toolkit. John Watt, National e-science Centre

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Liferay Faces. Reference Documentation ga2

AD105 Introduction to Application Development for the IBM Workplace Managed Client

Portals allow users easy access to information

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

THE WIDE AREA GRID. Architecture

Getting Started with XSEDE. Dan Stanzione

Developing Spring based WebSphere Portal application using IBM Rational Application Developer

Grid portal solutions: a comparison of GridPortlets and OGCE

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation

Credentials Management for Authentication in a Grid-Based E-Learning Platform

Setup Desktop Grids and Bridges. Tutorial. Robert Lovas, MTA SZTAKI

Java Training For Six Weeks

Deploying the TeraGrid PKI

Using MATLAB on the TeraGrid. Nate Woody, CAC John Kotwicki, MathWorks Susan Mehringer, CAC

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2

Best practices: Developing portlets using JSR 168 and WebSphere Portal V5.02

Unified Task List. IBM WebSphere Portal V7.0 Review the hardware and software requirements Review the product documentation

Introduction to Portlet Programming with JSR-168

White Paper. Fabasoft Folio Portlet. Fabasoft Folio 2017 R1 Update Rollup 1

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Lotus Exam IBM Websphere Portal 6.1 Application Development Version: 5.0 [ Total Questions: 150 ]

Globus GTK and Grid Services

IBM Rational Application Developer for WebSphere Software, Version 7.0

Web Application Architecture (based J2EE 1.4 Tutorial)

Layered Architecture

QuickClip Portlet, BEA WebLogic Edition Developer Guide

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

IBM IBM WebSphere Portal V5, Application Development.

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Grid Examples. Steve Gallo Center for Computational Research University at Buffalo

30 Nov Dec Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy

g-eclipse A Framework for Accessing Grid Infrastructures Nicholas Loulloudes Trainer, University of Cyprus (loulloudes.n_at_cs.ucy.ac.

Using the vrealize Orchestrator Operations Client. vrealize Orchestrator 7.5

Author - Ashfaque Ahmed

Grid Programming: Concepts and Challenges. Michael Rokitka CSE510B 10/2007

Chapter 2 Introduction to the WS-PGRADE/gUSE Science Gateway Framework

EMC Documentum Composer

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Computational Web Portals. Tomasz Haupt Mississippi State University

Java J Course Outline

Using Resources of Multiple Grids with the Grid Service Provider. Micha?Kosiedowski

ORACLEAS PORTAL 10g (10.1.4) INTEGRATE YOUR ENTERPRISE CONTENT MANAGEMENT SYSTEMS INTO ORACLE PORTAL

Oracle Universal Content Management. Content Portlet Suite Developer Guide 10g Release 3 ( )

Transcription:

Building Blocks for a Simple TeraGrid Science Gateway -- A GISolve Approach Yan Liu and Shaowen Wang Grid Research & education group @ iowa (GROW) The University of Iowa June 4, 2007 1

Contributors/Collaborators SDSC Andrew Sanderson Nancy Wilkins-Diehr UC/ANL Stuart Martin UIowa Eric Shook 2

Objectives Use TeraGrid to support domain-specific scientific computing Develop Grid-enabled applications to access TeraGrid capabilities Create a GridSphere-based portal as a TeraGrid science gateway interface Develop JSR-168 compliant portlets to build gateway components Understand a GISolve-based workflow to steer analyses on TeraGrid 3

Overview 4

Learning Curve Access TeraGrid resources Accounts, computing and data storage Develop Java programs for TeraGrid access JGlobus Cog programming A simple visualization module Build a simple science gateway Grid portal JSR-168 PortletAPI GridSphere-based portlet development 5

Development Curve Command line Running domain science application on TeraGrid Grid-enabled application development Java programming Application-specific SimpleGrid API Science gateway SimpleGrid portal A straightforward GIScience (Geographic Information Science) application workflow 6

Application Example DMS Spatial Analysis Spatial interpolation based on the Dynamically Memorized Strategy (DMS) Application package Binary executables Sample datasets Package directory layout Build user-friendly science gateway interfaces for scientists to perform DMS analysis transparently on TeraGrid 7

Technologies TeraGrid access Globus Toolkit 4.0.1 (CTSS3) MyProxy,, GRAM, WS-GRAM, GridFTP Programming Java Cog kit JGlbous module Grid portal GridSphere portal server GridSphere-based portlet development framework JSP and GridSphere Visual UI 8

Environments Three tutorial portal servers grow-dev1.its.uiowa.edu Portal server software SSH client and server Globus Toolkit 4.0.1 client tools Java J2SE 1.5 Ant 1.6.5 Apache httpd 2.0.52 Tomcat 5.5.23 GridSphere 3.0.5 (customized) MySQL server 4.0.20 TeraGrid sites UC, NCSA, and SDSC 9

User Accounts TeraGrid training accounts train01 train19 Gateway head nodes: tg-login.ncsa.teragrid.org tg-login.uc.teragrid.org (through ncsa or sdsc) Tg-login.sdsc.teragrid.org Portal accounts train1 train 19 Password is dispatched with tutorial materials URL: https://${portal_server}/gridsphere/gridsphere portal_server}/gridsphere/gridsphere 10

User Accounts (Cont d) MySQL database accounts Same user names as TeraGrid training accounts Password same as your portal account password Tutorial server UNIX accounts Same user names as TeraGrid training accounts Password dispatched with tutorial materials BASH shell environment Tutorial package In $HOME/SimpleGrid 11

Exercise 1: Setup Development Environment Login to one of the three tutorial servers SSH login: username@${tutorial_server} Environment setup cd ~ # add simplegrid-env.sh in your.bashrc vi.simplegrid-env.sh 12

Outline Part I: Basic TeraGrid services and tools Part II: SimpleGrid API development for Grid-enabled analysis Part III: SimpleGrid portal development 13

Part I: Basic TeraGrid Services and Tools Questions to answer Where are your home directories on all 3 TeraGrid sites? What is your grid certificate identity? How do you create a grid proxy with a specified duration using MyProxy? Are you able to transfer a sample dataset to a specified TeraGrid site? How to submit a job and return immediately without waiting for its completion? 14

DMS Binary Package Deployment SSH login Setup your TeraGrid account environment ## content of your.soft setting @teragrid-basic # TeraGrid wide Globus 4 and Grid software suite @globus-4.0 # Platform recommended development software suite @teragrid-dev Deploy DMS binary package to all three sites scp SimpleGrid/applications/dms.uc.tar.gz train1@tg-login.uc.teragrid.org:./ ssh train1@tg-login.uc.teragrid.org:./ tar xvfz./dms.uc.tar.gz 15

Get a Grid Proxy [tomcat@grow-dev1 ~]$ myproxy-logon -l gisolve -t 100 -s myproxy.teragrid.org Enter MyProxy pass phrase: A credential has been received for user gisolve in /tmp/x509up_u502. [tomcat@grow-dev1 ~]$ grid-proxy-info subject : /C=US/O=National Center for Supercomputing Applications/CN=Gisolve Community User issuer : /C=US/O=National Center for Supercomputing Applications/CN=Certification Authority identity : /C=US/O=National Center for Supercomputing Applications/CN=Gisolve Community User type : end entity credential strength : 1024 bits path : /tmp/x509up_u502 timeleft : 99:59:54 (4.1 days) http://teragrid.org/userinfo/access/ 16

Transfer a Sample Dataset [tomcat@grow-dev1 test]$ globus-url-copy file:/home/tomcat/simplegrid/simplegrid/webapp/storage/samples/sample gsiftp://gridftp-hg.ncsa.teragrid.org:2811/~/sample1 [tomcat@grow-dev1 test]$ ssh gisolve@tg-login.ncsa.teragrid.org tg-login2 ac/gisolve> ls -l sample1 -rw-r--r-- 1 gisolve lpt 1116491 2007-05-29 21:28 sample1 http://teragrid.org/userinfo/data/transfer_location.php http://teragrid.org/userinfo/data/gridftp.php 17

GRAM Job Submission RSL (for UC) &(jobtype="single") (count=1) (host_count="1") (project=tg-ses070007n) (directory="/home/gisolve/gisolve/dms/release") (executable=/home/gisolve/gisolve/dms/release/process.pl) (arguments="500" "500" "20" "/home/gisolve/sample1" "/home/gisolve/result1") (stdout="stdout.gisolve.test") (stderr="stderr.gisolve.test") Commands $ globusrun -b -f./gt2.rsl -r tg-grid.uc.teragrid.org:2120/jobmanager-pbs globus_gram_client_callback_allow successful GRAM Job submission successful https://tg-grid1.uc.teragrid.org:50004/19686/1180493030/ $ globus-job-status https://tg-grid1.uc.teragrid.org:50004/19686/1180493030/ DONE 18

WS-GRAM Job Submission RSL (XML) <job> <factoryendpoint xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> <wsa:address> https://tg-login1.uc.teragrid.org:8443/wsrf/services/managedjobfactoryservice </wsa:address> <wsa:referenceproperties> <gram:resourceid>pbs</gram:resourceid> </wsa:referenceproperties> </factoryendpoint> <executable>/home/gisolve/gisolve/dms/release/process.pl</executable> <directory>/home/gisolve/gisolve/dms/release</directory> <argument>500</argument> <argument>500</argument> <argument>20</argument> <argument>/home/gisolve/sample1</argument> <argument>/home/gisolve/result1</argument> <stdout>/users/gisolve/gisolve/dms/results/stdout.sample1</stdout> <stderr>/users/gisolve/gisolve/dms/results/stderr.sample1</stderr> </job> 19

WS-GRAM Job Submission Command: globusrun-ws -submit -f rsl_xml_file http://teragrid.org/userinfo/jobs/globus.php 20

Analysis Process Get a grid proxy Transfer a dataset to specified TeraGrid sites Submit Grid jobs to run DMS binary executables against the transferred dataset Collect results back Visualize results Will be shown later 21

Part II: SimpleGrid API Development for Grid-enabled Analysis How to do Part I in a programming way? Purpose Automate the access to TeraGrid resources as a Grid-enabled application Package Location: SimpleGrid/simplegrid/src simplegrid/src/ SimpleGrid API for DMS analysis org.gisolve.demo.app.*.* org.gisolve.demo.grid.*.* org.gisolve.demo.util.*.* Libraries All jars from ${GLOBUS_LOCATION}/lib Particularly cog-jglobus.jar JFreeChart libraries for visualization http://www.globus.org/cog/manual-user.pdf 22

Get a Grid Proxy Class org.gisolve.demo.grid.security.simplecred Two methods to get a proxy Load an existing valid proxy file SimpleCred::load() Create a proxy by contacting with a MyProxy server SimpleCred::logon() Export proxy to a file SimpleCred::export() 23

Transfer a Sample Dataset Class org.gisolve.demo.grid.data.simpletransfer Local<->remote transfer SimpleTransfer::remote2local() SimpleTransfer::local2remote() Third-party transfer Refer to Cog manual (version 1.1) http://wiki.cogkit.org 24

GRAM Job Submission Class org.gisolve.demo.grid.job.simplerungt2 org.gisolve.demo.grid.job.simplersl RSL generation Application specific GT2 job submission Use batch mode in which a call returns immediately with a job handle 25

GRAM Job Submission: MPI MPI on TeraGrid User softenv grep mpi to see different MPI settings MPI job submission through Globus Specify count element in RSL count is the number of processes to spawn Specify host_count element in RSL host_count is the number of CPUs for MPI execution count = host_count means each CPU runs one MPI process Specify jobtype=mpi in RSL 26

WS-GRAM Job Submission Class org.gisolve.demo.grid.job.simplerungt4 org.gisolve.demo.grid.job.simplersl RSL generation Application specific GT4 job submission Use batch mode in which a call returns immediately with a job handle Note that it uses a different globus package org.globus.exec.*.* http://www.globus.org/toolkit/docs/4.0/execution/wsgram/developer-index.html#id2563059 27

How to Write RSL? RSL schema http://globus.org/toolkit/docs/4.0/executio n/wsgram/schemas/gram_job_description. html GT2 and GT4 schema comparison http://www.globus.org/toolkit/docs/4.0/ex ecution/wsgram/ws_gram_migrating_gui de.html 28

Exercise 2 Test SimpleGrid API Source simplegrid-env.sh env.sh SimpleGrid/bin/runTest2.sh 29

Part III: SimpleGrid Portal Development Science gateways to TeraGrid Provide an online access points to TeraGrid Aggregate domain science application-level level capabilities Hide the complexity of using TeraGrid Portal is commonly used to meet such needs Focus Provide transparent access to TeraGrid for domain scientists Build application-oriented oriented workflow inside portal for easy access by users Technical details for portlet development GridSphere PortletAPI GridSphere-based portlet development 30

GridSphere Features http://www.gridsphere.org Open source PortletAPI (JSR-168) compliant Object persistence support through Hibernate GridSphere 3.0.5 Download: https://svn.gridsphere.org/ Requirements: java, ant, tomcat, mysql Build: ant install Be sure to change hibernate.properties, build.properties Copy mysql jdbc driver to ${CATALINE_HOME}/common/lib/ Development using Eclipse Instructions will be added in our online documentation 31

Exercise 3 Demo GridSphere interface New portlet project creation 32

SimpleGrid Portlets Location: SimpleGrid/simplegrid Two portlets UserPortlet Display user information Initialize or renew grid proxy Automatic renewal after initialization DMSPortlet DMS workflow control Build user interfaces for DMS analysis Each tutorial user will build and deploy their version of SimpleGrid portlets (project name is simplegrid_${user}) 33

Introduction to SimpleGrid Development 34

SimpleGrid Project Layout src/org.gisolve.demo.portlets lib/ Portlet action classes Libraries for Globus and JFreeChart webapp/jsp/ JSP pages for user interface rendering webapp/web-inf/persistence/hibernate.properties Configuration for backend database access webapp/web-inf/portlet.xml Portlet definition Defines unique portlet id, the portlet class, etc. webapp/simplegrid.properties SimpleGrid specific configuration about Grid resources Loaded at the first time the UserPortlet is visited build.xml Ant build file to compile, deploy, and install SimpleGrid portlets ts to GridSphere Need to change if you have your own libraries or packages developed build.properties Define project name and location of GridSphere where SimpleGrid finds dependent GridSphere java classes and PortletAPI (javax.portlet.*).*) definitions 35

Runtime Configurations simplegrid.properties 36

Portlet Container PortletAPI (JSR-168 specification) Portlet specification What are not defined? Object persistence: store portlet status in permanent storage Portlet rendering method JSP, Velocity, GridSphere Visual UI (JSP taglib), Java Server Face GridSphere: JSR-168 compliant portlet container Implemented javax.portlet.*.* Hibernate as object persistence technologies JPS-based Visual UI rendering What are not standardized? ActionPortlet based on Visual UI Portlet service framework (from WebSphere) Other open source portlet containers Apache Jetspeed/Pluto, Sakai 37

PortletAPI (JSR-168 Specification) Sample portlet GridSphere jsrtutorial: ActionHelloworld Portlet modes VIEW (doview( doview()): the default display mode EDIT (doedit( doedit()): preference/configuration editing HELP (dohelp( dohelp()): help information Base portlet: GenericPortlet PorletURL Generate actionurl and renderurl in response page http://www.gridsphere.org/gridsphere/gridsphere/guest/download/r/ 38

PortletAPI (JSR-168 Specification) PortletRequest Get parameters from portlet container ActionRequest Used in action processing RenderRequest Used in rendering PortletResponse Pass parameters to portlet container ActionResponse Parameters set in ActionResponse will be passed to RenderRequest RenderResponse Used in rendering response page Action processing processaction(actionrequest, ActionResponse) Default rendering doview(renderrequest, RenderResponse) 39

PortletAPI (JSR-168 Specification) Portlet definition (portlet.xml( portlet.xml) <portlet> <description xml:lang="en">simplegrid user portlet</description> <portlet-name>simplegridusergisolve</portlet-name> <display-name xml:lang="en">simplegrid user gisolve</display-name> <portlet-class>org.gisolve.demo.portlets.userportlet</portlet-class> <expiration-cache>0</expiration-cache> <init-param> <name>aname</name> <value>avalue</value> </init-param> <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> <portlet-mode>edit</portlet-mode> <portlet-mode>help</portlet-mode> </supports> <supported-locale>en</supported-locale> <portlet-info> <title>simplegrid User home for gisolve</title> <short-title>simplegrid-gisolve</short-title> <keywords>simplegrid, gisolve, user</keywords> </portlet-info> <portlet-preferences> <preference> </preference> </portlet-preferences> </portlet> 40

Portlet Development Questions How to direct actions to corresponding action methods? Avoid a big processaction() How to get parameters from PortletRequest? How to render response pages? How to communicate between portlets? 41

Portlet Development GridSphere Visual UI Rendering: JSP tag-lib Action: ActionPortlet Velocity Rendering: Velocity templates Action: VelocityPortlet http://www.gridsphere.org/gridsphere/docs/tagguide/tagguide.html http://www.collab-ogce.org/ogce2/velocity-portlets.html 42

Exercise 4 Deploy your SimpleGrid project (simplegrid_${user}) to gridsphere container Use ant install for a fresh install Use ant deploy for update (it does not clear database content) Look at $CATALINA_HOME/webapps/simplegrid_${USER}/ WEB-INF/lib to see project jars generated by deployment How does Gridsphere know your project? 43

GridSphere-based Portlet Development Visual UI taglib for rendering <%@ taglib uri="/portletui" prefix="ui" %> <%@ taglib uri="http://java.sun.com/portlet" prefix="portlet %> <portlet:defineobjects/> Portlet class Extend ActionPortlet All beans are constructed from ActionFormEvent or RenderFromEvent Get PortletRequest and PortletResponse from FormEvent Use setnextstate() to point to JSP page in rendering methods Use setnextstate() to point to rendering method in action methods 44

Example: UserPortlet UserPortlet::show() Default rendering method which displays user information and grid proxy configuration in JSP In JSP, Bean is used to render the values of user forms Java code is embedded to directly access RenderRequest for grid proxy information UserPortlet::configSimpleCred() Action method to retrieve grid proxy either from MyProxy server or locally from a valid proxy file 45

UserPortlet Interface 46

Velocity-based Portlet Development Portlet definition Initial template name velocity.properties Action class Get parameters: ActionRequest.getParameter() Rendering: VelocityContext.put(name,, object) Action methods: called based on their names through Java Reflection Velocity template #if(!$gisolve_portal_error_info.equals("") ) <pre><p><font face="arial Narrow color="red">$gisolve_portal_error_info</font><p></pre> <hr> #end <form name="dms0002" method="post" action="$actionurl"> <input type="submit" value="return name="actionmethod_dodms_return"> </form><hr><p> http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html 47

DMS Analysis Workflow in Portal Workflow control is done by keeping state information in PortletSession as attributes Portlet communication Need to coordinate two portlets PortletSession.getAttribute(name, PortletSession.APPLICATION_SCOPE) PortletSession.setAttribute(name,, value, PortletSession.APPLICATION_SCOPE) Learn how SimpleGrid remembers current status of each job 48

DMSPortlet Interface 49

Exercise 5 Run DMS portlet and get visualization results Result page plots results after the analysis Do you see your job is running on TeraGrid? Refresh job status Verify it by using qstat grep gisolve to see the status of your job Thread in SimpleGrid portlets File transfer and result visualization access the same portal server and are time-consuming Threads are used to respond to user requests quickly 50

Visualization on TeraGrid SimpleGrid uses JFreeChart for simple local visualization We are evaluating the integration between GISolve and ParaView on TeraGrid to support advanced visualization http://tg-portal.uc.teragrid.org/ 51

Summary SimpleGrid provides basic components to develop science and engineering gateways This tutorial includes code, links, and examples Based on a real-world GIS application SimpleGrid is also used in GISolve, TeraGrid GIScience gateway Gateway server setup instructions and additional materials will be provided in GISolve/TeraGrid online documentation 52

Q & A Questions and comments? Thanks! 53