>> Yes, of course a proper robust lightweight and base image standard
>> OODB would be what I *really want*. Magma is pretty close to that -
>> though I am not sure how intrusive it is in the image.
I can comment on this. First, as far as intrusiveness goes, it is very
*non-intrusive*. That was a primary design goal from the very
beginning. There are *no* base changes, even though there are several
method *extensions* to base classes. But all my extension methods are
prefixed with "ma" to minimize namespace collisions.
Let me tell you, when you load Magma into your image, you can feel
confident that your image will remain perfectly intact.
Avi wrote:
> Just a note on the relative "weight" of Magma and GOODS: the Magma
> client is 185k of zipped code, the GOODS client is 16k of zipped
> code. So, talking just about the clients, Magma is about an order
> or magnitude larger.
Yeah, the reason the Magma SAR is 185K is because Magma is composed of
about 10 independent "modules". This does tend to add to the bulk of
the code.
The other consideration, though, is the size of the *allocated-memory*
footprint while running. As far as Magma goes, I decided to make the
server as "lightweight" as possible in terms of allocated-memory
footprint so as to support as many simultaneous users as possible with
a reasonable machine. Almost *nothing* is cached and no domain classes
are necessary on the server. The server only deals with "buffers" for
the current request and the Integer oid relationships between them,
which will also hopefully facilitate optimization via primitivization
(say that 5 times) of certain behaviors on the server.
In terms of the client, Magma is only as light as the client program
allows. WeakDictionary's are used to let unreferenced objects out, as
well as things like ReadStrategy's to optimize bringing only the
objects you want into the client. #stubOut: is also available to chop
off large branches of objects after you've already read them in but no
longer need them.
I am very excited about Magma's future. The latest version on SM is
the best-yet, and I'm currently working on some exciting enhancements
(exciting to me, anyway) while still keeping with its philosophy of
simplicity.
- Chris