RE: SAX Future

Ronald Bourret (rbourret@ito.tu-darmstadt.de)
Mon, 16 Nov 1998 12:38:10 +0100


Michael Kay wrote:

> Are there any other areas where you can get multiple implementations =
of the
> same Java interface from different suppliers? If so, how do they solve =
the
> version control problem? Or have we achieved a first?

One that comes quickly to mind is JDBC, where each driver implements the =
same interfaces. In JDBC 2.0, Sun has added methods to existing =
interfaces but has not (as far as I can tell) changed any 1.0 methods. =
They have also added completely new interfaces and packages.

The version control problem is solved by two mechanisms:
* 100% backwards compatibility
* The ability of the application to query the version of the spec to =
which a given driver conforms.

The first point solves the problem of 1.0 applications working with 2.0 =
drivers. Because 2.0 is a superset of 1.0, a 2.0 driver necessarily =
implements everything a 1.0 application uses.

The second point solves the problem of 2.0 applications working with 1.0 =
drivers. The application queries the version of the spec supported by a =
driver and then only uses the functionality in the supported version. =
If the application requires 2.0 functionality, it simply refuses to work =
with a 1.0 driver.

-- Ron Bourret