[prev in list] [next in list] [prev in thread] [next in thread]
List: axis-c-user
Subject: Re: Is Axis(C++) stable and mature
From: Alexei Dets <adets () idsk ! com>
Date: 2004-10-01 16:02:41
Message-ID: 200410011202.41678.adets () idsk ! com
[Download RAW message or body]
Hi!
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 memory.
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.
:-)
Alexei
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic