Glen Daniels wrote:
Working on classpath stuff right now, but a few quick responses to points you raise here:

1) The idea for Modules, for instance, did not come from our users - I
 should know, because (IIRC) I was the first one to mention it back in
 2002! :)  There is a longer conversation here but I most definitely do
 NOT agree (esp in terms of infrastructure software like Axis) that we

That was a different time- we were architecting a new Axis version and OF COURSE we need to create stuff. We're NOT doing that now. Our users need stability, not creativity from us, especially when no one has asked for it.

shouldn't do useful stuff because users haven't asked for it specifically. Do you think IDEA would have all the cool refactoring that it does today if they'd only implemented stuff that was specifically asked for? As the experts in a particular area (Java
infra development, WS, etc) the developers of a given project are often
the source of the best ideas for making their software easier and more
 effective to use.  It's a balance.

Yes of course I know that. However, there's a time for everything. I'm happy to say we'll do this for a future version but I'm very concerned about taking on more changes at this stage given that we've made lots of changes already. So I'm taking a different view from David on that- just because we've made all these changes is hardly a reason to make more changes!

Every change needs to be rationalized by what problem it solves. With all due respect Glen you were checked out of Axis2 development for a long time. As you know "he who does the work makes the decisions" in open source and so we are where we are now. I have no objection to fixing what's broken. I have no problem with us dealing with the 400+ pending JIRAs *RAISED BY OUR USERS*. I do have a problem with changing things just because there's a different way to do it. I do have a problem with creating more grand solutions to problems that are not real problems of our users. If we didn't have 400+ pending JIRAs and a series of known real problems I'd feel differently about every new cool feature.

As for cloning the handler chain, if I'm interpreting you correctly we
absolutely did need to do that to support consistent processing semantics in the face of potential hot-deployments while messages are flowing, no?

No, not at all. We DO NOT allow hot deployment of modules and that means the chain cannot change at runtime. So the feature cannot be affected unless you have code that dynamically does it. Its possible but no one has done it yet: YAGNI. I'm not arguing to remove it; I just want a switch to say turn it off and leave it off by default. If someone wants it they can ask for it and voila they have it.

2) If you want to end up with a monolithic JAR which does RM and Security and Addressing and that's it, then fine we can just stop now.

I didn't suggest that; I suggested having mars for both of them but have them available in the axis2 core as that's what users want. Just observe the number of questions about "when will rampart be available for axis2 1.2?".

But I thought we were building a world-class WS-focused processing framework that scales from embeddable up through enterprise. If so, we need to make it sufficiently robust that it will not need major rearchitecting in the future. Also, I personally want it to be dead

WHAT? Are you claiming you won't come up with cool new features in the future?? No way :). Of course we'll have to keep tweaking it .. people are still tweaking httpd right?

BTW are you contradicting yourself by saying this is a major rearch? Later you say "it's not that much code" ..

simple to engage transactions, or to allow someone's WS-CAF extensions
 to work, or some company-internal extension using headers.  New stuff
is NOT going to stop coming down the pipe. Our stuff will either be sufficiently easy to evolve, or it won't.

It works now Glen. Let our *real users* (not the extensions we write; those that the users write) tell us they need a certain feature and we'll add it.

3) Any time you deploy a *service* you're already allowing user code to
 extend the system runtime.  Come to mention it, I could just build my
own handler framework inside my service implementation, couldn't I? Wouldn't that be the same thing? Also, services have access to the AxisConfiguration and can muck with it as much as they want.

Yes that last bit is a problem we need to deal with (and we've talked about it but never did it; its about protection of the system). I am not for making something that can be done now worse just because it would be cool to do it. Can you point me to threads on the user list (or a real customer case you were directly involved with) which has asked for modules to be deployed in a service? How many blogs have you read which said "Axis2 is great, but I really wish it was more flexible in blah"?

I feel the same way about service-specific handlers.

I wish the IBM guys were around (they seem to have checked out; they've gone radio silent and don't see the commits going either). I know one of the major concerns they had about Axis1 (and one of the reasons they left it) was exactly this reason: that it allowed arbitrary extensions to be deployed by users without having the app server have control over such things.

Oh, and 4) it's not that much code, and wouldn't break existing stuff.

Sorry, that's NEVER a good reason to do it for a system we're trying to make into a mature product. What known PROBLEM does it solve? We're wasting all this time because we're refusing to add *ONE MORE STRING* to axis2.xml. Paul, next time just add it and commit! (And call the phases A/B/C/D so that no one can complain.)

Sanjiva.
--
Sanjiva Weerawarana, Ph.D.
Founder & Director; Lanka Software Foundation; http://www.opensource.lk/
Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
Director; Open Source Initiative; http://www.opensource.org/
Member; Apache Software Foundation; http://www.apache.org/
Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/

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

Reply via email to