>Is there a Ada-specific method to add persistant data capabilities
>to an application?
A direct_io package can be instantiated for any object type statement.
Object instances can then be stored in a file_type of the resulting
direct_io package. The combination of the file name and index (record
number) of the stored object provides a unique object ID for direct access
of these persistant data objects.
I use this approach with external index/pointer files (with their own
direct_io packages) as a data cube/network data model for an in-house data
mining engine. One interesting Ada-specific feature is that an Ascii file
with fixed length fields and records (e.g. data that might be loaded into a
relational data base table) from legacy data is a ready made direct_io file
if a two character CR_LF field is added to the direct_io data definition.
For what it is worth, this approach provides a blazingly fast specialized
database manager that, with an application specific index/pointer
architecture and data navigation, works at file processing speeds rather
than relational database speeds. Also, a data architecture using protected
types at run-time can provide Ada-specific multi-user capabilities.
Ada is an amazingly useful language for persistant data/database
development, but it seems that very few people make use of it. With very
few additional features, Ada 200X could provide an effective built-in
database engine and persistant data capability.