You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Glyn Normington <gl...@uk.ibm.com> on 2002/10/24 10:28:10 UTC

Architectural improvements

Given the perturbation to Axis proposed  by James's async. plan, it is an
appropriate time to gauge whether or not proposals (e.g. [1], [2]) for
architectural improvements are likely to be accepted. Either one would
require significant involvement from multiple committers, so I must admit
to being pessimistic given that the prevailing tone of the project
continues to be code-centric.

But let's have the discussion now so we can either plan to improve the
modularity of Axis or accept that this isn't going to happen in the
foreseeable future. Currently, I feel that this thread needs tying up -
especially as I'm hoping to move jobs in the next few weeks and will then
have (even) less time to give to Axis.

Thoughts?

Glyn
[1]
http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-axis/proposals/arch/docs/architecture-guide.html
[2]
http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-axis/proposals/arch/docs/modular-build.html


Re: Architectural improvements

Posted by James M Snell <ja...@us.ibm.com>.
Glyn,

Responding to your points in [1]


   1. Configuration
      I agree that there are some big problems with the current mechanism. 
 Not only does the engine mutability cause problems, the design pattern is 
a bit unnatural.  My recommendation would be for us to create an 
AxisEngineFactory and takes an EngineConfiguration parameter.  The factory 
would return an immutable, configured engine.

    AxisClient client = 
AxisEngineFactory.createEngine(configFactory.getClientEngineConfig());
    AxisServer server = 
AxisEngineFactory.createEngine(configFactory.getServerEngineConfig());

  2. Pivots
     My Internal Message Exchange proposal will completely remove the idea 
of a "Pivot".  Rather, Transport and Providers will each implement the 
MessageExchange interface.

  3. Fault Handling 
     I agree that this really isn't useful.  Unfortunately, this type of 
behavior has been included in JAX-RPC handlers.  Not sure what we can do 
here.

  4. MessageContext
     I see a number of changes that can be done with Axis' message model.
        a) MessageContext needs to be serializable
        b) The Message object current relies directly on the SOAP 
implementation.. that needs to be reversed.  We need the SOAP stuff to 
rely on the abstract message classes, not the other way around.  I am 
currently considering a proposal for this that I won't introduce until 
after the async stuff is done.  If you'd like to chat about it, please 
give me a call.
        c) The programming model for getting the message in specific 
formats should be improved, the current model is a bit wierd to work with

[1] 
http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-axis/proposals/arch/docs/architecture-guide.html

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

Glyn Normington/UK/IBM@IBMGB wrote on 10/24/2002 01:28:10 AM:

> Given the perturbation to Axis proposed  by James's async. plan, it is 
an
> appropriate time to gauge whether or not proposals (e.g. [1], [2]) for
> architectural improvements are likely to be accepted. Either one would
> require significant involvement from multiple committers, so I must 
admit
> to being pessimistic given that the prevailing tone of the project
> continues to be code-centric.

> But let's have the discussion now so we can either plan to improve the
> modularity of Axis or accept that this isn't going to happen in the
> foreseeable future. Currently, I feel that this thread needs tying up -
> especially as I'm hoping to move jobs in the next few weeks and will 
then
> have (even) less time to give to Axis.

> Thoughts?

> Glyn
> [1]
> http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-
> axis/proposals/arch/docs/architecture-guide.html
> [2]
> http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-
> axis/proposals/arch/docs/modular-build.html