Sonntag, Mai 16, 2004

Open Source Technology Stack for Java Projects

Open-Source tools for Java development have reached a maturity that often goes far beyond commercial tools. A lot of Java projects doing business applications can come along with Open-Source tools. Here is a list of my current favorites.

Development

  • Eclipse - the Open-Source IDE
  • CVS - the Open-Source revision control system
  • Ant - the Java make
  • JUnit - the unit test tool for Java
  • Fitnesse - for acceptance tests
  • Jemmy [desktop frontends]- testing Swing UIs
  • HTTPUnit [web frontends] - testing Web UIs
  • JMeter [server side code] - for load tests of server side code
  • NoUnit - finding untested methods
  • Integration-Guard - server side test execution before/after checkin in CVS
  • DoxyGen - similar to JavaDoc but supports different output formats
  • PMD - identifies problems and smells in Java code
  • Eclipse Profiler Plugin - Profiler for Eclipse
  • XDoclet - generates data from Java meta tags; used for Hibernate, JBoss and others

Libraries

  • log4j - for logging (more powerful and widespread than the logging facilities of JDK 1.4
  • Struts [web frontends] - framework for web applications
  • Eclipse Plugin Model [client side code] - the Eclipse plugin model can be used without the Eclipse IDE to implement a client side component model for Java
  • JFreeChart - generates business charts
  • JFreeReport, JasperReports - printing from Java

Database

  • mySQL, PostgreSQL, SapDB - Databases
  • Hibernate - OR mapper with transparent persistence (requires XDoclet); if an existing database schema has to be used, Torque with its code generation approach may be more suitable

Application-Server

  • Apache Web Server - if a lot of static web pages exist or non-Java application logic has to be executed at the server
  • Jakarta Tomcat [web frontends] - if only a web interface is required
  • JBoss [server side code and desktop frontends] - if a desktop interface is required and server side code is neccessary (I recommend to use XDoclet to generate most of the EJB stuff)
  • MockEJB [server side code] - a local container for session beans; supports testing session beans and allows the execution of the system stand alone without an application server

Organization

  • XPlanner - Managing and planning of stories
  • JSPWiki - a simple Wiki web based on Java Server Pages
  • Open-Office - for external documents and project tracking

Upcoming

There are promising tools which I haven't had the opportunity to use until now:

Post bewerten

Keine Kommentare: