Interactive
Software Engineering
EiffelStore Wizard

[ISE Home] Home ] Release Notes ] Technology Papers ] Installation Notes ] About Eiffel ]


EiffelStore Wizards (Beta Version)

EiffelStore is ISE's library for combining the power of object technology with the convenience and ubiquity of relational databases.

The EiffelStore Wizard simplifies the job of the object-relational programmer by providing an automatic mechanism to generate an Eiffel application framework that encapsulates access to an existing database. The Wizard analyzes the database for you and produces all the needed interface classes, as well as the system's Ace file (Eiffel compilation control files).

 

Overview

The EiffelStore Wizard will help you create an Eiffel Project using EiffelStore.

The steps are straightforward:

  • You provide the information necessary to connect to your database.

  • The Wizard asks you what tables you wish to use in your project.

  • Using this information, the Wizard will generate an Eiffel application framework (classes and Ace file) and compile it through EiffelBench.

You can then adapt and extend the application framework to add your own processing of the data as needed for your project.

 

Availability and download instructions

The EiffelStore Wizard is currently available for ODBC and Oracle on Windows. You can download it from the ISE FTP site:

 

Installation and use

Once you have downloaded the appropriate Wizard version:

  • Unzip the file EiffelStore_Wizard.zip. Be sure to use folder names when unzipping.
  • Unzipping creates a subdirectory Store_wizard_odbc, containing three other directories: bmp, exe, ressources).
  • To run the Wizard, execute launch.bat.

You can also run the exe file in the directory exe, with as parameter the path where you have unzipped the wizard; for example:

    store_wizard_odbc c:\store_wizard_odbc
 

Generated Files

The Wizard will generate an Eiffel project containing all that's needed to access and manipulate the tables that you have selected in your database.

For each table, the Wizard generates one class, with the same name as the table. For every attribute of the table, the class contains an Eiffel attribute with the same name and the corresponding Eiffel type.

In addition, the Wizard generates:

  • An Ace file, with sufficient information to compile the project.
  • The class DATABASE_MANAGER, which helps you to do any queries on the database.
  • The classes DB_ACTION, DB_ACTION_DYN, REPOSITORIES and DB_SHARED, used by the DATABASE_MANAGER classes. These are the core classes to access and modify the database.
  • The classes ESTORE_EXAMPLE and ESTORE_ROOT. These are the main classes of the generated application framework. You can modify queries and add new ones by editing ESTORE_EXAMPLE.

In the directory resources of the EiffelStore Wizard, you will find the skeletons of the generated files. You can modify them to fit your project.

 

Current limitations

The EiffelStore Wizard is a beta release. Please note the following limitations.

  • You must choose at least one table before doing the generation.
  • Any table that you select must have at least one Column.
  • (ODBC) In the generated Ace file, the link to ODBC32.lib appears as: "$EIFFEL5\library\store\spec\$(COMPILER)\lib\odbc32.lib". To have access to the library, you should either copy it to this destination, or change the Ace file line to refer to the library's location.
  • The Wizard always regenerates the project from scratch. Any modifications that you have made in a previous generation will be lost.
  • Because of temporary limitations of the EiffelVision 2 library, the Wizard's graphical appearance is not optimal, especially with fonts; if you are using large fonts you won't be able to read all the comments.
  • After generation, the wizard launches EiffelBench and a compilation. If a project was already present, the compilation first needs to delete it, but will fail if it doesn't have the proper permissions.
  • If you are using Microsoft's SQL Server, you should check the box Specific Tables/Views; do not try to generate the System tables as you wouldn't be able to perform requests on some of these tables.
  • The Wizard doesn't support tables with a dollar sign $ in their names, as this is not a valid character in Eiffel identifiers.