User Tools

Site Tools


documentation:athena:the_implementation_and_technology_stack

The implementation and technology stack.

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

  • Faster development speed, rather than developing the desktop app.
  • The ability to deploy it local PC, local network, open or private www-segment.
  • Only browser is needed to work with an application, so, no need to install anything.
  • Ability to work with different RDBMS: MySQL, Oracle, PostgreSQL etc.
  • Rich selection of control and display tools, provided by different UI-frameworks.
  • Multilanguage support.

Suggested technology stack:

  • Spring Framework.
  • Hibernate
  • Marionette JS
  • Bootstrap

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

documentation/athena/the_implementation_and_technology_stack.txt · Last modified: 2015/03/30 12:10 by gleb_malikov