[e-lang] Forwarded thoughts on modules from Constantine
Kevin Reid
kpreid at mac.com
Wed Apr 18 12:27:45 CDT 2007
On Apr 17, 2007, at 16:31, Mark Miller forwarded from Constantine
Plotnikov:
> An example of good high-level class loading architecture built upon
> it is OSGi (http://www.osgi.org). Something similar will be needed
> for E in order to be used in large systems. OSGi relies on static
> state a lot, however this could be fixed. I'm not aware what is
> Reid is doing now, but it would be good to point him to OSGi if he
> has not looked at it yet.
I'll take a look at it sometime.
> Dependency injection is a way to design applications where objects
> are not aware how to obtain references to other services (this
> situation is very natural for capability system). The links are
> established by container that hosts these objects. The objects just
> declare what they require in order be created. By role, it is
> similar to powerbox mechanism.
My module system will do this; in fact, this is one of its main goals.
The other goals, already implemented, are:
- allowing runtime loading of modules, so that E-on-Java need not
be restarted with a different classpath.
- allowing internal references between components of a single
module, unlike the existing emaker system.
The primary open question is what the proper scheme for naming
(including versioning/variants) the other modules depended on is;
also, *if* modules carry authority, then there must be a mechanism
for authorization of modules requesting such dependencies. Thanks for
pointing out the relation to powerboxes.
--
Kevin Reid <http://homepage.mac.com/kpreid/>
More information about the e-lang
mailing list