Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!newsfeed.internetmci.com!howland.reston.ans.net!surfnet.nl!sun4nl!news
From: mzomer@inter.nl.net (mzomer)
Subject: Re: Persistency FrameWork
X-Nntp-Posting-Host: ztm99-0.zoetermeer.nl.net
Message-ID: <Dnx11x.2IL@solair1.inter.NL.net>
Sender: news@solair1.inter.NL.net (News at news)
Reply-To: mzomer@asd.bso.nl
Organization: ORIGIN
X-Newsreader: WinVN 0.93.9
References: <DnpM7J.4vL@solair1.inter.NL.net> <4hlfqr$fov@steel.interlog.com>
Mime-Version: 1.0
Date: Fri, 8 Mar 1996 05:57:36 GMT
Lines: 63

In article <4hlfqr$fov@steel.interlog.com>, cfwong@interlog.com says...
>
>mzomer@inter.nl.net (mzomer) wrote:
>
>>Hi,
>
>
>>I am looking for a good Persistency Framework that does not have any
>>implications on existing code. We use Team/V 3.0.1 from Digitalk (on
>>a OS/2 platform) and store our business objects in a DB2/2 or Oracle 
>>database. Before building our own Framework I want to hear from you!
>
>
>>CU
>
>>--martin
>
>I would recommend TOPLink from The Object People 
>Contact paul@objectpeople.com
>
>CF Wong
>Bank of Montreal
>
>
Thanks for your reply,


I received a white paper describing the TOPLink product
including some coding examples. I did not like the way
they solve the problem.

	1. The product genrates code which is added to the business
	   objects. If you want to switch to an OODBMS
	   you have a major problem.
	2. The product also enforces business object to have a KEY,
	   sorry, but that not Object Oriented at all.
	   In a RDBMS you need a key to find related objects (rows).
	   In a Object Oriented language you have references (pointers)
           to releated objects. The way you navigate through the
	   business object model is via references and in a RDBMS via
           associations.

A way to solve the mapping from a businnes object model to a
RDBMS is using a Meta Model which describes your business object
model including relations. Smalltalk itself does not has explicit
support for relations. Using the Meta Model and a description in 
Smalltalk of the database structure (this is also a Meta Model)
your able to map object ID to keys.

The code you need to store or retreive objects can be generic,
so you do not need to generate code.
Generating code is for those programmers who are not able
to write generic solurions. If you have the knowlege to
write a code generator you also have all the knowledge
to write a genric solution.


CU

--martin
  	   


