axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Axis Re-architecture
Date Wed, 12 Jun 2002 14:03:50 GMT
It's hard to argue with Glyn here.  I've been staring at chuncks of this
for months, and feel like I'm just treading water.  I'm still convinced
that we can fix this through smaller refactoring steps.  It DOES help to go
through the code, see where there is too much dependence on internal data
by using classes, and move function back into classes that own data.
(hence refactoring... ok ok... so now everyone knows what my real goals are
:-)  Over time I expect the see the trees for the forest (better) and be
able to make more significant changes if necessary (and if agreed upon).


Richard A. Sitze  
CORBA Interoperability & WebServices
IBM WebSphere Development

                      Normington/UK/IB         To:          
                      M@IBMGB                  cc:                                       
                                               Subject: Re: Axis Re-architecture         
                      06/12/2002 08:38                                                   
                      Please respond                                                     
                      to axis-dev                                                        


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

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.


                      "Glen Daniels"

                      <gdaniels@macrome        To:       <axis-dev@xml.>
            >                 cc:

                                               Subject:  Re: Axis Re-
                      12/06/02 14:07

                      Please respond to


Glyn et al:

I'm all for clean architecture, and lord knows we went through several
of trying to do this during the project.  As various new people have come
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
cohesion and timing.  I really wish we could all pull together as a team
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)
nothing for Axis' core functionality and getting 1.0 finished and out the
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,

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
is right.

I'm sorry if this is less than perfectly written, I'm in the midst of a
group discussion while typing...


----- Original Message -----
From: "Glyn Normington" <>
To: <>
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,
> few of them are keen to do anything prior to v1.0. I don't want to
> their progress, but I feel some revolutionary change is required (see
> 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
> 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
> clean architecture to guide the future direction.
> As a consequence, my work on JAXM (or more accurately SAAJ) is
> 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
> progress of the project as my enthusiasm for that piece of work was
> 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
> 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
> architecture guide which shows what mapping I planned for the
> 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!) -
> 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
> towards a clean architecture.
> Glyn
> [1]

View raw message