
Components of the architecture
The above diagram suggests that a configuration defines an application, describing the components of the application. Input is received and passed to the application in a source-neutral way (be it from the web client/web services client) The core provides system-level services, and special-purpose access components enable connection to backend enterprise applications, so that they may remain in place, or be migrated over time.
Architecture Diagram

The project architecture is based on Java/J2EE Technologies and on the classic three tier, Model-View-Controller (MVC) Framework and uses the design patterns. The front end uses the Struts Framework.
The goal of the MVC design pattern is to separate the application object (model) from the way it is represented to the user (view) from the way in which the user controls it (controller).
The Model object knows about all the data that need to be displayed. It also knows about all the operations that can be applied to transform that object. However, it doesn't know the manner in which the data is manipulated and presented/displayed to the user.
The View object refers to the model. It uses the query methods of the model to obtain data from the model and then displays the information. A view renders the contents of a model. It is the view’s responsibility to maintain consistency in its presentation when the model changes.
The Controller object knows about the physical means by which users manipulate data within the model. A controller translates interactions with the view into actions to be performed by the model.