Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Education Systems Java Web Applications - Architecture and Practices

Panel

Quick Links to:

Table of Contents
minLevel3
maxLevel4
Panel

Overview

indent
1
1
The Education Systems framework for developing Java-based web applications can seem bewildering to a new developer. Indeed, some of us who have worked with the framework for a while still find ourselves scratching our heads from time to time. So I hope this document will serve as a place for newbies to come and learn about how we put web apps together, and also for old hands to remind themselves about some of the dusty, forgotten corners of the framework.

First things first - what is the architecture, design pattern, or structure we follow for our web apps? There's no pithy phrase that captures it all, but here are the essentials:
indent
2
2
\- Code is written in Java (6)
\- JSPs are used for the front-end views
\- Oracle database houses the data
\- Spring MVC for the web layer
\- Spring framework provides the app "container"
\- Hibernate talks to the database
indent
1
1
We use a fairly standard layered structure for the Java code in the web apps. Conceptually this structure is:
indent
2
2
UI Layer \-> Service Layer \-> Data Access Layer
indent
1
1
We also have a Domain component that contains data-holding objects.  These domain objects can live in any of the other three layers and are  typically passed up or down between the layers.

This diagram illustrates these layers:

{gliffy:name=Web App Java Layers\|size=M\|version=2}

...