[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Objective-C Object Persistency
From: |
Pascal J . Bourguignon |
Subject: |
Objective-C Object Persistency |
Date: |
Fri, 14 Jan 2005 18:17:36 +0100 |
Andreas Höschler <ahoesch@smartsoft.de> wrote:
>
> It is surely possible to find a pattern for this with the typical=20
> object-relational mapping scheme. However, I am wondering if anybody=20
> has ever tried to solve this problem generally. Are there any=20
> Objective-C based persistence layers (ObjectBases) available that at=20
> least try to solve this problem?
>
> Thanks for any hints!
- entreprises generally _already_ have a RDBMS, like Oracle or Sybase.
These database have what's called 'stored procedures' written in
database specific languages that can be used with 'triggers' to
maintain the semantic consistency of the database.
So, instead of writting the algorithm in Objective-C, you'd write it
in Oracle, and when you fetch the entity, the attribute is already
correctly updated. Of course, since you want to be able to modify
the object in-core, you have to write the algorithm in Objective-C
too all the same, with all the problems wtih this duplication of code.
- there are various ODBMS Object Data base Management Systems. Good
consideration can be given to them when you start a development from
scratch out of any existing legacy.
http://linuxdatabases.info/info/oodbms.html
http://www.ca.com/products/jasmine/analyst/idc/14821E.htm
However, to get the benefit you're seeking you should have the same
language in the database engine for stored methods and in the
application layer, and when you fetch or store an object both the
data and the methods should move.
This can be implemented with java, lisp or smalltalk. This is
harder with Objective-C or C++. Imagine a database on a Sun (sparc)
server, and applications on GNUstep/Linux/ix85 and MacOSX/ppc. The
same methods will have to run on three different kind of processors.
- there's also persistant objects, with techniques that can solve the
problem of storing the methods with the objects but most often
they're restricted to single user.
--
__Pascal Bourguignon__ http://www.informatimago.com/
You never feed me.
Perhaps I'll sleep on your face.
That will sure show you.