External Proxy Classes

The External Schema Wizard process creates the external proxy class, which acts as the mediator between the JADE world and the relational world. Proxy classes are derived from a common abstract subclass of Object in the hierarchy: ExternalObject. The proxy classes that comprise the transformation schema have two components: an interface and a mapping (or query) specification.

The interface defines the properties and any methods. The mapping, using an SQL-like query, defines how to populate a proxy object with instances from the external relational database. The tuples, or instances retrieved by this query, are virtual instances of the proxy object, enabling you to deal with transient instances of the SQL proxy classes defined in the schema.

An SQL proxy class definition can be mapped from one of the following relational entities.

The properties of a proxy class can be attributes or virtual references. Attributes are simple types whose domain is one of the supported JADE primitive types. The type of an external reference can be another external class type or an external collection. External references are always defined as explicit inverse references. These references are implemented using mapping methods, and employ an external object or an external collection method to retrieve an instance.

The JADE query engine provides methods on the external schema entities used by the External Schema Wizard to import catalog information from an external relational schema. These methods employ the relevant ODBC catalog functions. As some drivers or data sources do not support all required functions, the External Schema Wizard has less information to use for production of a default mapping.

The JADE query engine interrogates driver capability, to determine whether a required function is available before using it; for example, catalog functions, block mode, and scrollable cursors.

The following entities are imported from external relational catalogs and are stored as persistent meta information in your JADE schema.

The catalog import functions create new entities in the JADE schema or update existing definitions if they already exist, to enable the External Schema Wizard to provide schema upgrade capabilities.

JADE provides the classes listed in the following table, to encapsulate the behavior of your external database schema.

Class Description
ExternalArray Represents the rows in a result set generated from an SQL query containing a sort specification
ExternalCollection Provides the common protocol for external collection classes
ExternalDatabase Represents a connection to an external database
ExternalDictionary Represents the rows in a result set generated from an SQL query with an ORDER BY sort specification
ExternalIterator Encapsulates behavior required to sequentially access elements of a collection
ExternalObject Base class for all external database classes
ExternalSet Represents the rows in a result set generated from an SQL query that has no sort specification
ExternalSet Represents the rows in a result set generated from an SQL query that has no sort specification
ODBCException Defines behavior for exceptions that occur as a result of ODBC communicating with external databases

For details, see Chapter 1 of the JADE Encyclopaedia of Classes.