From: beckwb@ois.com (R. William Beckwith)
Subject: Re: Persistence for Ada-9X?
Date: Sun, 13 Nov 1994 20:13:33 GMT
Date: 1994-11-13T20:13:33+00:00 [thread overview]
Message-ID: <Cz82uL.47q@ois.com> (raw)
In-Reply-To: 3a4cqd$ibo@salyko.cube.net
Oliver Kellogg (okellogg@cube.net) wrote:
: Is anyone developing persistent object support for Ada 9X?
We are, sort of. Persistence is made easier with CORBA
and we're working on a CORBA product. I'll explain below.
: If not, who'd be interested joining me doing it (as GPLed freeware) ?
My view of persistance involves (at least) these four elements:
1. represent arbitrarily complex types into byte streams
2. determine the link separation scheme and support the
resulting paradymn (in simpler terms: determine if
objects that point to other objects must all go together
or if they are allowed to be separately stored to and
retrieved from disk)
3. provide an access mechanism in an extensible fashion to
store the objects to and retrieve the objects from various
forms (ISAM, flat files, Direct_IO, SQL DBMS, etc.)
4. determine and implement the paradymn for sharing objects
by different processes (locking, transaction control, and
security)
CORBA allows the authors of a server to implement persistance.
CORBA and Ada 9X help each of the above as follows:
1. Ada 9X's 'READ and 'WRITE do this nicely.
2. CORBA helps by not forcing you into a particular link
separation scheme via CORBA's portable, persistant
object references. This allows you to write an object
with its pointers to disk without writing all of the
the `pointed to' objects to disk.
3. Ada 9X's stream interfaces are nicely suited to this task.
In addition, you may want to inherit an object
create_from_store type of function for construction.
4. In traditional persistance mechanisms you create
multiple object instances in separate processes from
the same data and then worry about coordination.
CORBA simplifies the sharing issue because only one
object instance is created and the other processes
have remote references to that one object.
It seems to me that if you pick an all or nothing strategy for (2)
and you assert that only one process will use the same persistance
data (4), then it should be fairly easy to set up (1) and (3).
Hope this helps a little. Sounds like a fun project.
... Bill
--
e-mail: Bill.Beckwith@ois.com | Team Ada
Objective Interface Systems, Inc. | dist, full O-O
1895 Preston White Drive, Suite 250 | multithreading
Reston, VA 22091-5448 U.S.A. | built in
next prev parent reply other threads:[~1994-11-13 20:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1994-11-13 6:47 Persistence for Ada-9X? Oliver Kellogg
1994-11-13 20:13 ` R. William Beckwith [this message]
1994-11-15 4:32 ` R. William Beckwith
1994-11-18 8:06 ` Stephen Crawley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox