Architecture Overview
The Tk20 system uses a three-tier, Java 2 Enterprise Edition architecture, built using a proven, open-source operating system and software components.
It is written in Java, and comprises of three tiers:, a web tier, a middle tier, and a database tier. All tiers function independently, and have their own interfaces for communication. They can be physically located in the same server, or have multiple servers allocated to each one, depending upon load and configuration. Each tier is further described below.
The Web Tier
The HigherEd web tier represents the standard user interface for users of the system. It utilizes a presentation layer implemented with JSPs, a controller controlling program and data flow, and servlets for logical representation and communication, all working in an Apache-Tomcat container and communicating with the middle tier via an application programming interface (API), comprising of generated Enterprise Java Bean (EJB) skeleton interfaces. All user interaction with HigherEd is via the web, using the encrypted https protocol, for security/encryption.

The Middle Tier
The HigherEd middle (application) tier consists of EJBs and Mbeans, running in a Jboss application server. This tier contains system logic, object behavior rules, and communication interfaces for communication with other systems in multiple ways. It communicates with the web tier through an EJB skeletal interface for normal user interaction. Additionally, it contains an XML/Object interface for enabling data imports and direct data loads from other systems. An ‘external password authentication’ interface allows external user-authentication lookup for single sign-on. Finally, it contains and utilizes Jakarta’s OJB Object Relational Bridge O/R mapper, for object-based communication with the database tier.




