Neil Bartlett wrote:
1. Do we expect some of our bundles to run in
a non-osgi environment?
This should come naturally from the principle of minimizing
dependencies. If certain bundles contain code that can run outside
OSGi, then they would quite naturally not have a runtime dependency on
OSGi interfaces.
I think it's important not to reinvent the wheel however, so if a
bundle doesn't deal specifically with OSGi then we should question
whether it belongs in ECP or would be better brought in from elsewhere.
For example rather than reimplementing a JDBC framework we should use
Spring's.
I agree with you and share the goal of not taking a NIH attitude,
however reuse of this type will be hard for client code. Using Spring
as an implementation choice for ECP work is great and would be a path I
would take, but I can't see us directly exposing Spring's APIs to
client code. As we would be leaking our dependencies to them.
2. Will we have integration with other
platform environments like JEE, JME and Portals?
There are two issues here. One is embedding of OSGi/ECP in other server
products, the other is the ability to run legacy code such as EJBs
within ECP.
I think that the first of these should NOT be a priority. Firstly there
are some hard technical limits such as the fact that (inside J2EE) we
are forbidden from creating ClassLoaders, SecurityManagers and threads,
and we're not allowed to access the filesystem. It's hard to see how to
run OSGi given those constraints.
Secondly, as I understand it, this project is all about a break from
the past. ECP offers a substantially simpler (and yet more powerful)
platform than J2EE. Early J2EE servers did not have to be embedded
within a CORBA product, so ECP should not have to live inside
JBoss/WebLogic/whatever.
However I do think it would be a great to allow some kind of
compatibility layer to run customers' legacy EJBs, MDBs, etc. This
would significantly reduce the risk of adoption and the cost of
migration.
The equinox project has been exploring down the path of packaging the
OSGi framework in a WAR file and then deploying that to a web
container. The flip side of the coin is to do what Exadel has done
which is to embed a web container in the OSGi framework. Which is the
"one true way" to the enterprise? Being able to piggyback on some of
the services JEE provides has immediate bang for the buck, and if it can
be done I think we should enable such behavior. However, I don't see
any value in creating another JEE server with an OSGi core. ObjectWeb
and Geronimo are both looking at doing that. Instead because they are
looking at it, this may become a moot issue as those groups get further
along and we can use their bundles to provide a bridge layer of JEE
services.
3. What Eclipse tools or other projects are
we looking to build on to bring about Enterprise Components world
domination 2.0 (patent pending)?
I can't comment on this as I'm not familiar with WTP.
- Neil
|