Joe's Object-Oriented Mapping Pages
This is the beginnings of some pages describing some of the work
that I have done with mapping objects to either persistent storages
or using languages to describe objects. The later involves having a
way to store your rules in some data storage and dynamically build
your objects as you need them.
I have designed a few applications that
use either MetaData to describe
the business rules and/or views and involve making your objects
persistence in a non-OO world. I presented this material at Smalltalk
Solutions '98 and also at OOPSLA '98. More will be added as I get time.
Object Mappings Description
Systems are often developed where mappings to a non-object
environment is required. Quote often, relational calculus and
the maturity of a relational database is exactly what one
needs. Other times it might be the corporate policy to use a
certain persistence storage for backwards compatibility etc.
Making your object persistent in a non-OO world can cause
a lot of grief if you haven't done this before. The primary
problems that one has to deal with is an impedance mismatch. Objects
have hierarchies, types, compositions, polymorphism. Objects
put together code and data to form good logical pieces.
Non object storage technologies are more data centric. They
provide things such as rows, tables, relational calculus,
permanent storage, and routines to quickly access and manipulate
the data. There are some common patterns for dealing with
this mismatch and these pages focus on how to deal with such issues.