Introduction
This article investigates the viability of doing J2EE development using
software that is available for free.
In order to investigate the options, very popular packages are
chosen, and used to develop a simple J2EE application.
A review of the hardware necessary is beyond the scope of this article.
Passing reference is made to hardware configurations used, but they are
not to be taken as recommended.
Software Components
Developing enterprise applications requires software, below is a list
of the software used.
- An operating system: Suse Linux 9.1 and Windows XP
- A database management system (DBMS): MySQL version 5.0.18
- An application server: JBoss version 4.0.4 RC1
- Integrated development environment(s)
(IDE): Eclipse version
3.1.1
- Java Virtual Machine (JVM): Sun Microsystems JDK version 1.5.0_06
Development Platform
For development, Suse Linux is used. It
is possible to use an other Linux distribution, or an other operating
system. Below is a list of some of the operating systems that can
be used:
- Linux
- Microsoft Windows (post Windows Me releases)
- MAC OSX
- Solaris
- AIX
- HP-UX
And many others: so long as the operating system can run the Database,
the IDE and the Java Virtual Machine, the operating system should be
sufficient for development purposes.
The network used does contain some computers which run Microsoft Windows.
These PC's can access the Linux machine using a program called
XWinLogon. This allows the Linux XWindows desktop to appear within
a window on the Microsoft PC. More information on XWinLogon is
available here.
Database Management System
The database used is MySQL. It can be downloaded from www.mysql.com
MySQL is available for free, and is widely regarded as a fast, multi-user,
robust database server.
In this article, the tables are created using raw sql, this ensures
that the reader can cut and paste the sql necessary to create the database
objects used in this article.
In the end, creating MySQL databases using SQL scripts is probably a
good idea anyway: it means we can refer to the scripts and so recreate
the database structure on another machine, very easily.
Application Server / Web Server
The application server used is JBoss. JBoss can be downloaded
from www.jboss.org
JBoss is written in Java, and can therefore run on an operating system
which supports the JVM (Java Virtual Machine).
Integrated Development Environment
IDE's are very useful for software developers. Most of the tasks involved
can be done using a simple text editor, and command line tools. IDE's
make the process much easier by replacing cryptic commands with mouse
clicks.
Code editors usually have syntax highlighting, which makes the code
much more readable. Easy navigation to the Java API reference documents
is usually also present in IDE's.
IDE's allow the code to be compiled, deployed and debugged at the click
of a mouse. When working with J2EE servers, this may require some initial
configuration, but is well worth the effort.
The IDE chosen is Eclipse, which can be downloaded from www.eclipse.org.
Eclipse is written in Java, and can therefore run on an operating
system which supports the JVM (Java Virtual Machine).
Eclipse uses graphical
widgets developed by IBM. So the graphical interface is not
done using SWING (Java's graphical interface widgets), Eclipse
uses the widget library called SWT. SWT is bundled with the Eclipse
download, so there is no extra effort needed to download, install
and use Eclipse.
Java Virtual Machine
Last, but not least, the Java Virtual Machine (JVM) allows our enterprise
application, application server and IDE, to run. Sun provides JVM's
for Linux, Solaris and Windows operating systems. Other Operating
System vendors provide JVM's to support their own platforms.
The Java SDK is downloaded from java.sun.com.
It is important to note that the JDK is downloaded, the JRE (Java Runtime
Environment) should not be downloaded. The JRE does not contain the compiler,
which Eclipse and JBoss require.
The documentation bundle is also worth downloading, as it contains
the the Java API's documentation.
Next: Installing The Software
|