Email System Configuration Management
This document outlines the various components (configuration items) included
in the Email message answering service, their relationships, unique
identification and revision control.
List of Configuration Items
The following list indicates what software components are shipped with
the system and how each relates to the others.
Shipped Items
email_application_1_0.zip - enclosing jar
Top Level Components
Within the email_application_1_0.zip are the following items:
email.ear - application
email.rar - email connector
src.jar - source code
doc.jar - documentation
Secondary Level Components
These items are contained within the email.ear (jar file) and constitute the
actual application:
email_utilities.jar - common utilities
dispatch.jar - dispatching message bean
responder.jar - responding message bean
dictionary.jar - word lookup message bean
phone.jar - phone number lookup message bean
stock.jar - stock quote message bean
weather.jar - weather report message bean
web.jar - web page fetch message bean
Relationships
There is some duplication of utility classes. This is required in order to make
the individual jars correct components. For example, email.rar also includes
email_utilities.jar because it relies on those classes, and without it would
not pass validation.
The worst offender is the WebBean class which is included in each of the slave
robot jars that access web pages (stock, weather and web) since they are
subclassses and must include it to be fully formed message beans (it's unclear
how to resolve this, or even if it can be resolved).
Levenshtein string distances are used by both the phone and word message beans.
Identification
The jar files all have manifest entries that allow for the programatic query of
version information according to the Package Version Identification specification.
Specifically, the version information available from
java.lang.Package.getImplementationVersion()
is composed of a major, minor and build number. The build number is a
concatenation of year, month, day, hour, minute and second of when the build
process was started. For example, 1.0.20021126203913 indicates version 1.0 built at 8:39:13 November 26, 2002.
This is handled automatically by the Ant build script.
Revision Control
The source code is under revision control using CVS. Source files can be
labeled internally with the CVS version number but that's in the future when
a smart version diff doesn't show these as differences.