Session_05

XP Day 2003 logo

Using XP with Javatm 2 Platform, Enterprise Edition (J2EEtm) Technology projects


Organisers: StephanJanssen, BartStrubbe

Session duration: 90 minutes (2 parts of 45 minutes)

Session type: Interactive Presentation

Intended Audience: Java - J2EE developers, architects, project-leaders, project-managers.
I doubt that we should limit this session though to this primary audience: it could be interesting for non-Java people to see the richness of available (open-source) products for Java/J2EE-environments!

Session language: English or Dutch


Description

We'll show you, based on hard-core experience, how to apply (Modified) eXtreme Programming within Javatm 2 Platform, Enterprise Edition (J2EEtm) technology projects.

We'll first reverse engineer and restructure an existing J2EE technology project and identify design and performance issues. Secondly code will be audited automatically and where needed refactoring techniques will be applied. Thirdly tests will be added to the project to guarantee all-time integrity of vulnerable code. This section highlights JUnit-extensions for server-side testing of J2EE technology code. Ultimately, build, deployment, and tests will be united to enable continuous integration: an automated process will, at well-determined moments in time, checkout updates from source control, build, deploy, and test. Eventually results will be reported to relevant developers by e-mail or Web.

Demoed tools

  • PMD: Open-source Java audit-framework, extensible with custom rules. Includes copy-paste-detection.
  • IntelliJ: Some advanced refactoring possibilities.
  • HttpUnit: Black-box testing of web-applications. Emulates a web-browser.
  • Cactus: Intra-container testing of Servlets, Servlet-Filters and Custom Tags.
  • StrutsTestCase: Unit-testing 4 Struts-based web applications, includes MockStrutsTestCase
  • ServerTestCase: Unit-testing of EJB's. Intra-container also.
  • Cruisecontrol: Continuous Integration Daemon: automated building including cvs-checkout, compile, wrap, deploy, test and notify-via-mail. Configured via ant.

Benefits

Get to know about JCS's "Pragmatic XP" => how do we apply XP in our projects (a.o. no pair-programming, but automatic audits).
Get acquainted with lot of (open-source) tools which can support XP in your (Java/J2EE) projects, focus is on testing.

Process and Timetable

There will be demonstrations of the following tools:

Part 1:

  • MXP aka PP (10 minutes)
  • Design (10 minutes)
  • Build (10 minutes)
  • Audit (incl PMD-demo) (15 minutes)

Part 2:

  • Refactor (incl IntelliJ-demo) (10 minutes)
  • Test (incl HTTPUnit, Cactus, StrutsTestCase, ServerTestCase-demoes) (20 minutes)
  • Deploy (incl CruiseControl-demo) (15 minutes)

back to Program