Java Web Applications


Tagg Associates has developed a number of distributed Java Intranet Web Applications. The architecture of these applications is based on a 3-tier or n-tier design. The only difference between the 3-tier and n-tier design is the addition of more application and database servers to scale the application as it grows. This architecture has a number of good design points -- it is:


The current standard for a graphical user interface is provided by the Windows or Apple operating systems. This standard can be extended, via Java Applets, or applications, across all PC platforms running any operating system. An Applet that uses Java Swing components can provide all the graphical objects used in a Windows or Apple user interface, plus capabilities like drag and drop and event handling logic.

An Applet, or java application, used as the client component of a distributed Java Web Application, can provide a Windows-like user interface that behaves and displays itself consistently on any platform. The interface displays consistently on, for example, a Unix, Linux, Windows, or Apple operating system.


The client user interface is the first tier (front end) of the n-tier distributed Java Web Intranet application. Most of the processing logic can be incorporated in the user interface to take advantage of the distributed processing power of the client PC. This minimizes the work required in the middle and back-end tiers.

This 3-tier design requires the Java Run Time Environment (JRE) to be installed on the client PC. The JRE is available free from Sun Micro Systems and can be automatically down-loaded and installed the first time the client requests the application's Applet.

The middle tier is a web server/application server that acts as the host for the application. The middle tier uses Java Servlets to provide communications and database access between the client Applet and the back-end database. The application server can be IBM's WebSphere, BEA Systems' WebLogic, Apache's Tomcat, or any number of other application servers that support Java Servlets. This tier may also contain additional business logic and services required by the application.

The application's database resides on the back-end of the 3-tier design. This could be any number of relational database systems such as SQL server, DB2, Sybase, Oracle, or MySQL. The only restriction is that it must provide Java Database Connectivity (JDBC) support.


This design is extremely scalable as it can be easily converted to an n-tier design, scaled to the users' requirements, by simply adding additional application servers and relational databases. In addition, because the system is written in Java there are no restrictions on what platform the additional tiers must reside. This allows for a great deal of flexibility in making hardware and software purchasing decisions.


Version control, and application deployment problems, practically disappear when the client part of the application is packaged as a Java Applet or a java application started by java web start. The Applet presents itself on the client PC in response to a Uniform Resource Locator (URL) being placed into the client's web browser. For example:

http://yourdomain.com/yourApplication. html

The yourApplication.html file causes the Java Applet to down-load to the client PC. If you have a new version of the client to test, then simply set up another file on your web server to point to the new Applet version, yourApplication2.html for example, and ask your clients to point to this new HTML file to test the new version. The application is only maintained and installed on your web server and not on each client PC.


The first web application developed by Tagg Associates met the above design criteria. The application, ExploreMVS, is designed to provide easy access to IBM OS/390 files and DB2 tables through a Windows-like file manager interface. If you are interested in learning more about this system please click the following link -- ExploreMVS background information or ExploreMVS Overview. or ExploreMVS User Guide.

Please be patient -- this document contains a number of screen clips and graphic objects that take time to down-load.


Sun Microsystems has extended the capabilities built into java applets by developing the java web start facility. This facility is packaged with the java run time facility (jre) and has been available since release 1.4. This facility provides the capability to execute a java application packaged as a jar file. Java web start can be pointed to a web server (via a URL) that contains the application. It will display all the web startable applications available on the web server. The user can select the application and start it up on his PC. The application is downloaded and cached on the client PC. Once cached on the PC the application can be started and stopped just like a normal java application and in fact can be stored on the desktop under its own icon. Web Start will check if the server has a new version and if not it will execute the cached version. If a new version has been placed on the web server then it is downloaded and replaces the older cached version. The new version is then started.

Tagg Associates has developed a java web applications that is startable via the web start facility.