Glen, I understand your sentiments, but I think you over-estimate how little I am personally able to contribute to Axis as it currently stands.
To be blunt, I have never managed to get a good understanding of the whole of Axis and so have had to limit myself to doing keyhole surgery without being sure of the impacts of what I was doing, which is very frustrating. Another symptom of my lack of understanding is that I haven't fixed a single Bugzilla bug. If I had a reasonable understanding, I'm sure I would have been able to fix a few bugs and be productive in adding function. This isn't a problem with my skills or experience - I've worked on a large piece of system software (CICS) for many years and feel fairly confident restructuring it and making changes to various components because I understand how it hangs together -- the problem is my *understanding* of Axis. Also, if the code had been better structured, I would have been willing to invest more time reverse engineering it to discover the underlying concepts, which is what I started doing when I wrote the architecture guide. However, I ran out of steam because the code is lacking the kind of conceptual integrity where each component has well-scoped responsibilities and clean interfaces to other components. For example, I can't answer simple questions like which components would need to be changed to support a transport protocol other than HTTP (although someone is now bound to pipe up with a succinct answer!). I hope this doesn't appear to be negative. Axis would never have got as far as it has without the stirling work of a number of key committers such as yourself and Doug, to name only two. But I want to make a stab at fixing this serious problem rather than wasting my time fiddling around in relative ignorance. I would like to make things better so that other newcomers can get a proper understanding and become productive quickly. I can't see any other way than doing some re-architecture. Glyn "Glen Daniels" <gdaniels@macrome To: <[EMAIL PROTECTED]> dia.com> cc: Subject: Re: Axis Re-architecture 12/06/02 14:07 Please respond to axis-dev Glyn et al: I'm all for clean architecture, and lord knows we went through several phases of trying to do this during the project. As various new people have come on and left, we've lacked some common mental models of how things should work, which has in part resulted in a less than completely modular/elegant system design (though frankly I don't think what's there is really that bad, except in certain areas). I really don't want to get down on you for being psyched about doing good stuff, Glyn, but I also think that this kind of message at this stage of development sort of contributes to the problems we've been having about team cohesion and timing. I really wish we could all pull together as a team and get 1.0 out the door, rather than going off in different directions pulling things into new shapes. It feels like we're all "Axis committers" working on 3 different projects and that is extremely uncomfortable for me. Related to this, I've also been sort of disappointed that people are putting in time to do all this refactoring and redesign on areas that (IMHO of course) do nothing for Axis' core functionality and getting 1.0 finished and out the door so we can start on the next version, when all of this becomes, I think, appropriate and encouraged. I think: - Bug fixing / interop is critical. - JAX-RPC compliance is critical. - TCK compliance is critical. - SOAP 1.2 compliance is slightly less important, but still critical. - Performance and ease of use are also in the fairly critical category, IMHO. I don't see much else (i.e. refactoring, code cleanup, etc) as being that critical right now, to tell you the truth. I guess I'm saying that I wish we could all spend our valuable brain and keyboard time doing 1.0-related things rather than branching off in new directions. Naturally, this is just my opinion and you should do what you feel is right. I'm sorry if this is less than perfectly written, I'm in the midst of a working group discussion while typing... --Glen ----- Original Message ----- From: "Glyn Normington" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, June 12, 2002 1:39 PM Subject: Axis Re-architecture > I plan to start some re-architecture work in a separate xml-axis/proposal > directory. I have discussed re-architecture with some other committers, but > few of them are keen to do anything prior to v1.0. I don't want to perturb > their progress, but I feel some revolutionary change is required (see [1]) > to position Axis well for the future. > > My aim is to build up a clean collection of subsystems along the lines > described by the architecture guide but with subsystem interfaces actually > represented properly in the code. I aim to introduce documentation and > tests as I go in order to maintain intellectual control and enable others > to join in. If this remains a one person effort, progress will be > relatively slow, but at least I may be able to demonstrate some facets of a > clean architecture to guide the future direction. > > As a consequence, my work on JAXM (or more accurately SAAJ) is regretfully > suspended but may need to be completed by others so that Axis can gain > JAX-RPC compliance. I don't expect this to significantly impact the overall > progress of the project as my enthusiasm for that piece of work was rather > lacking and progress was painfully slow as I hardly ever got round to > giving it time. There's not a great deal of raw coding to be done, but then > there is probably a SAAJ TCK to be passed, which involved negotiations to > get hold of the TCK and a reasonable investment of time to get it running > and more so to get a pass. I have committed a class diagram change into the > architecture guide which shows what mapping I planned for the fault-related > interfaces. This mapping is non completely obvious and certainly doesn't > match the current code (!). Perhaps a non-committer will step up to doing > this piece of work as a way of getting involved in Axis (hint, hint!) - I'd > gladly give advice and encouragement to anyone who is interested. Finally > regarding JAXM, I would like to apologise to dims publicly as he has been > the main encouragement for me to do anything on JAXM and I rather feel as > if I'm letting him down. I hope he'll understand my passion for pushing on > towards a clean architecture. > > Glyn > [1] http://jakarta.apache.org/site/proposal.html#decisions/branches >