Tutorial Open Source TestDriven Development Environment - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Tutorial Open Source TestDriven Development Environment

Description:

Imagery serving / WMS UMN MapServer. Data storage ... Web Map Service raster maps. Web Feature Service vector data. Web Coverage Service coverage ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 16
Provided by: Emp148
Category:

less

Transcript and Presenter's Notes

Title: Tutorial Open Source TestDriven Development Environment


1
Tutorial Open Source Test-Driven
DevelopmentEnvironment
  • 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/webtoo
    lkit/
  • 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
  • Geoffs GIS Blog http//geoffsgis.blogspot.com
  • Precison Geomatics http//www.precisiongeo.ca
Write a Comment
User Comments (0)
About PowerShow.com