VisualAge Smalltalk ObjectExtender is an extensive and powerful persistence framework providing a complete solution for building robust, scalable persistence support for object models. Object models, represented by class hierarchies, are said to be persistent when instances created from these classes can be stored to an external data store such as a relational database.
ObjectExtender enables you to map objects and relationships between objects to information stored in relational databases. It also provides linkages to legacy data on a number of other systems. As a feature of both IBM's VisualAge Smalltalk and VisualAge for Java(TM) products, ObjectExtender is especially designed for UI-intensive, nested transaction-type applications. This tight integration with the VisualAge family enables you to leverage your current VisualAge investment and expertise.
A rich set of integrated tools make the persistence effort minimal by providing:
As object-oriented technology has matured in the industry, it has proven to be an excellent solution for modeling problems, building prototypes, and rapidly deploying applications. Though object models for these applications are often reused in other applications, one of the costlier tasks of development has been that of translating between object-oriented and non-object-oriented representations of business models. Given that the majority of databases in use today are non object-oriented, the task of mapping objects to relational database tables and legacy data from various sources has been the missing piece in object persistence standards. On a small scale, object persistence is not difficult to solve. However, large scale applications introduce new requirements to frameworks that support object persistence.
Underlying ObjectExtender is a framework that delivers on requirements that apply to large scale applications. As with any good design, trade-offs and compromises must be made. The better you understand your object model and your data model, the better you will be prepared to take advantage of the powerful function that ObjectExtender offers. ObjectExtender provides this support in the following ways: