Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Corrected links that should have been relative instead of absolute.

...

This document is an overview of the architecture. The goal is to provide a general idea of what is each layer/component for, and the extension points it provides. This is not a reference document. Detailed technical information will be provided in another document.

back to top

2. Technologies

This section gives a short overview on the used technologies in the basic sample.

...

back to top

3. Architecture

This section gives a short overview on the architecture.

back to top

3.1 Architectural Layers

Our application has a layer architecture. Layers is an architectural design pattern that structures applications so they can be decomposed into groups of subtasks such that each group of subtasks is at a particular level of abstraction. Our application has a layers architecture exactly like on picture below.

 

back to top

3.2 Layers Description

  • Database
    • Application database. There is stored all application data. Database consists of framework tables and plugins tables which have accurate plugin prefixes. In this version application use Postgres database. In next version we consider support for other database engine (Oracle, MySQL, MSSQL).

...

  • Security
    • Security in QCADOO application is provided by Spring Security. Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. For authentication we use Form-based authentication mechanism with AuthenticationManager using database to store users details. For authorization we use global method security mechanism provided by Spring Security. There is also many filters and components responisble for session management, requests filtering, SSL management and hierarchical roles provided by Spring Security.

back to top

3.3 Qcadoo framework and framework plugins

Qcadoo application has a very modular architecture. Every business functionality can be added to application with new plugin. This extensibility and configurability is achieved using the Spring Framework, a de-facto standard enterprise open source framework. Qcadoo has made Spring the core foundation of its architecture. Qcadoo components are declaratively configured and bound together using Spring configuration. Aspect-oriented programming features of Spring allows the weaving of infrastructure concerns such as Transactions and Security into components without duplicating functionality. Our plugin architecture is shown on the picture below.

back to top

3.4 Qcadoo framework and framework plugins description

...

Other application plugins should be described in Qcadoo Store.

back to top