SlideShare a Scribd company logo
Installing and Building GTLAB
GTLAB and OGCE OGCE contains multiple sub-projects Portlet-based Grid portal (with Gridsphere and Tomcat). Workflow suite (services and add-ins to the portal) Information Web services Gadget container JavaScript libraries  GTLAB These are packaged with Maven and include everything you need except Java and (for some services) MySQL. We try to make things installable with minimal fuss. Edit one config file (pom.xml) Run one command (mvn clean install) You may need to futz a little with MySQL
Getting GTLAB See  http://www.collab-ogce.org/ogce/index.php/GTLAB You can use your favorite SVN client to check out.  svn co  https://ogce.svn.sourceforge.net/svnroot/ogce/GTLAB  (latest) svn co  https://ogce.svn.sourceforge.net/svnroot/ogce/tags/GTLAB-release-SC08-1.1  (tagged) The tagged represents a stable preview release.  The latest is whatever was checked in last. “ Latest” will also give you easy access to any updates “ svn update” Best option if you want to actively develop and get fixes right away.
No SVN?  Get the TAR SourceForge’s SVN/CVS viewer now provides a “Download GNU Tar” option. http://ogce.svn.sourceforge.net/viewvc/ogce/GTLAB/  for latest. http://ogce.svn.sourceforge.net/viewvc/ogce/tags/GTLAB-release-SC08-1.1/  for tag
What’s in GTLAB?
Build GTLAB Unpack or checkout code Cd GTLAB All commands are executed from here.  Edit properties at the top of pom.xml. Change IP Change project.home if you unpack someplace besides $HOME. Run “mvn clean install” <properties> <portal.server.ip> 156.56.104.143 </portal.server.ip> <host.base.url> http://${portal.server.ip}:8080/ </host.base.url> <project.home> ${env.HOME}/GTLAB </project.home> <tomcat.version> apache-tomcat-5.5.27 </tomcat.version> <catalina.home> ${project.home}/portal_deploy/${tomcat.version}/ </catalina.home> <dot.globus.home> ${env.HOME}/.globus/ </dot.globus.home> </properties>
Run Examples From GTLAB, start tomcat with ./startup.sh. From GTLAB, stop Tomcat with ./shutdown.sh Point browser to  http://localhost:8080/GTLAB Start with MyProxy Example
Next Steps Play with examples.  These are really bare bones.  Make something interesting. Make a Google gadget. Mix and match tags in a pipeline to make a new application. Use the dependency tag. Note you can mix and match JSF and JSP if you are not familiar with JSF. Try making a new tag. Explained next.
Making a New JSF Page from Tags I recommend starting from the examples. jsf_standalone/src/main/webapp/examples “ Build” the examples with  mvn –o clean install –f jsf_standalone/pom.xml The “-o” option is used to build offline. Will also avoid unnecessary Maven repository updates.  The “-f” specifies only build this specific module.  I recommend not futzing with the deployed versions under portal_deploy. A computer is a state machine.  State must be reproducible.
Making a New Tag Run the following command from GTLAB: mvn clean process-resources -Dtag.name=test -Dprojectname=Test -f templateTag/pom.xml Add -Ddest.dir=/tmp for a dry run.  Replace “test” with the name of your tag. Replace “Test” with the name for your Bean. This will make 4 files TestBean.java , TestTag.java,  TestBeanFactory.java , UITest.java Edits also 3 config files gtlab-factory.xml,  managed-beans.xml ,  components.xml This will compile but to implement something useful, you will need to edit the highlighted files.
Implementing a Tag The place to start is TestBean.java (or whatever you used for –Dprojectname=…). This includes several inherited methods that can be implemented.  Most important is  submit() .  Use the try/catch block.  This is where the action is. If you need to hook tags into chains, implement  getOutput()  and  setInput() . Also take a look at the other beans.
What Can You Implement as a Tag? What can you do in your bean?  Anything server-side Java can do. Some suggestions: Implement a tag client to a remote Web service.  Amazon has some interesting ones…. Implement an RSS/Atom feed client to Twitter, your blog, Facebook, etc. Combine the feeds as a mash-up. Connect to a database with JDBC. Implement a JMS publisher or subscriber.  Use Google Java APIs to interact with Blogger, Calendar, and YouTube. Try interacting with Facebook.

More Related Content

PDF
The MetaCPAN VM for Dummies Part One (Installation)
PPT
How Danga::Socket handles asynchronous processing and how to write asynchrono...
PPT
Spring Capitulo 05
PDF
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
PDF
Advanced VCL: how to use restart
PPT
Learn flask in 90mins
PDF
LCA2014 - Introduction to Go
PPTX
Controlling multiple VMs with the power of Python
The MetaCPAN VM for Dummies Part One (Installation)
How Danga::Socket handles asynchronous processing and how to write asynchrono...
Spring Capitulo 05
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Advanced VCL: how to use restart
Learn flask in 90mins
LCA2014 - Introduction to Go
Controlling multiple VMs with the power of Python

What's hot (20)

KEY
Background Jobs with Resque
KEY
GPerf Using Jesque
PDF
Intro to testing Javascript with jasmine
PDF
Towards Continuous Deployment with Django
PDF
Angularjs - Unit testing introduction
PDF
Karma - JS Test Runner
PDF
Advanced Jasmine - Front-End JavaScript Unit Testing
PDF
Quick tour to front end unit testing using jasmine
PDF
JavaScript TDD with Jasmine and Karma
PDF
AngularJS Unit Testing w/Karma and Jasmine
PDF
ZLM-Cython Build you first module
PDF
Javascript TDD with Jasmine, Karma, and Gulp
KEY
Php resque
PDF
Design Summit - Migrating to Ruby 2 - Joe Rafaniello
PDF
zlm-cython
ODP
Basic testing with selenium
PDF
Background processing with Resque
PDF
JavaScript Test-Driven Development with Jasmine 2.0 and Karma
PPTX
Unit testing in JavaScript with Jasmine and Karma
PDF
Puppet in the Pipeline
Background Jobs with Resque
GPerf Using Jesque
Intro to testing Javascript with jasmine
Towards Continuous Deployment with Django
Angularjs - Unit testing introduction
Karma - JS Test Runner
Advanced Jasmine - Front-End JavaScript Unit Testing
Quick tour to front end unit testing using jasmine
JavaScript TDD with Jasmine and Karma
AngularJS Unit Testing w/Karma and Jasmine
ZLM-Cython Build you first module
Javascript TDD with Jasmine, Karma, and Gulp
Php resque
Design Summit - Migrating to Ruby 2 - Joe Rafaniello
zlm-cython
Basic testing with selenium
Background processing with Resque
JavaScript Test-Driven Development with Jasmine 2.0 and Karma
Unit testing in JavaScript with Jasmine and Karma
Puppet in the Pipeline
Ad

Viewers also liked (7)

PPTX
How to use twitter
PPTX
SC11 Science Gateway Group Overview
PPTX
OREChem Services and Workflows
PPTX
Indiana University's Advanced Science Gateway Support
PPT
OGCE Project Overview
PPTX
ACES QuakeSim 2011
PPTX
IWSG2014: Developing Science Gateways Using Apache Airavata
How to use twitter
SC11 Science Gateway Group Overview
OREChem Services and Workflows
Indiana University's Advanced Science Gateway Support
OGCE Project Overview
ACES QuakeSim 2011
IWSG2014: Developing Science Gateways Using Apache Airavata
Ad

Similar to GTLAB Overview (18)

PPT
GTLAB Installation Tutorial for SciDAC 2009
PPT
Testing Java Web Apps With Selenium
PDF
GeoServer Developers Workshop
PPT
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
PDF
Java Builds with Maven and Ant
PPT
OGCE Overview for SciDAC 2009
PPT
Java Servlets
PDF
Download full ebook of JSP Tag Libraries Gal Shachor instant download pdf
PDF
ICONUK 2015 - Gradle Up!
PDF
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
PDF
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
ODP
See Hudson Run, Run Hudson, Run [SELF 2010]
PDF
Spring Live Sample Chapter
PPT
OGCE TeraGrid 2010 Science Gateway Tutorial Intro
PDF
Hacking on WildFly 9
PDF
01 web-apps
PDF
01 web-apps
PPT
Spring hibernate tutorial
GTLAB Installation Tutorial for SciDAC 2009
Testing Java Web Apps With Selenium
GeoServer Developers Workshop
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Java Builds with Maven and Ant
OGCE Overview for SciDAC 2009
Java Servlets
Download full ebook of JSP Tag Libraries Gal Shachor instant download pdf
ICONUK 2015 - Gradle Up!
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
See Hudson Run, Run Hudson, Run [SELF 2010]
Spring Live Sample Chapter
OGCE TeraGrid 2010 Science Gateway Tutorial Intro
Hacking on WildFly 9
01 web-apps
01 web-apps
Spring hibernate tutorial

More from marpierc (17)

PPTX
Scientific
PPTX
XSEDE14 SciGaP-Apache Airavata Tutorial
PPTX
Sgg crest-presentation-final
PPTX
GCE11 Apache Rave Presentation
PPTX
TG11 ORPS Poster
PPTX
Experiences with the Apache Software Foundation
PPTX
OGCE MSI Presentation
PPTX
PNNL April 2011 ogce
PPT
OGCE RT Rroject Review
PPTX
OGCE SC10
PPTX
Building Science Gateways with Gadgets and OpenSocial
PPT
OGCE TeraGrid 2010 ASTA Support
PPT
OGCE SciDAC2010 Tutorial
PPT
OGCE Review for Indiana University Research Technologies
PPTX
Ogce about-sc10
PPTX
OGCE TG09 Tech Track Presentation
PPT
Cyberinfrastructure and Applications Overview: Howard University June22
Scientific
XSEDE14 SciGaP-Apache Airavata Tutorial
Sgg crest-presentation-final
GCE11 Apache Rave Presentation
TG11 ORPS Poster
Experiences with the Apache Software Foundation
OGCE MSI Presentation
PNNL April 2011 ogce
OGCE RT Rroject Review
OGCE SC10
Building Science Gateways with Gadgets and OpenSocial
OGCE TeraGrid 2010 ASTA Support
OGCE SciDAC2010 Tutorial
OGCE Review for Indiana University Research Technologies
Ogce about-sc10
OGCE TG09 Tech Track Presentation
Cyberinfrastructure and Applications Overview: Howard University June22

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Modernizing your data center with Dell and AMD
PDF
Machine learning based COVID-19 study performance prediction
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
20250228 LYD VKU AI Blended-Learning.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
Modernizing your data center with Dell and AMD
Machine learning based COVID-19 study performance prediction
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

GTLAB Overview

  • 2. GTLAB and OGCE OGCE contains multiple sub-projects Portlet-based Grid portal (with Gridsphere and Tomcat). Workflow suite (services and add-ins to the portal) Information Web services Gadget container JavaScript libraries GTLAB These are packaged with Maven and include everything you need except Java and (for some services) MySQL. We try to make things installable with minimal fuss. Edit one config file (pom.xml) Run one command (mvn clean install) You may need to futz a little with MySQL
  • 3. Getting GTLAB See http://www.collab-ogce.org/ogce/index.php/GTLAB You can use your favorite SVN client to check out. svn co https://ogce.svn.sourceforge.net/svnroot/ogce/GTLAB (latest) svn co https://ogce.svn.sourceforge.net/svnroot/ogce/tags/GTLAB-release-SC08-1.1 (tagged) The tagged represents a stable preview release. The latest is whatever was checked in last. “ Latest” will also give you easy access to any updates “ svn update” Best option if you want to actively develop and get fixes right away.
  • 4. No SVN? Get the TAR SourceForge’s SVN/CVS viewer now provides a “Download GNU Tar” option. http://ogce.svn.sourceforge.net/viewvc/ogce/GTLAB/ for latest. http://ogce.svn.sourceforge.net/viewvc/ogce/tags/GTLAB-release-SC08-1.1/ for tag
  • 6. Build GTLAB Unpack or checkout code Cd GTLAB All commands are executed from here. Edit properties at the top of pom.xml. Change IP Change project.home if you unpack someplace besides $HOME. Run “mvn clean install” <properties> <portal.server.ip> 156.56.104.143 </portal.server.ip> <host.base.url> http://${portal.server.ip}:8080/ </host.base.url> <project.home> ${env.HOME}/GTLAB </project.home> <tomcat.version> apache-tomcat-5.5.27 </tomcat.version> <catalina.home> ${project.home}/portal_deploy/${tomcat.version}/ </catalina.home> <dot.globus.home> ${env.HOME}/.globus/ </dot.globus.home> </properties>
  • 7. Run Examples From GTLAB, start tomcat with ./startup.sh. From GTLAB, stop Tomcat with ./shutdown.sh Point browser to http://localhost:8080/GTLAB Start with MyProxy Example
  • 8. Next Steps Play with examples. These are really bare bones. Make something interesting. Make a Google gadget. Mix and match tags in a pipeline to make a new application. Use the dependency tag. Note you can mix and match JSF and JSP if you are not familiar with JSF. Try making a new tag. Explained next.
  • 9. Making a New JSF Page from Tags I recommend starting from the examples. jsf_standalone/src/main/webapp/examples “ Build” the examples with mvn –o clean install –f jsf_standalone/pom.xml The “-o” option is used to build offline. Will also avoid unnecessary Maven repository updates. The “-f” specifies only build this specific module. I recommend not futzing with the deployed versions under portal_deploy. A computer is a state machine. State must be reproducible.
  • 10. Making a New Tag Run the following command from GTLAB: mvn clean process-resources -Dtag.name=test -Dprojectname=Test -f templateTag/pom.xml Add -Ddest.dir=/tmp for a dry run. Replace “test” with the name of your tag. Replace “Test” with the name for your Bean. This will make 4 files TestBean.java , TestTag.java, TestBeanFactory.java , UITest.java Edits also 3 config files gtlab-factory.xml, managed-beans.xml , components.xml This will compile but to implement something useful, you will need to edit the highlighted files.
  • 11. Implementing a Tag The place to start is TestBean.java (or whatever you used for –Dprojectname=…). This includes several inherited methods that can be implemented. Most important is submit() . Use the try/catch block. This is where the action is. If you need to hook tags into chains, implement getOutput() and setInput() . Also take a look at the other beans.
  • 12. What Can You Implement as a Tag? What can you do in your bean? Anything server-side Java can do. Some suggestions: Implement a tag client to a remote Web service. Amazon has some interesting ones…. Implement an RSS/Atom feed client to Twitter, your blog, Facebook, etc. Combine the feeds as a mash-up. Connect to a database with JDBC. Implement a JMS publisher or subscriber. Use Google Java APIs to interact with Blogger, Calendar, and YouTube. Try interacting with Facebook.