axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Horti, Andras" <>
Subject AW: Is Axis(C++) stable and mature
Date Mon, 04 Oct 2004 06:05:58 GMT
8.) Internally all strings must be handled as Unicode (otherwise you can forget projects using
different character sets).

-----Urspr√ľngliche Nachricht-----
Von: Alexei Dets [] 
Gesendet: Freitag, 01. Oktober 2004 18:03
An: Apache AXIS C User List
Betreff: Re: Is Axis(C++) stable and mature

On Friday 01 October 2004 05:56, John Hawkins wrote:
> I would like to disagree with that....
> We have four major projects that are using the code as is - we still 
> need to make a few additions  - however, they are happy with the results so far.
> Yes, the project needs to include more function - but this will 
> happen. If you have specific requirements then please shout and we 
> will do our best to accomodate.

Axis C++ is not even nearly of production quality at least because of:
1) Very active development that causes nearly everyday API and behaviour changes, new bugs
and bugfixes etc. - unfortunately Axis C++ has no stable version at all (see below).
2) Latest "stable" 1.2 is UNUSABLE for everything except simple demos: 
transport layer is _completely_ broken and is usually unable to exchange SOAP messages bigger
than ~2K. 
3) Axis C++ currently is a mess of C & C++ code. In particular this leads to memory allocation/deallocation
problems (AFAIK Axis C++ has tons of memory leaks). Also this complicates C++ coding a lot
because instead of strings and vectors users are forced to deal with plain C data types.
4) Axis C++ doesn't support ref/href/multiRef that are recommended  for SOAP messages and
are _default_ at least in Axis Java (that seems to be one of the most popular SOAP implementations).
This means that interoperability sucks, there is a very good chance that you'll not be able
to communicate with another side.
5) Axis C++ has problems in the SOAP faults processing.
6) Axis C++ has nearly NO documentation. And what it has is partially incorrect.
7) Fortunately, Axis C++ developers perfectly understand the main problems of the current
Axis C++ API & design. Unfortunately, to solve them major rewrite is planned that will
in turn require user application changes. Probably major changes.

In the other words - if you are ready to actively _develop_ Axis C++ then may be you can use
it for some projects. But prepare that this means that your project will not become stable
until Axis C++ become stable. So, if you project release date is somewhere around 2006 (or
later) you can probably start with Axis C++ now but not otherwise. Axis C++ is very promising
but it is not mature yet, it is growing and changing.

As for me, what I want to see in Axis C++:
1) Redesign Axis, implement native C++ API in the whole project. This means ONLY new/delete
for memory allocations, NO char* etc. C++ (STL) data types instead - string, vector etc.
2) Get rid of memory leaks. Probably switching to C++ will help a lot in this. 
Document memory management model in Axis - who, when & how should allocate and deallocate
3) Interoperability, more functions, better standards compatibility. 
ref/href/multiRef as the first priority. Also there are some other interoperability issues.
4) _Stable_ release with 1,2 & 3.



View raw message