Peter Kriens schrieb: > PN> adapted in order to support dynamic loading, very close to OSGi > So why not use OSGi in the first place?
Sorry, I've overlooked your question. As Peter already said, that was a design decision of mine. One reason is that I'm not into OSGi. Also, I wanted to keep development of plugins as simple as possible. IMHO, OSGi is overkill just adding complexity for features that are not needed in a build system. Mainly, I'm referring to runtime deployment and undeployment of components. OK, you can argue, that during the build, a new plugin may be created, which, using OSGi, could be inserted into the build system at runtime. But after doing that, you'll have to rebuild the rule base. Therefore, you'll have to cancel the evaluation of the current rule base and start over with a newly built working memory. In the end, you can just as well restart the whole container ... :) The other thing is that Loom currently as near-zero dependency on the container it's running in. That's one of the benefits of IoC and Dependency Injection. This also means, that the code can be reused almost without any modification after switching the container (e.g. after switching to OSGi, which I still think is a bad idea, but if everyone wants to do so, I won't block everything -- it's more important to join forces and get that thing rolling, than to dispute philosophical questions :) The last thing: No matter, what container you use, Silk is not just a modular application. It's a plugin-based application. You *will* need to write a framework around the container, because a plugin, in my understanding, is more than just a bunch of Java classes. That's an issue that HiveApp (an extension to HiveMind written for Loom and now being used in three projects) addresses. The ClassLoader is just there to minimise the probability that after a major upgrade third-party plugins fail because of version conflicts. The availability of plugins is essential to a build system and breaking existing plugins with each release must be avoided as much as possible. True, such a thing would have been present in OSGi without having to do anything about it. Cheers, Raffi -- The difference between theory and practice is that in theory, there is no difference, but in practice, there is. [EMAIL PROTECTED] · Jabber: [EMAIL PROTECTED] PGP Key 0x5FFDB5DB5D1FF5F4 · http://keyserver.pgp.com _______________________________________________ OSGi Developer Mail List [email protected] http://www2.osgi.org/mailman/listinfo/osgi-dev
