David Tanzer wrote:
> Since we already started to define some component interfaces I think we
> also should start thinking about a component model which loads / 
> connects such components. Maybe there are also some existing solutions
> we might want to look at (I must confess I didn't really search yet).

Agreed, plus managing the API itself to ensure forwards/backwards
version compatibility.

> I guess a requirement for such a component manager would be that it can
> load and connect components at runtime and that the specific 
> implementations which are loaded can be configured. It might also be
> good if the same component implementations can be linked at compile time
> (i.e. statically) which could have benefits on embedded platforms, but
> I'm not sure if we really need this.

I'm assuming that you are speculating on component management beyond the
platform support (i.e. DLL-hell). The java world is already on this path
with the OSGi framework (e.g. Felix).  It will require a non-trivial
solution to ensure that the runtime flexibility does not incur an
unacceptable runtime cost.

> Another requirement would be that the components can be written in 
> different programming languages (i.e. C, C++, Java, ...). It isn't 
> really a problem to solve this for C and C++, but can we also easily
> support other programming languages?
> 
> A simple way to implement such a component model in C would be an 
> approach similar to the one Tim Ellison described in [1] where he
> explains the structure of the J9 VM's portability library. I started
> writing a proof of concept implementation for this, and I'll add it
> to the wiki as soon as it's finished.

I look forward to seeing the proof of concept.  Were you thinking of
introducing versioning and dependency management style functions?

> It would be interesting to have several such proof-of-concept 
> implementations of component models which we can study and the decide
> which to use. We could even write "import mechanisms" for the different
> component models so they can import and use components from another
> model too (of course this would normally imply reduced performance).
> 
> Regards, David.
> 
> [1]
> http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
>  PROTECTED]
> 

-- 

Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.

Reply via email to