I'm happy with Paul's proposal. However there is also another alternative:

1) Keep the org.apache.axis2.transport package name for all transports (as it is now in trunk). 2) Before creating the first release of the new transports (and therefore also before the next Synapse release; see point 3), we create a new Axis2 release 1.4.2, which will basically be 1.4.1 minus the old transports. Of course the persons volunteering to create that release may decide to include other critical fixes. 3) The next Synapse release will depend on Axis2 1.4.2 and the first release of the new transports. 4) In Synapse we implement the compatibility classes I suggested so that we maintain compatibility at the axis2.xml level (at least for one release cycle).

Advantages:
* We have a common package name (not a mix of org.apache.axis2 and org.apache.synapse) that is the same as the original one (before the Synapse transports were created). * Users of the transports (other than HTTP) have a better migration path from Axis2 1.4.1 to Axis2 1.5. Indeed, the fact that the JMS and mail transports are quite different from the old Axis2 versions will make it necessary for them to retest (and maybe rework) their application. If they can do that independently from the other changes in Axis2 1.5, it will probably make things easier for them. * The compatibility problem caused by the package renames is only a concern for Synapse, not for the whole Axis2 community. * Assuming that people from Synapse participate in the creation of the 1.4.2 release and do the work, we could include some fixes that are critical to Synapse.

Disadvantage:
* We can't change the dependency of Synapse trunk to 1.4.2 now, because this release doesn't exist yet. * Creating release 1.4.2 will probably trigger lots of requests to include various fixes that people consider important. We can't satisfy all these requests, in particular because the baseline for that release will be 1.4.1, not the trunk.

Andreas

On 2 oct. 08, at 19:29, Deepal jayasinghe wrote:


So how about this for a compromise:

1) We ship all the new transports in separate JARs

+1 and we can have a single jar containing all the transports as well
(thats working now)
2) We rename all the transports to a new package name

I am sorry I am not still convinced to do this change. :-\
3) We do Andreas' suggestion - just for HTTP - so that the old
axis2.xml will work
4) Synapse can ship all new transports - everything except the HTTP
transport which will be inherited from the current axis2 kernel.

Yes only for the synapse version that depends on Axis2 1.4.

-Deepal
Paul

On Thu, Oct 2, 2008 at 6:17 PM, Deepal jayasinghe <[EMAIL PROTECTED]> wrote:

I don't see any issue with backward compatibility.  This chage is
something in the axis2.xml, this will not break any code that users
have with them.

Thats exactly my point I should be able to upgrade Axis2 without
changing axis2.xml. If you work with default axis2.xml then you do not have any problem , however if you have change your axis2.xml then you
have to change that. That is the backward compatibility issue I am
talking here :).

If it was a API call then I can understand.  Also this change would
not effect generated code (AFAIK).



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to