This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Web Services and the fly likes Why use Axis or Axis 2 when there is Metro etc? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Why use Axis or Axis 2 when there is Metro etc?" Watch "Why use Axis or Axis 2 when there is Metro etc?" New topic
Author

Why use Axis or Axis 2 when there is Metro etc?

Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
    
    1
Hi!
It seems like a lot of people still use Axis or Axis2 and I have become increasingly curious: Why use Axis or Axis2 when there is Metro (GlassFish), Apache CXF etc etc?
Thanks in advance!
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41124
    
  45
Counter question: why use Metro if you already have Axis2 working nicely?


Ping & DNS - my free Android networking tools app
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
    
    1
Hi!
Of course I would not consider ripping Axis out of an existing system to replace it with Metro, Apache CXF or something else just for the sake of not using Axis.
I take it that Axis2 is, or is on its way to become, legacy software and if one has a choice, the only motivation for using Axis2 is having previous experience with it.
What I was trying to get at is: When I am considering a web service solution for a new project, is there any area in which Axis2 excel that would make me consider Axis2 instead of other alternatives?
Best regards!
Chintan Rajyaguru
Ranch Hand

Joined: Aug 19, 2001
Posts: 341
One could also ask, why use anything else when Axis is around for a long time as [sort of] a standard web service tool? But I do agree with you purely based on personal choice and other observations.

My problems with Axis:
1. EJB based endpoints are difficult to implement
2. It doesn't follow the JAX-RPC packaging structure
For more insights, see here.

On the other hand,many tools that support web service, use Axis behind the scene. For example, Vitria, an integration tool, uses Axis. Informatica PowerCenter, an ETL and data integration tool, uses Axis. Sometimes, to interoperate with these tools, you have to use Axis. In one of my projects, we wanted to invoke a web service on Vitria from WebSphere but we had an XML type that was only supported in Axis. We couldn't use WebSphere JAX-RPC implementation.

When should you choose Axis?
1. If you want a light weight web service container
2. When you want to or have to package the web service container with your application. Remember, you can package Axis with your web app and deploy it in [say] WebSphere. This way, your code won't use WebSphere web service container, it will use Axis

Metro and Glassfish are great tools. In fact, that is what I use when I am not bound by my client's requirement to use something else. It's just that Axis got more attention as the early entrant in the market. Plus, there is a ton of 'how to' available on using Eclipse + Axis.

ChintanRajyaguru.com
SOADevelopment.com - Coming soon!
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41124
    
  45
Ivan Krizsan wrote:I take it that Axis2 is, or is on its way to become, legacy software

Why? With the uncertainly about Sun's future, and thus all software projects that are closely associated with Sun, I think there's a bigger chance that Metro will become a legacy piece of code. IMO, that's still unlikely for both projects, though.
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
    
    1
Thanks a lot Chintan for the answer!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Why use Axis or Axis 2 when there is Metro etc?
 
Similar Threads
how to build a soap response
Web Services Security in tomcat6
Apache CXF?
new to web services
list of services deployed and running in server