• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Setup Tutorial Slides - PowerPoint Format

Setup Tutorial Slides - PowerPoint Format






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Setup Tutorial Slides - PowerPoint Format Setup Tutorial Slides - PowerPoint Format Presentation Transcript

    • Tutorial – Open Source Test-Driven Development Environment Geoffrey Kneller CD, P.Eng, MBA Precision Geomatics Inc.
    • Agenda
      • Strategy and GIS Technology
      • Looking for GIS work
      • Applying Open Source GIS Concepts
      • Project Planning
      • Project Execution
      • Customer Service
      • The Future
    • 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 )
    • 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
    • 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
    • JUnit for Writing Tests
      • GWT includes JUnit classes for writing automated tests
      • GWT JUnitCreator command prepares the test structure
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Continuous Integration Example
    • 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 /
    • For More Information
      • For more information…
      • Geoff’s GIS Blog: http://geoffsgis.blogspot.com
      • Precison Geomatics: http:// www.precisiongeo.ca