My opinion: The Axis2 kernel should not be dependent on where the app will be deployed (i.e. servlet, OSGI, etc). The primary purpose of Axis2 is its SOAP stack functionality. Even the additional data binding functionality (i.e. ADB, XmlBeans, etc) is secondary. My guess is that the majority of users aren't using Axis2 in an OSGI container. So having OSGI logic in Axis2 kernel unnecessarily adds dependencies that most users will not need. OSGI is already complex enough and has its own limitations, and we probably don't want to change Axis2 to adapt too much to OSGI, especially if OSGI itself may change later. But, to make it easier for OSGI users, it might be best to design the Axis2 kernel to be flexible enough so that developers can configure/customize it at runtime and run in their container of choice. This would allow developers to do things like "inject" a custom adapter/handler class via a Spring-like mechanism to override the default Axis2 adapter/handler for a given process. The design might be similar to how Eclipse enables "extension points", although I might not go as far as making it that complicated. My two cents... -Vinh
________________________________ From: Saminda Abeyruwan [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2008 8:30 AM To: axis-dev@ws.apache.org Subject: Re: Extensions to Axis2/Java deployment engine ================================================= 1. When aar/mar behavior is mimicked in an OSGi bundle, these bundles be able to live in different class spaces. ex: If the bundles needed different hibernate versions they can be easily plug into different class spaces. 2. We will be able to have multiple version of Axis2 instancres running inside same JVM. This require the need of minimizing System properties. 3. Axis2 will be able to initiate same transport with different versions. This will require proper integration of OSGi services. I haven't touched this area yet, otherwise whole situation will be overwhelming. 4. OSGi life-cycle support. This will give the ability to start/stop/install/update/uninstall bundles. ex: I have myModule.jar which would mimic myModule.mar. We will be able use the above actions to to manipulate the AxisModule as we need. 5. Once a user has written a bundle (which mimic aar/mar/transport/etc), they just need to upload them into a "Axis2 bundle repository", where the community can search them and install them into there system, without shutting down the running system. 6. OSGi event framework. When bundle is (aar/mar/transport/etc) install/started/updated/uninstall, using OSGi events other bundles can change there behaviour. 7. When bundle are properly designed, one will be able to deploy these bundles in any OSGi environment. Most of the app servers are in the path of supporting OSGi. All we have to do is to drop our bundles in their repositories and start them 8. User can use resources (html/jsp/ etc) needed for aar/mar in bundles. Using HttpService (impl may be native or provided) we will be able to expose them. Equinox has provided some cool bundles, which can be used all OSGi impls such as "servlet-bridge". 8. Once the ConfigurationContext become an OSGi service, any bundle can access it and use it. 9. People will be able to use OSGi registry to register POJOs as OSGi services and make them as web services (http://www.knopflerfish.org/releases/current/doc/bundledoc/index.html) 10. People would need minimum effort to integrate into OSGi powered Spring etc. ================================================= In Synapse point of view. 1. Mediators can be written as OSGi bundles. When you start the bundle, the proper factory is called and build the relevant object model. 2. Different version of same mediator is highly possible. i.e two mediator can live in two different class spaces. 3. You will be able to remove Sun service providers facility of loading extension to bundles, which will be support in all Java implementations. 4. Synapse guys like embedded devices ? Thank you! Saminda On Fri, Jun 13, 2008 at 6:11 PM, Asankha C. Perera <[EMAIL PROTECTED]> wrote: Saminda Main aspect of OSGi is version and modularity Can you list the top 5 advantages for Axis2 end users (who develop services, or develop clients that consume services), and the top 5 advantages for those who embed Axis2 (such as Apache Synapse etc). I think this would be very valuable information for me to consider your suggestion, and assess the impact on Apache Synapse I am really appreciate if Axis2 folks comment on prior. Looking forward to your reply to comment further asankha --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Saminda Abeyruwan Senior Software Engineer WSO2 Inc. - www.wso2.org