Skip to content
This repository was archived by the owner on Sep 12, 2025. It is now read-only.

Latest commit

 

History

History
30 lines (21 loc) · 2.6 KB

File metadata and controls

30 lines (21 loc) · 2.6 KB

How To

  • General
  • application server (tomee) usage
  • architecture
  • webclient

Architecture

Subprojects

LireJarp contains the lirejarp application itself and the application server as well as builds scripts to install, start and stop the application.

The following component diagram shows the structure of the project.

Component Diagram LireJarp

About implementing data access

You have a group of objects which are different in its structure but should implement the same basic behavior. You have a lots of data objects in your application for whom the standard CRUD-functionality should be provided? For this purpose, an AbstractDao is a common way to handle the implementation of the basic stuff. An AbstractEntity is created as base class for all entities. In the AbstractDao general CRUD functions are implemented using the AbstractEntity. E.g. http://sidaof.sourceforge.net/sidaof/ is a project, which implements an AbstractDao-class. Binding concrete entities to AbstractDao is done via generics.

The architecture presented here goes further and uses this pattern through all layers of the entire architecture: business services (EJBs), RESTful webservices and junit-tests. Data objects extends the class “AbstractEntity”. Each kind of service (EJB, restful webservice, jUnit-testclass) implements the general functionality around the data objects in an abstract class. For each data object and each kind of service concrete service-implementations are added. To prevent class-casts, generics ensure the usage of concrete data object in the abstract part of the implementation.

The following class diagramm shows the general architecture.