Status: Draft
$Id: achitecture.html,v 1.3 2000/09/15 14:58:27 ted Exp $

W3C

ETA-NG - Architecture

ETA-NG | Documentation | Javadocs | Application Server | ETA-NG API

Architectural Discussion of ETA Java API and underlying basic application server.

As there were things to add onto ETA not readily capable within the confines of php a second non-web platform was needed with option of future and some immediate web capabilities. How best to approach fronting ETA backend database brought about a tangent of a crude application server.


Javadocs for both ETA API and underlying app server

Application Server

ETA takes advantage of a basic application server. It is largely though not entirely tied to web applications, the ETA irc bot being a case in point even though it is initialized and takes advantage of the resources available by the application server by being a servlet it interacts with users on an non web platform. Using a web server with a servlet engine, like W3C's Jigsaw allows it to use a central class loader and servlets, once initialized are kept alive and resident in memory. This combination allows for central resources available to multiple applications concurrently. Any other means to coordinate object instantiation through a single class loader could also use this basic application server.

Jigsaw or whichever servlet engine being used should be started with the -D flag to pass an environment variable alerting the application server of where to find it's property file if it's somewhere other than under /usr/local/eta as in this sample command.


The Java libraries being used are listed in the Installation instructions.
At the time of ETA-NG's 1st alpha release the application server provided:

ETA-NG API

This API takes advantage of the aforementioned application server to simply represent Events, Issues, Contacts, Forums, Skills and other such aspects of ETA. Also present are some objects to handle these base ETA objects and ETA-NG email and irc interfaces. The Javadocs would give more detailed descriptions to these objects and their methods, as well as those of the underlying architecture it is utilizing.