Your SlideShare is downloading. ×
0
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Setup Tutorial Slides - PowerPoint Format
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Setup Tutorial Slides - PowerPoint Format

421

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
421
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tutorial – Open Source Test-Driven Development Environment Geoffrey Kneller CD, P.Eng, MBA Precision Geomatics Inc.
  • 2. Agenda <ul><li>Strategy and GIS Technology </li></ul><ul><li>Looking for GIS work </li></ul><ul><li>Applying Open Source GIS Concepts </li></ul><ul><li>Project Planning </li></ul><ul><li>Project Execution </li></ul><ul><li>Customer Service </li></ul><ul><li>The Future </li></ul>
  • 3. GIS Server Software <ul><li>Initial Server Software </li></ul><ul><ul><li>Imagery serving / WMS – UMN MapServer </li></ul></ul><ul><ul><li>Data storage – PostgreSQL / PostGIS </li></ul></ul><ul><ul><li>Web Server – Apache </li></ul></ul><ul><ul><li>Operating System – Slackware Linux </li></ul></ul><ul><ul><li>All packaged together in the HostGIS Linux distribution ( http:// www.hostgis.com ) </li></ul></ul>
  • 4. GIS Open Standards <ul><li>Open Standards </li></ul><ul><ul><li>Open Geospatial Consortium (OGC) </li></ul></ul><ul><ul><li>Web Map Service – raster maps </li></ul></ul><ul><ul><li>Web Feature Service – vector data </li></ul></ul><ul><ul><li>Web Coverage Service – coverage </li></ul></ul><ul><ul><li>Geographic Markup Language </li></ul></ul><ul><li>Open Source software is usually the first / best implementation of open standards </li></ul><ul><li>Proprietary software follows along </li></ul>
  • 5. GIS Web-Based User Interface <ul><li>Web-based user interface </li></ul><ul><ul><li>AJAX / Web 2.0 </li></ul></ul><ul><ul><li>Google Web Toolkit </li></ul></ul><ul><ul><ul><li>Write code in Java – Compile to JavaScript </li></ul></ul></ul><ul><ul><ul><li>Runs in web browser </li></ul></ul></ul><ul><ul><ul><li>No ActiveX control / plug-in </li></ul></ul></ul><ul><ul><ul><li>Wraps existing JavaScript Controls </li></ul></ul></ul><ul><ul><ul><li>Cross-browser support </li></ul></ul></ul><ul><ul><li>OpenLayers </li></ul></ul><ul><ul><ul><li>Display a variety of sources, including WMS </li></ul></ul></ul>
  • 6. JUnit for Writing Tests <ul><li>GWT includes JUnit classes for writing automated tests </li></ul><ul><li>GWT JUnitCreator command prepares the test structure </li></ul>
  • 7. GIS Development Environment <ul><li>GWT code can be written and compiled with any text editor </li></ul><ul><li>But… </li></ul><ul><li>A modern Integrated Development Environment supports software engineering practices like test-driven development and has a high impact on productivity </li></ul>
  • 8. GIS Development Environment <ul><li>Eclipse is a Java-based IDE that runs cross-platform and has a number of desirable features: </li></ul><ul><ul><li>Project Workspaces created through GWT </li></ul></ul><ul><ul><li>Code Completion </li></ul></ul><ul><ul><li>Integration with source control </li></ul></ul><ul><ul><li>Running of JUnit tests </li></ul></ul><ul><li>Requires a Java Runtime Environment (JRE) to run </li></ul>
  • 9. Source Code Management <ul><li>Integrated source code management allows developers to work as a team on a project </li></ul><ul><li>Management can track progress and ‘churn’ of the source code </li></ul><ul><li>Should be integrated in the IDE for maximum effect </li></ul><ul><li>We use CVS – open source, free, well-supported </li></ul>
  • 10. Issue Tracking <ul><li>Issue Tracking provides a way for users / customers to track the status of issues they find and their resolution </li></ul><ul><li>BugZilla – open source and free </li></ul><ul><li>Provides a web-based interface for users to enter issues and generate reports – very easy for them to access </li></ul><ul><li>Integrates in the Eclipse IDE for developers through Mylyn plugin– very easy for them to access </li></ul><ul><li>Becomes the focus of status meetings and is a planning tool for setting priorities </li></ul>
  • 11. Automated Build / Deployment <ul><li>Automated Build – build whatever has been checked into CVS </li></ul><ul><li>Automated Deployment – move the latest build and all associated dependencies into production </li></ul><ul><li>Apache Ant – an automated build tool for Java </li></ul><ul><li>Apache Maven – similar, uses a project model </li></ul><ul><li>Both very command-line, use XML for configuration </li></ul>
  • 12. Continuous Integration <ul><li>A Continuous integration package is used to manage builds across projects and to report on the results of automated tests </li></ul><ul><li>Hudson – works with Maven for Java-based projects </li></ul><ul><li>Runs JUnit tests </li></ul><ul><li>Removes the command line from automated builds </li></ul><ul><li>Provides a dashboard for project build and test results </li></ul>
  • 13. Continuous Integration Example
  • 14. Sources <ul><li>HostGIS – http://www.hostgis.com </li></ul><ul><li>Google Web Toolkit - http://code.google.com/webtoolkit/ </li></ul><ul><li>OpenLayers - http://openlayers.org/ </li></ul><ul><li>Eclipse - http://www.eclipse.org/ </li></ul><ul><li>CVS - http://www.nongnu.org/cvs/ </li></ul><ul><li>BugZilla - http://www.bugzilla.org/ </li></ul><ul><li>Mylyn - http://www.eclipse.org/mylyn/ </li></ul><ul><li>Maven - http://maven.apache.org/ </li></ul><ul><li>Hudson - https:// hudson.dev.java.net / </li></ul>
  • 15. For More Information <ul><li>For more information… </li></ul><ul><li>Geoff’s GIS Blog: http://geoffsgis.blogspot.com </li></ul><ul><li>Precison Geomatics: http:// www.precisiongeo.ca </li></ul>

×