IMHO, the basic design and implementation should be XML free and provide a straight forward API for assembly, configuration (preferably atomic) and the other stuff. Any runtime platform support can be added on top of that. Look
at Jetty for an example of this approach.

Now, Noel's suggestion for OSGi as the runtime platform is interesting, if for no other reason than it allows for hot deploy and reloads. But I think it would be possible to provide a BundleActivator and register the service(s) even if FtpServer does not require OSGi by definition, if the above approach is done well (again Jetty is an example of OSGi bundle on top of its API).

You're assuming that frameworks other that OSGi cannot do hot deploy, but yes the general idea is to have something akin to POJOs with no extends/implements/throws from any framework and optional enablers to other frameworks in separate classes or module etc.

It has to be said though that OSGi is on a different branch of the IoC family tree to DI favoring frameworks.

- Paul

Reply via email to