Greetings all,

I've been working on a version of the Geronimo Daytrader performance benchmark to leverage the enterprise OSGi application programming model. I've been doing this work in my sandbox under Apache Geronimo (https://svn.apache.org/repos/asf/geronimo/sandbox/jbohn with the most recent changes under daytrader-bp-new).

I'd like to find a more permanent location for this work and get it out of my sandbox.

Here is a brief description of what I have thus far in sandbox:
- A restructured Daytrader to support an enterprise OSGi application programming model including blueprint, web container, jndi, jpa, etc... - To further support this programming model I have also reorganized the classes, packages, and bundles. - Simplification and removal of content not yet available in the enterprise OSGi application programming model such as EJB support and removal of Geronimo specific artifacts such as the plugins. - Refactoring the way components gain knowledge of each other and interact to support blueprint concepts such as reference list and reference listeners. - Support for just two different persistence mechanisms - direct JDBC and direct JPA which are currently included in the enterprise OSGi application programming model.
- packaging using the Aries Application concepts.

After seeing the recently introduced Apache Aries Blog Sample and its assembly for Equinox it encouraged me to do something similar for Daytrader so that I could get this running with Apache Aries. I now have a further subset of my sandbox work that could be added as a peer to the blog-sample which includes just the JDBC persistence mechanism, is hard-wired to Derby, and includes an Equinox assembly to run it. This is not currently in any svn because I did it on my local repository under aries/trunk/samples with hopes of checking it in there.

I think it is time to get this code to a better home and I'm currently thinking that aries/trunk/samples is a good place to start. For now I would check in just the version with JDBC and the equinox assembly. However, I would extend this with other capabilities already in my sandbox for JPA persistence, the Aries Application packaging, etc... as these become available in Aries.

I'm interested if others agree with this approach, if it seems like a worthwhile endeavor, and if it is acceptable to include this code under aries/trunk/samples.

Here are the current discussion points and concerns as I see them:
1) Duplication of code between Geronimo and Aries if I check it into Aries. However, the code is already split from the JavaEE Daytrader version and I doubt it would be possible to fully merge the code base and keep both the JavaEE and Aries versions working from a common code base without cluttering up the code with environment checks. So, even if we keep it all in Geronimo I think we will still end up with multiple code streams. 2) The Equinox assembly version for DayTrader currently doesn't exploit anything directly in Apache Geronimo. It depends upon the pax web container among other things. It is certainly my intention that this should run on Geronimo when Geronimo supports osgi rfc 66 among other things. However it seems strange to include this in Geronimo at this point in time. 3) Daytrader has always supported running in multiple web containers. I think moving this enterprise OSGi application version of Daytrader to Aries further supports this goal and ensures that it won't become too tightly coupled to Geronimo.

My apologies for the length of this description. Please let me know your thoughts - especially if you have any concerns with checking this version of Daytrader in under https://svn.apache.org/repos/asf/incubator/aries/trunk/samples

Thanks,
Joe

Reply via email to