updating site content
[cdmlib.git] / src / site / apt / overview.apt
1 ------
2 Overview
3 ------
4 ------
5 2010-11-05
6 ------
7
8 Overview
9
10 The CDM library itself is devided into several layers, as to provide a seperation of concerns.
11
12 [images/cdmlib-arch4.png] CDM Library layers
13
14
15 * Domain Model - <cdmlib-model>
16
17 Domain objects (also called business objects sometimes) are directly taken as POJOs from the CommonDataModel. The logic inherent to the domain objects are restricted to their own object graph, i.e. their own properties and related objects. But not unrelated objects available through DAOs only. Typical logic includes validation and calculations.
18
19 ** Property change support
20
21 We have implemented java.bean propertyChangeSupport methods for the entire cdm domain classes to send change events to registered listeners.
22 The TaxonomicEditor makes use of these through a data binding framework. See wiki:JavaResources#DataBinding for more.
23
24 ** XML binding
25
26 For data exchange purposes, serialization/deserialization of the domain objects of the cdmlib-model to/from XML format is supported via the [https://jaxb.dev.java.net/ JAXB] framework.
27
28 ** Name parser
29
30 Documentation is available at NameParserDocumentation
31
32 * Persistence Layer - <cdmlib-persistence>
33
34 we use Hibernate for persistence. We run unit and integration tests for MySQL, Hypersonic, Postgres and MS SQL Server on a regular basis.
35
36 * API - <cdmlib-services>
37
38 Work in progress. see "CdmLibrary#Servicelayer" or wiki:CdmAPI for now.