Java Power Tools Bootcamp

Delivered by John Smart of Wakaleo Consulting, author of the Java Power Tools book, the Java Power Tools Bootcamp is a comprehensive, innovative and hands-on workshop covering best-of-breed open source tools and techniques for Agile Development in Java. Learn how to optimize your development process, hone your programming skills and know-how, and ultimately produce better software. And have fun while you're doing it!

 

The course is an intensive 5-day workshop, with a mixture of teaching and lab exercises. You will learn how to implement modern Agile best practices for Java development within your own organisation. Each day starts with a discussion of Agile development practices and covers what tools and techniques you can use to support these practices.

 

The course is very practical in nature and contains approximately 60% lab work. Each participant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course.

Duration

5 Days

 

Course Objectives

Students will come away from this workshop with a solid understanding of how they can improve their development practices back in the real world, as well as an abundance of practical tips and tricks that they can use in their day-to-day work. Notably, after the course, students will:

  • Have a practical understanding and experience of Maven 2
  • Understand the issues around dependency management in Java development
  • Be able to implement declarative dependency management in a corporate environment using both Maven and Ant.
  • Know how to write effective unit tests and use unit testing practices to write more reliable code faster.
  • Be able to write automated database and web interface tests.
  • Understand how to use code quality and test coverage metrics to improve code
  • Have a solid working knowledge of Subversion in the real world.
  • Know how to set up a working Continuous Integration server, complete with automated builds, tests, code quality audits and reports, and automatic deployment to an integration server.

Audience

  • Java developers of all levels
  • Software architects
  • Technical project managers

 

 

Course Syllabus

Day 1 and 2 - Agile Development Pricincples and Practices and Maven 2

  • Agile Development principles and practices - how to improve your development process in the real world.
  • Introduction to Maven 2 - what is it, how can it help you, is it suitable for your project?
  • Creating a new project with Maven 2
  • The Maven development lifecycle - compiling, testing and building your application
  • Dependency management with Maven 2
  • Using Maven dependency management in Ant
  • Using Maven 2 in Eclipse
  • Using plugins to customize the build process
  • Setting up a local Maven Repository Manager with Nexus
  • Integrating Ant and Maven
  • Automating your deployment process with Maven
  • Deploying to a web application server
  • Automating the release process
  • Automated deployments with Cargo
  • Using Maven on legacy applications
  • New features in Maven 3

 

Day 3 - Unit and Integration testing with JUnit 4, Selenium and easyb

  • Principles of Test-driven development
  • Writing clearer tests with the Hamcrest assertions
  • Using annotations, parameterized tests and JUnit Theories to simplify your tests
  • Using test coverage metrics to improve your testing process
  • Testing a web interface with Selenium 2/WebDriver and the Page Objects pattern
  • Testing your Java applications BBD-style with Groovy and easyb

Day 4 - Code quality and documentation

  • Agile best practices to improve code quality - pair programming, collective code reviews,...
  • Enforcing coding standards with Checkstyle
  • Enforcing best practices with PMD
  • Detecting potential defects with FindBugs
  • What is cyclometric complexity and how can it help you write better code?
  • Generating useful reports with a Maven site
  • Generate UML-based documentation with UMLGraph
  • Generate database schemas with SchemaSpy
  • Centralise code quality management with Sonar

 

Day 5 - SCM and Continuous Integration

  • Working in iterations and time-boxed releases
  • Modern SCM best practices
  • Automating your build process with Continuous Integration with Hudson

 

Related Courses

  • Testing and TDD for Java Developers
  • Maven 2
  • Java Build Automation and Continuous Integration

 

Prerequisites

All participants should have a reasonable understanding of Java development as well as a basic understanding of the Software Development Life Cycle.

 

 

View printable course description


Course NameDurationPriceDatesCourse Status
Java Power Tools Bootcamp5 Days$4,290Enquire

All course prices listed by Equinox are in New Zealand dollars and exclude GST.