Newsletter sign-up
View all newsletters

Sign up for our Enterprise Java Newsletter

Enterprise Java

Building a commercial-quality Web application in Java

A small company explains what it learned while developing <br> software to support Netscape's AppFoundry program

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
If you wonder how well Java holds up as a development language for commercial-quality apps, you'll likely want to hear about our recent experience. As a participant in the Netscape AppFoundry program -- which was unveiled September 9, see the Netscape press release, for details -- our company, DTAI, created a business application designed to let intranet users view and update dynamic company organization charts via a Web browser. We created this full-blown application exclusively in Java, and in the process learned quite a bit about the strengths and limitations of the language. What follows is an account of our project and the lessons we learned.

DTAI's interactive Org Chart application is unique among the AppFoundry applications in that it is the only one developed exclusively in Java. Most of the other AppFoundry applications were developed primarily in HTML and JavaScript. DTAI chose Java because of the need for a high-degree of interactivity and graphics, including drag-and-drop capabilities, and drill-down navigation of complex organizational diagrams.



Our assignment

DTAI got involved with the AppFoundry project early and secured an assignment. Our task: develop a Company Org Chart application exclusively with Java and JavaScript, and use LiveWire Pro where possible. See the sidebar "Working with Netscape" for complete background on the project and its parameters.

Challenges

The AppFoundry schedule was aggressive, to say the least. For most, development began in mid June. The first Alpha delivery was scheduled for mid-July, and the final product was due in mid-August. Moreover, developers were asked to take advantage of the new features in Netscape's most recent releases and beta software. These products inevitably were not proven and often inadequately documented.



DTAI spent much of the first two or three weeks trying to find out what new products like LiveWire Pro and Netscape Enterprise Server would do for us. Initially, we had decided to save the Org Chart data files to a relational database running on the server. LiveWire Pro provides solutions to help you write server-side JavaScript to connect to a database. We had to scrap this initial design, however, when we learned that LiveWire Pro did not support a Java-to-database connection directly. (JavaSoft's JDBC should eventually solve this sort of problem. (See the May 1996 JavaWorld article "Integrating Databases with Java via JDBC" for details.)



After examining our database requirements, we determined that the database for the Org Chart would be simple enough to implement using an ad-hoc, flat-file solution. We decided to write a Java-based database server for the Org Chart. We developed a Java application that would listen for Socket connections from clients (Java applets running in a browser), and then respond to requests to read and write records within a file resident on the Web server's file system. (We used the generic client-server classes I wrote about in the September 1996 JavaWorld article, "Generic client-server classes.") This worked pretty well. We used Java's file IO classes and, for the most part, the application was portable to multiple operating systems, including Unix, Windows 95, and NT.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources