Re: Clean Object Class Design -- What is it?

From: bok <bok_at_free.net.nz>
Date: Sun, 29 Jul 2001 18:02:55 +1200
Message-ID: <3b63a646_at_clear.net.nz>


> But, because of the weak meta-architecture used in e.g. the Java language
 you
> can't do it easily here (that is, without serious hacking). I know Carl
 don't like how
> I put it ;-) But, I have a strong opinion about this. Anyway, don't
 interpret
> this as some trigger to start another flame war - please!
>
> So, if JADE has a more advanced model/meta-architecture that directly
 supports
> defining relationships like the ones discussed, then I guess this must be
 the answer
> to Carl's question.
>
> You mentioned OMG, did you refer to basic IDL stuff or MOF/UML stuff?

Sorry, I left out a 'D' - the Object Model I had in mind was the ODMG 3.0 model.
The full sepcification only appears to be readily available in the book advertised here: http://www.odmg.org/ .
I have looked the OMG/OM and CORBA in the past but haven't studied recent developments in any depth.

For what it's worth, JADE's Object Model is not based on any particular OO language - it is language independent and as such is not constrained by limitations of existing programming languages, which are not designed for 'data modelling' per se. Relationships are defined in a schema and are automatically maintained by the JADE Object Manager (JOM). JADE fully supports reflection and dynamic meta-programming so we could say it has an MOF of sorts allthough we don't usually tout that terminology. Our new query engine and Report Writer application both make extensive use of reflection as you would imagine.

> The reason for asking is not because I'm a CORBA fan or anything but
 because
> I find the MOF stuff from OMG very interesting. That is, due to the fact
 we (and
> where I work) is using Java and because we can't live with its limited OO-
> modeling constructs, MOF can actual help us.
>
> Using techniques inspired from MOF we have managed to create our own meta-
> architecture "on top" of Java. It's still a hack but at least it's a "nice
 hack" :-)
>
> For example now we can easily define all kinds of relationships between
 our
> object types. Also, developers now both have the possibility to use static
 (traditional)
> OO navigation and to navigate between classes dynamically by going though
 a
> "reflection API" (also inspired from MOF).
>
> This way we can create dynamic client applications (such as an object
 browser
> etc.) that "knows" how to navigate between objects. Changing the object
 model
> and the client application will still work without re-compiling or
 anything. Also
> having such architecture simplifies structure-shy traversal which we uses
 a lot in
> our system.
>
> /Jesper
>
>
Received on Sun Jul 29 2001 - 08:02:55 CEST

Original text of this message