What are your suggestions for Java Web services servers? Which is better in your opinion -- Apache/Axis, Sun One,...
WebLogic or WebSphere?
<unbiasedAssessment> Since you asked, I'll try to give an unbiased assessment.
<Axis> Apache Axis is a good open source implementation. It can be deployed in most app servers (it runs as a servlet). The tools are pretty decent, and it offers good extensibility features. It supports header processing. Performance and scalability are not its strong suit. Neither is interoperability for complex data types or Java collections. It supports JAX-RPC. It does not support JAXM. It supports multiple transport protocols. Axis is in beta. It's functionally complete. The final release should be available by the end of June.</axis>
Sun ONE does not include a Web Services platform. If you're using the Sun ONE Application Server (formerly known as iPlanet Application Server), you'll want to install Systinet WASP or Apache Axis. But perhaps you were thinking of the JAXM and JAX-RPC reference implementations (included in the JWSDP)? These are reference implementations (would you use the J2EE RI for production applications?). Both are early access releases. JAXM is functionally complete. JAX-RPC is nearly so. Final releases should be available by the end of June.</SunOne>
WebLogic Server 7.0 includes Apache Axis (see above assessment of Axis). WebLogic Workbench includes a different SOAP implementation. Services developed with Workbench can only be deployed in WebLogic. The tools are pretty cool. It's one of the few implementations that supports asynchronous processing. It did pretty well at the last interop lab. Both implementations are in beta. A converged final product should be available in Q4. </WebLogic>
<WebSphere> WebSphere uses Apache Axis (see above assessment of Axis). It has a bunch of additional tools. </WebSphere>
<MIA> You didn't ask about the other major SOAP implementations: IONA XMLbus, The Mind Electric GLUE, and Cape Clear CapeConnect. I won't press the limits of my ability to be unbiased by assessing these implementations. </MIA>
I suggest that you try multiple implementations to get a proper feel for the different options. One word of caution: performance is important, but not much help if it isn't combined with scalability. When testing these products, make sure you try it with multiple concurrent users. </atmAnswer>
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations.continue reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well.continue reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems.continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.