• Like
Setup Tutorial Slides - PowerPoint Format
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Setup Tutorial Slides - PowerPoint Format

  • 391 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
391
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

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