This site contains older material on Eiffel. For the main Eiffel page, see http://www.eiffel.com.

EiffelStore: The bridge between objects and the relational world

EiffelStore is the principal interface between Eiffel and Database Management Systems (DBMS), relational or object-oriented.

It enables organizations to combine the power of Eiffel object-oriented development with the need to access existing databases and use them to store objects.

Principles

EiffelStore provides a consistent set of library classes for writing Eiffel applications that need to handle persistent objects.

The EiffelStore Application Programming Interface (API) is DBMS-independent, so that you can use the same source code with a wide range of actual database products. The list of currently supported DBMS appears below.

Three layers


EiffelStore layer
EiffelStore

Storable layer
STORABLE class

DBMS
level

ODBC

  
Oracle

  
Sybase


...


Matisse

EiffelStore enables programming at any of three interface levels:

  • EiffelStore layer: this is the basic API. It allows Eiffel applications to store and retrieve their objects in a portable way.
  • Storage layer: using Eiffel's own STORABLE persistence mechanism, enables easy storage and retrieval of networks of objects into files.
  • DBMS layer: provides the interface to various relational and object-oriented oriented DBMS. It allows an application to store and retrieve objects into and from different data bases.

Supported platforms

EiffelStore "handles" -- interfaces to specific DBMS at the DBMS layer -- are currently available for the following products:

  • ODBC, providing access to dozens of database products, in particular on Windows.
  • Oracle (Unix, Windows).
  • Sybase (Unix, Windows).
  • Open Ingres (Unix, Windows).
  • MATISSE object-oriented and multimedia database.

Several other handles, covering relational and object-oriented databases, are in preparation. A non-EiffelStore interface also exists for the Versant object-oriented database.