This is an old revision of the document!
AGTEK Access Server Development
This note describes the state of the AGTEK Access Server development environment as of October 2018.
All the server code is written in Java 1.8 and doesn't use any newer language features. In fact
1.8 features are pretty limited to a few instances of lamdas here and there.
The chosen IDE is the Intellij community environment, although Eclipse may still work. Eclipse
was the older environment used previously.
Unit Testing
There are currently 216 JUnit TestCase test functions in the agteknet/test directory,
Packages required by Access
The following packages (and their versions) are used. Each of these are checked into GIT in the agteknet/packages directory.
activation.jar - The Java Activation Framework (jaf) for email support
commons-codec-1.6.jar - The Apache commons codec for zip compression to work around issues in native Java ZIP
commons-lang-2.5.jar - Apache commons support for codec and logging
commons-logging-1.1.4 - Apache commons logging used in the server.
glazedlists-1.8.0_java15.jar - A UI package used in AccessSupport/KeyForge (might not be used anymore????)
HikariCP-2.7.8.jar - JDBC connection pool for communication between the server and the SQL DB. Critically important!
httpclient-4.3.4.jar -
httpcore-4.3.2.jar -
jackcess-2.0.6.jar - MS Access DB interface, needed by AccessSupport/KeyForge to get customer lists.
java-xmlbuilder-1.1.jar - (still used?)
javaws.jar -
jdatepicker-1.2.3.jar - Used in AccessSupport/KeyForge, mostly for license edit dialog.
jets3t-0.9.4.jar - AWS S3 shim library, used by server for file storage in S3.
junit-4.12.jar - Used for running unit test, may not be needed with modern Intellij.
mail.jar -
mariadb-java-client-2.2.2.jar - JDBC driver, supports MySQL, Aurora, MariaDB.
min-core-2.0.0-M4.jar
mysql-connector-java-.5.1.29-bin.jar - (not used????)
netty-all-4.1.25.Final.jar - The network interface between the socket and the server dispatch, critically important!
protobuf-java-3.5.1.jar - Google Protobuf implementation for parsing and forming messages, critically important!
sl4j-api-1.7.25.jar
sl4j-jdk14-1.7.25.jar
prooxool-0.9.1jar - Totally deprecated DB pooling (ancient), can probably be removed, but need to change MysqlPool.java
prooxool-cglibjar - Totally deprecated DB pooling (ancient), can probably be removed, but need to change MysqlPool.java