Table of Contents

The implementation and technology stack.

Suggested implementation of the ATHENA project is a web-application. The advantages of this solution are:

Suggested technology stack:

Spring Framework

Basically we use the Spring’s dependency injection (DI) inside the core of our java application to bind the layers Data Access Objects (DAO), services and controllers. Usually DAO-layer is responsible for interaction with the entities, which are stored in RDBMS. Services contain the business-logic, and the controllers are responsible for user interactions.

Spring Framework

Hibernate

Hibernate is an ORM(Object-Relational Mapping) framework responsible for binding and interaction between the Classes of application, commonly called “Entities” and the tables in RDBMS. At the very basic level we can say that it handles mapping between classes and tables. It also handles the different SQL dialects, so we can use the PostgreSQL on test stage and the Oracle on production server.

Hibernate

Marionette JS

Marionette JS is the very powerful tool for building complex and high-responsive applications. Based on top of Backbone JS, it adds useful additional functionality without breaking the initial ideology.

Marionette JS

Bootstrap

Bootstrap is a CSS-framework. It has tons of predesigned components which could be altered to anything you need in your app. Also Bootstrap handles all cross-browser and cross-device compatibilities. No matter which browser on which device(PC, tablet-PC, smartphone) you are using, the application will work and look nice.

Bootstrap