Web App Reference Implementation

Overview   |   Quick Start   |   Tech and Architecture   |   Functions   |   SDLC   |   Test   |   Deploy

Download Examinator Package

High Performance and Scale
Concurrent users20K
Avg response time5 ms
App servers16
Availability
In-progress exam state
User login state
User security token
HTTP session
Best of Breed Stack
Spring MVC
Spring Webflow
Spring Security
JPA (Hibernate)
FreeMarker
SiteMesh
MySQL

Examinator: A Scalable Enterprise Java Reference Implementation

Examinator is a scalable, open-source reference web application designed for high performance, high-availability, scalability, built using a best-of-breed web application stack that includes Spring, Hibernate, and MySQL.

Examinator takes the form of a test-proctoring application that illustrates how adding Terracotta to an application delivers the following benefits:

  • High-performance – Consistent low latency response times under high load
  • High-availability – Eliminate downtime due to failure or planned downtime
  • Scale-out – Able to adapt to growing load
  • Database offload – Substantial gains in speed and efficiency

At its core, Examinator is an example implementation of a pattern whereby conversational state across multiple requests is made transparently durable using simple Java data structures and an intuitive and natural application programming model.

The database is offloaded by synchronizing data in the database with local memory, allowing the application to serve requests from local memory and thus relieving the database from the tedious chore of serving up repeated requests for the same data.

Quick Start: To get started right away, see the Examinator Quick Start which takes you through the steps of downloading and running the application on your local system.

Examinator Documentation

Examinator is fully documented, providing an unobstructed view into the toolset, technology stack, architecture patterns, and testing procedures used in the implementation.

You will benefit from studying the set of blueprints and best-practices demonstrated by Examinator whether you are starting from scratch or find yourself at an advanced stage of building an application and simply need a handy reference guide for integrating Terracotta.

Technology Stack and Architecture

Describes the architecture and technology stack used in Examinator. Provides a high-level view of how the technologies were put together to create the application.

Application Functions

The Examinator implements a number of functions, most of which involve Terracotta in some way. This section describes each function and how and why Terracotta is used.

Software Development Life Cycle

This section describes the stages of the software development life cycle (SDLC), which is the process to produce the Examinator:

  1. Requirements
  2. Planning and Design
  3. Development
  4. Testing and Tuning
  5. Deployment and Operation

Performance Testing

Performance testing is aimed at proving that Examinator can meet its requirements – or to expose the places where tuning is required. The testing section shows you how to set up a testbed and load-test an Examinator installation.

Deploying Examinator

An effective Examinator production deployment involves provisioning an environment that supports the required service level. This section shows you what to provision and how to configure the production environment.

Labels

 
(None)