Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Axis or WSAD Web Services

 
Chad McGowan
Ranch Hand
Posts: 265
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I am developing a web app that will need to consume various web services. I have been looking at Axis and its wsdl2java tool to develop the client stubs to access these services.
I will be developing this using WSAD 5.0 and I see that there is a built in wizard that will also develop client proxies, given the wsdl.
I am trying to find the differences and pros/cons between using these two approaches.
Has anyone used the wsad tool? How does it compare with Axis? What are the differences between the two?
Your input is appreciated!
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The main differences between Axis and WSAD are :
- WSAD is easier to use, because it's an IDE, so it includes some interesting features
but :
- WSAD 5.0 is based on Apache SOAP 2.3. So the client you will generate will use Apache SOAP libraries, which are a bit deprecated since Axis has been released.
 
Chad McGowan
Ranch Hand
Posts: 265
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
One interesting thing that I am finding: The IBM generated client( using Apache Soap) is accessing a service about 4 times faster than the Axis generated client. Is part of this because the Axis client is using rpc Call objects, where the SOAP 2.3 client is using Message.send().
There seems to be more overhead with the Axis client.
Is that valid?
 
JeanLouis Marechaux
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well, I'm not fully agree with that.
I think (and I hope !) the WSAD client is also a RPC one if your WSDL is RPC.
 
Chad McGowan
Ranch Hand
Posts: 265
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No, the wsdl was document. Sorry for the confusion! Axis still creates the rpc classes, but WSAD using Apache Soap did not.
Another difference I am seeing is that Apache soap is using DOM, but Axis is using SAX. I just can't figure out why I have better performance from Apache soap.
 
kfay
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You mention performace with DOM vs. SAX. With XML parsing, performance depends on the size of the XML document and how it's parsed. Xml Documents can be parsed two ways, with DOM or SAX. With SAX, an XML document is interpreted procedurely (line by line), whereas DOM loads an xml document into memory right away and queries the elements/attributes as needed.
 
Chad McGowan
Ranch Hand
Posts: 265
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Mike Vick:
You mention performace with DOM vs. SAX. With XML parsing, performance depends on the size of the XML document and how it's parsed. Xml Documents can be parsed two ways, with DOM or SAX. With SAX, an XML document is interpreted procedurely (line by line), whereas DOM loads an xml document into memory right away and queries the elements/attributes as needed.

You are correct, but why the performance difference on soap responses that are exactly the same size? Is DOM parsing actually faster?
 
Manas Ahlaad
Ranch Hand
Posts: 165
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Chad,
where did you access the service from? from a remote location or from the WSAD console given in which case it will obviously be faster.
if both the clients access a remote service , then SAX is the culprit.
Let us know,
Manas
 
Chad McGowan
Ranch Hand
Posts: 265
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The tests I ran were both accessing the same remote service. But is SAX the culprit, or is it something else in Axis?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic