Difference between revisions of "Persistence unified"

(A tentative manifesto)
(A tentative manifesto)
Line 17: Line 17:
 
*Possible specializations of these abstractions could be: FILE_MEDIUM, NETWORK_MEDIUM, RELATIONAL_DB_MEDIUM, CUSTOM_MEDIUM, BINARY_FORMAT, STRING_FORMAT, XML_FORMAT, DADL_FORMAT, CUSTOM_FORMAT
 
*Possible specializations of these abstractions could be: FILE_MEDIUM, NETWORK_MEDIUM, RELATIONAL_DB_MEDIUM, CUSTOM_MEDIUM, BINARY_FORMAT, STRING_FORMAT, XML_FORMAT, DADL_FORMAT, CUSTOM_FORMAT
  
*Classes which objects have to be persisted should not be polluted with persistence code, for example adding attributes or by inhering from some other class that provides persistence services
+
*Classes which objects have to be persisted should not be polluted with persistence code, for example adding specific persistence-related attributes or by inhering from some other class that provides persistence services

Revision as of 09:19, 17 August 2007

Unified persistence for Eiffel

This project is about developing a single, integrated and simple persistence framework for Eiffel.

Single because nothing else should be needed to access any kind of persistence services.

Integrated because aims at integrating both the already existing technologies and frameworks, as far as they deliver the intended benefits, and possibly new ones.

Simple because it should be very easy to use, removing all the unnecessary complexity.

A tentative manifesto

The first proposed task is to agree upon a sort of ‘manifesto’ of desirable features of the framework.

Here is a first proposal:

  • The framework should provide just two abstractions to the developer: MEDIUM and FORMAT
  • Possible specializations of these abstractions could be: FILE_MEDIUM, NETWORK_MEDIUM, RELATIONAL_DB_MEDIUM, CUSTOM_MEDIUM, BINARY_FORMAT, STRING_FORMAT, XML_FORMAT, DADL_FORMAT, CUSTOM_FORMAT
  • Classes which objects have to be persisted should not be polluted with persistence code, for example adding specific persistence-related attributes or by inhering from some other class that provides persistence services