Cyclos structure & approaches

From Complete Cyclos documentation wiki
Jump to: navigation, search

Cyclos overview

Structure

Cyclos is build according to the Model-View-Controller concept. There are 3 layers: 1. The Model is located in the cyclos3 project. It is the layer that connects to the data. This project defines the entities, which are mapped to the database, and it defines the services that react to calls from the control layer. The services are defined by an interface and by an implementing class. 2. The View is located in the cyclos3_web project, those are the jsp's showing the pages. 3.The Controller is also located in the cyclos3_web project; those are the java (action) classes of this project especially the ones under nl.strohalm.cyclos.controls. The connection to the model layer is done via the service interfaces.

Besides the cyclos3 and cyclos3_web projects, Cyclos comes with the following additional (development) projects.

- The Tests project (cyclos3_tests) is a separate project that has several test classes. These test classes are written before the code self. - The Mocks project (cyclos3_mocks) contains services that implement the service interfaces and generate mock (dummy) data for the time that the real database and its connectivity are not ready yet. This approach allows developers to work independently on the model and view/controller layers.

Workflow

Development files

Cyclos view layer

JSP pages

JavaScript libraries

Tiles

Translation files

Cyclos Control Layer

Action classes

Cyclos Model Layer

Entity classes

Object – relational mapping (ORM) using Hibernate

DAO (Data Access Object) layer

Services layer

Dependency injection using Spring