Bert Verhees wrote: > Dear Mikael, since I initially started the discussion, I explain what > my needs/opinions are. > > A good persistence-layer reflects the classes which want to be > persistent. Do you have any specific need for queries? If you don't need to query the internals of the objects (or tree of them), it will be quite simple to just serialize the whole object. > The classes do not need to know what DB-vendor is involved. > There will be no db-vendor specific code in the main application, the > db-vendor specific code will be in the persistence layer > There is an abstraction between DB-vendor and classes that want to be > persistent. > Post-relational-db's, XML-db's, relational DB's of all vendors should > be accessible over the same code-interface. Agree with all these. Hiding these details behind some interface for accessing the persistence layer would work.
Rong > > The purpose doesn't matter, the complexity doesn't matter. > > This concept is scaleable, just changing a few strings makes the > application work against another database, of another or same vendor, > on another or same machine. > It makes an application fit to work on a notebook with a small DB, as > on a remote DB-server, the application, same code, different branch > below in persistence layer, which is already generic programmed > against most databases and situations. > > That is what I mean, when talking about a persistence layer > > > Mikael Nystr?m wrote: > >> Dear all, >> >> I think before we discuss how we are going to build a persistence >> layer we >> need to discuss how we are going to use it. Is it to support a simple >> electronic healthcare record application which only collects basic >> information, print the information on a computer screen or on a paper >> on a >> small center for primary health care? Or is it to support an information >> system for electronic healthcare record information used everywhere on a >> large hospital (or a country!) and where the system is able to amongst >> others support data intensive applications like real time data driven >> decision support systems? If it is the first case the persistence >> layer can >> be built in many different ways and where some of the ways are simple >> and >> fast to build. If it is the second case there are much fewer ways to >> build >> the persistence layer and probably none of them are simple and fast to >> build. >> >> Regards, >> Mikael >> >> Mikael Nystr?m >> M Sc in Computer Science and Engineering >> Ph D student in Medical Informatics >> Department of Biomedical Engineering >> Link?ping University >> >> >> >> >> >> >

