CodelistManagerDesign

From D4Science Wiki
Revision as of 16:55, 16 April 2012 by Erik.vaningen (Talk | contribs) (Architecture)

Jump to: navigation, search

Context

Statistical cluster

CodelistManager

Architecture

CMArchitecture.png

The core defines a basic user interface, the core services, core daos and the core domain objects. The core UI definitions define probably also the Menu. The core implements the core usecases.

Another starting point could be to say that the core has only domain objects, daos and services, so no UI definition. This is still to be discussed and to be decided.

Every module covers 1 or more use cases. A module has usually a lot of UI definitions, and may add services, daos and domain objects.

Package Diagram

PackageDiagram.jpg

Dozer is a utility to define mappings between object graphs.


Module Architecture

ModuleArchitecture.jpg

An instance of a CodelistManager can be deployed on a Java application server. A module can be packaged in a Custom, Porlet of WebFragment way.

Proprietary

The CodelistManager will have its own definitions of the notion of a module. Geoserver has done something similair. Every module is a jar file, can be dropped on the classpath and will add definitions to the UI menu. Geoserver has used intensively the Spring framework in order to implement its modularity.

Portlet

Packaging as portlet means complying with the Java Portlet Specification 2.0 (JSR 286). The portlets can be deployed on a portal server like [1].

WebFragment

Servlet 3.0 introduces web fragments. Every module can be packaged as a webfragement. http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part2.html