Skip to content
This repository has been archived by the owner on May 30, 2019. It is now read-only.

The Java Middle Tier Overview

Kim Coleman edited this page Jan 29, 2015 · 4 revisions

The role of a middle tier can be fairly minimal in a three-tier architecture, but, inevitably, there is still a lot going on. The middle tier in Samplestack's Java variant assumes that there are commodity solutions for building enterprise middle tier applications, and so we chose Spring Boot as a starting point for implementation.

Spring Boot met some of the requirements for Samplestack, in that we could stand up a REST server, use the MarkLogic Java Client API to interface with MarkLogic, and embed an LDAP server in order to demonstrate some non-trivial security scenarios, and we didn't have to use any XML to configure the system. Spring Boot provides an opinionated way to implement enterprise applications, and as such dictated many of the component choices in Samplestack.

Spring Boot applications run as Java executables. When they are web applications, these executables include either an embedded Tomcat or Jetty Servlet container to respond to HTTP requests. Thus when you start up Samplestack, you're also starting up an embedded Tomcat instance.

In fact, if you have all of the components of the Java Samplestack and the browser dev environment, all of the following are working together on your machine:

  1. Browser
  2. Express Web server
  3. Tomcat Web Server with Spring Boot App
  4. Apache DS LDAP Server
  5. MarkLogic (REST instance and core services)