Technical stuff
Vesta is a Java (Java 7) application running on Oracle (11g) database and Jetty (6.1) webserver. Application has 3 strictly separated layers:
- Presentation layer
- Business logic
- Data logic
Much care and time is given to code design, resulting clean, easy to read and well-designed code. Therefore it is easy to implement expansion and changes of business-logic.
Vesta is optimized for transactions (transactional application). For business intelligence the data warehouse is used with preffered reporting tools (Business Objects, Oracle BI etc.)
Much care is given to data model. Mostly it is used approach of standard normalization, but in some modules, where necessary, the entity-atttribute-value model (EAV) is used – for example in product factory.
Architectural decisions:
- High level of abstractness
- Modularity
- Entity-based approach
- 100% temporal data logic (every entity is versioned)
- Technical architecture is fully documented
Main frameworks include: Aranea, Spring, Spring Security, Drools, Log4J, Freemarker, TestNG, Checkstyle, Findbugs, PMD.