Interface compatibility, Database, Runtime component updates – Echelon LNS User Manual
Page 33
LNS Programmer's Guide
19
Interface Compatibility
LNS follows the Microsoft COM interface guidelines for maintaining interface
compatibility. Methods and properties can be added to the LNS OCX interface, but
existing interfaces cannot be modified. Automated comparison tools are run on the LNS
interface at each release to verify that the COM interface rules are followed.
Because COM methods and properties may not be modified or removed from an interface,
an established interface can become cluttered with obsolete and duplicate methods and
properties. As a result, Echelon has introduced the concept of a deprecated interface to
provide better guidance for optimal use of LNS Turbo Edition. Deprecated properties,
methods and objects are marked as such in the LNS Object Server Reference help file.
This help file also lists which version each property, method and object was introduced
in, to assist the development of applications that work with multiple versions of LNS.
Note that in the LNS Object Server Reference help file, Turbo Edition is referred to as
Release 3.20, and all properties, methods and objects marked as added to LNS in Release
3.20 are new in Turbo Edition.
For a list of deprecated interfaces in Turbo Edition, see Appendix A, Deprecated API and
Obsolete Files. Remember that deprecated interfaces are generally deprecated because
they do not provide the complete functionality that alternative interfaces provide.
However, most of these interfaces are still included in the LNS Object Server for
backward compatibility reasons. Deprecated features that are no longer implemented or
supported are marked as such in Appendix A.
Database
LNS uses the FastObjects database engine to store its objects. When new features are
added, the database schema must change to support them. The result is that LNS
databases are not usually backward compatible. An LNS Turbo Edition database will not
be accessible by any application using LNS 3.0, or versions of LNS prior to that.
However, LNS databases are always forward compatible. When an application using
LNS Turbo Edition opens an LNS 3.0 database, the database will be automatically
converted to LNS Turbo Edition format in a potentially time-consuming process. Since
database conversion is a one-way process, Echelon recommends that backup databases
be kept as long as there is any question about rolling back to a previous LNS Server
runtime. Note that you cannot use the new Backup() method to do so, as this will
upgrade the database to Turbo Edition format.
LNS Service Pack releases, starting with LNS 3.04, have not modified the database
schema, and Echelon will continue to follow this discipline in future Service Packs. If a
Service Pack must modify the schema in order to fix a serious problem, the Service Pack
read-me file will note that fact prominently.
Runtime Component Updates
In general, LNS Service Packs may not be uninstalled. Patching technology, including
Windows Installer patches, does not generally support uninstallation of patch updates.
Since LNS databases are usually not backward compatible, the updated LNS Turbo
Edition installation will update the LNS global database and individual network
databases as they are opened, further complicating any attempt to return to a previous
version of LNS.