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.
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.