8.2. Third-Party Development Tools

Tools are very straightforward. Because the WAF system is designed around open standards and open source solutions, a developer is given a wide range of development tools and environments.

Programming is done primarily in Java, for which numerous Integrated Development Environments (IDE) exist. One useful open source IDE is Eclipse. Integration of Eclipse with WAF is covered in Section 8.4 Setting Up Eclipse and WAF. A developer can also use any text editor such as vi or Emacs.

For access to build systems and configuration files, either console or remote access to servers is required. The best choice for remote access is SSH, a protocol suite of network connectivity tools which includes a secure telnet replacement and a secure file-copy utility (scp). Both open source and proprietary implementations of SSH exist for virtually every OS. An open source implementation of SSH for Unix-like systems can be found at http://www.openssh.org. The site also provides pointers for various alternatives to OpenSSH.

The OpenSSH client is often packaged with the following Unix and Unix-like systems:

For Win32 systems, a good open source application is PuTTY, found at http://www.chiark.greenend.org.uk/~sgtatham/putty/. It is a Telnet/SSH client which also supports sftp (secure ftp) and scp on a Win32 platform.

The ultimate output of WAF is HTML pages. These can be viewed in any modern Web browser. For the most part, Web browsers will "just work", although each browser may implement standards differently.

For actual development efforts, it is highly recommended to use a version control system, also called software control management (SCM). Several mature systems exist. On the open source side, there is CVS (http://www.cvshome.org). The Red Hat Applications development teams use Perforce for version control. If your code might integrate back into the main development tree, you may want to look into Perforce at http://www.perforce.com.