Hi Amila,
Amila Suriarachchi wrote:
On 7/27/07, *Dennis Sosnoski* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
My devWorks article comparing ADB, XMLBeans, and JiBX data binding
with
Axis2 has now been published:
http://www.ibm.com/developerworks/webservices/library/ws-java3
<http://www.ibm.com/developerworks/webservices/library/ws-java3> I
*am*
the primary developer for JiBX, but tried to give a fair
representation
of all three frameworks in the article. It also includes full sample
code, for both the current 1.2 release and the in-progress 1.3
release.
First of all I would really thank you to writing this article, since
this would help a new person to relay understand the things and
getting started. And also It would be nice this article base on Axis
1.3 release.
Thanks! Unfortunately, the article is based mainly on the 1.2 release
since it was submitted for publication two months ago. I did update the
code to include samples for Axis2 1.3, and added a sidebar on the ADB
and XMLBeans sections discussing the problems which were present in 1.2
(which I argued strongly in favor of correcting at the time with a 1.2.1
release) but fixed in 1.3.
I would like to express my ideas regarding some of the things you have
mentioned about the ADB.
1. On the down side, the ADB unwrapped support is still somewhat unstable
see the wsdls in the these locations [1],[2] . I could generate the
code for all wsdls
(i.e doc/litwrap, doc/litbare, rpc/lit Axis2 1.3 RC2) with ADB
unwrapping and invoked sucessfully. So ADB fully support the
unwrapping for all those scenarios.
You're right, with the 1.3 release coming the comment about ADB
unwrapped support being somewhat unstable no longer applies. I'll ask to
have that removed from the Summary.
2. ADB also offers some enhanced features not currently available with
the other data-binding frameworks, including automatic attachment
handling.
better you would have included this part in conclusion as well. since
this is a really distinguish feature.
True for now, though I'm planning to add attachment handling for JiBX
soon. But I'll add this to the Summary.
3. In the current Axis2 1.2 release, these limitations include schema
features, such as compositors with |maxOccurs="unbounded"|, schema
definitions with |attributeFormDefault="qualified"|, and some similar
variations
All these problems are solved in Axis2 1.3 RC2. ADB now supports,
minOccurs, maxOcuurs full in Sequence and Chioce level and
attributeFormDefault='qualified' as well.
And also it has the follwing featues as well
1. Union,list, restriction (pattern,enumeration) type support
2. QName support to attributes and elements,
3. Complex type extensions hence polymorphysum
4. AttributeGroup, Group references support,
if you come across any issues regarding these please log a jira.
I added the sidebar as the article went to publication, stating that the
unwrapping issues have been corrected in Axis2 1.3. The article was
written before these problems were corrected, and it's too much effort
for me to completely rewrite it based on the 1.3 code - but even now the
1.2 release is the latest full release available.
4, ADB code is usable only for Axis2 Web services
Although it is not impossible to use ADB in ther web services (You can
run the ADB generated code by adding axis2-adb.jar axi2-kernal.jar and
AXIOM jars to class path. can create the ADB bean objects by parsing
the stream reader to parse method and serialize using serilize method.
please see[3]) this is not straight forward as other data binding
frameworks like jibx,xmlbeans and jaxbri.
On the other hand When someone choosing a databinding framwork to use
with axis2 this should not be an issue.
I agree - so presumably you don't object to my saying that "ADB code is
usable only for Axis2 Web services", right? :-)
Anyway if you do some Axis2 traning (which is really good in promoting
Axis2) better if you prefer to use Axis2 1.3 (which will release soon)
rather than Axis2 1.2. Axis2 will provides better full stack support
(i.e security, RM and addressing) with relevant Rampart and sandesha
modules and other features than Axis2 1.2.
So using Axis2 1.3 would give a better user impression regarding Axis2
than Axis2 1.2 which is good for Axis2.
I agree completely, and I've already revised my sample code to work with
1.3. I did have bad experiences trying to use 1.2 for training purposes,
since (1) many of the features I used in my samples were broken, as
discussed in the article, and (2) the lack of Rampart support for weeks
following the 1.2 release meant no WS-Security handling could be
demonstrated. I ended up using 1.1.1 for classes in April and May
because of these issues. Fortunately, 1.3 looks like it'll be much more
solid than 1.2 - it's done well with everything I've tried so far,
though I haven't tested WS-Security handling with the current Rampart
builds yet.
- Dennis
thanks,
Amila.
[1]
http://131.107.72.15/SoapWsdl%5FBaseDataTypes%5FXmlFormatter%5FService%5FIndigo/
[2]
http://131.107.72.15/SoapWsdl%5FComplexDataTypes%5FXmlFormatter%5FService%5FIndigo/
<http://131.107.72.15/SoapWsdl%5FComplexDataTypes%5FXmlFormatter%5FService%5FIndigo/>
[3] http://wso2.org/library/2068
While I'm promoting my own stuff, I'll also mention that I'm
planning a
trip to Australia in early September for on-site consulting and
training
visits (see the Axis2 training course outline:
http://www.sosnoski.com/companys/axis2class.html), and will follow-up
with another trip to the U.S. later in the (northern hemisphere) fall.
Visits to other parts of the world can also be arranged... email me
directly if interested.
- Dennis
--
Dennis M. Sosnoski
SOA and Web Services in Java
Axis2 Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
--
Amila Suriarachchi,
WSO2 Inc.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]