Users access the Scheduler application via the user interface on their browsers.   The client (browser) code is written using HTML, CSS, and JS.  We make use of several JS libraries such as jQuery, and FullCalendar.  We do not currently use a JS framework but are considering adopting one in future releases.  All of our client code is bundled into the same package as our Java server-side code. This allows us to utilize Spring Security for authentication and page access authorization.

The client communicates with Scheduler service layer via RESTful service calls to the Web Services layer.  This layer is coded with Java 8. We make heavy use of the Jersey implementation of the JAX-RS specification to expose our code as REST endpoints.  We also use Spring Security for authentication and method level authorization along with Spring core for dependency injection and declarative transaction management.

Our Web Services layer calls into our business logic layer and data access object layer.  We utilize Hibernate in the Data Access Object layer for our object relational mapping to aid in communication with the underlying database, MySQL.

High Level Architecture v2 Copy


  • No labels