You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by Apache Wiki <wi...@apache.org> on 2012/05/28 20:22:21 UTC

[Rave Wiki] Update of "ArchitectureTopics/Persistence/ModelInterfaces" by MattFranklin

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Rave Wiki" for change notification.

The "ArchitectureTopics/Persistence/ModelInterfaces" page has been changed by MattFranklin:
http://wiki.apache.org/rave/ArchitectureTopics/Persistence/ModelInterfaces

New page:
Currently, the JPA based model does not support the goal of providing pluggable persistence.  The following proposed model structure should simplify the task of providing a non-jpa based persistence layer.  The changes in this proposal represent the ''MINIMUM'' amount of work to complete the conversion.  All other model changes should happen in a separate proposal.

'''Proposed Maven Module Structure'''
{{{
rave-project
   |__rave-components
   |     |__rave-commons       //Common utility & helper classes
   |     |__rave-core          //Core service, model & repository interfaces.  Includes PURE POJO model implementations. 
   |     |__rave-jpa           //JPA implementation of the Rave models repositories
   |     |__rave-web           //All web specific components      
   |__rave-...                 //The rest stays as is

}}}

'''Functional Changes'''
  * All repositories will be expected to translate to their own representations of objects (IE JPA Entities)
  * The Interface for a model MUST be used
  * The POJO implementations are to be used only when creation of a new model instance is required in the service or web layers

'''Method of Change'''

All changes to the code will be made in a branch.  Integration of the branch into trunk will be done via lazy consensus with a 72 hour waiting period once all JPA entities have been converted to interfaces.