------ Overview ------ ------ 2010-11-05 ------ Overview The CDM library itself is devided into several layers, as to provide a seperation of concerns. [images/cdmlib-arch4.png] CDM Library layers * Domain Model - 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. ** Property change support We have implemented java.bean propertyChangeSupport methods for the entire cdm domain classes to send change events to registered listeners. The TaxonomicEditor makes use of these through a data binding framework. See wiki:JavaResources#DataBinding for more. ** XML binding 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. ** Name parser Documentation is available at NameParserDocumentation * Persistence Layer - we use Hibernate for persistence. We run unit and integration tests for MySQL, Hypersonic, Postgres and MS SQL Server on a regular basis. * API - Work in progress. see "CdmLibrary#Servicelayer" or wiki:CdmAPI for now.