General Concept

Persistence-Capable Classes

You can declare any of your classes to be persistence-capable, which means it can be stored and loaded automatically by Signsoft intelliBO. For instances of these classes Signsoft intelliBO will monitor changes of attribute contents and synchronize them with the underlying datastore.

Mapping Information

The translation (the mapping) between object state and the structure of the datastore is not positioned in the source code of your classes. This information is stored instead in a XML file (mapping descriptor) with the extension .jdo.

The descriptor file is read by Signsoft intelliBO at runtime and is used to perform the mapping. This file for example declares which attribute of a class is mapped to which field in a database table and which relations exists between classes and tables.

Enhancing classes

In order to make the classes of your business objects persistence-capable and thereby enable the automatic mapping and monitoring without changing your code, Signsoft intelliBO will enhance your classes after compilation. Therefore it uses the description you provided in the .jdo descriptor file.

This byte-code enhancement is done by the Signsoft intelliBO enhancer tool. You will only need this tool at compile time.

Enhancement is not only applied to all persistent classes (persistence-capable), but also to all classes that access these classes (persistence-aware).

Byte-code enhancement does not influence the way you use or debug your classes. Line numbers for instance will be preserved, as well as any other aspect of behaviour.

Figure: Enhancing JDO Classes

images/userguide_en/enhancing.gif