The Best Java Web Services Technology for Developing Web Services

Hi,

I am new to Web services world.

I read the java web services page . there are more than 6 technologies.

JAX-WS,

JAX-RPC,

JAXB,

SAAJ,

JAXP,

WSIT,

XWS-Security

I went through several documents on web services.

I could not get a clear idea of which technolgy to use.

Which Java web service technology will be the best to develop web services independant of language, platform.

or is there any 3rd party implemetations available ? for rapid development of web services.

Could anyone help me !.

Thanks in advance.

Message was edited by:

Siva.Prakash

[658 byte] By [Siva.Prakasha] at [2007-11-27 2:26:44]
# 1
Of the list you included I would go with either JAX-WS or WSIT. WSIT will only run with Sun's Glassfish apperver. JAX-WS will run with other servlet containers.
dkohlerta at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2

Thanks for your kind information.

I have another Question ..

Is there any tool that will help me develop the (JAX-WS) based webservices.

or Provide some information on the tools that can be used to develop the stuff.

Any Third party tools or easy way of building it.

Thanks in advance.

Siva.Prakasha at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3
The best developemnt envirnoment for java web service is Netbeans 5.5 with JDK 6.
debdxa at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 4
Yes Netbeans 5.5 is the best. If you want to use WSIT or the latest JAX-WS it is easier if you use JDK 5 as JDK 6 has the an older version of JAX-WS in it. You can use JDK 6 with the latest JAX-WS or WSIT but you will have to use the endorsed directory mechanism to overwrite JAX-WS 2.0.
dkohlerta at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 5

> Which Java web service technology will be the best

> to develop web services independant of language,

> platform.

>

Java by nature is a cross-platform language, so if your focus is on the need for portability, the choisce of WS should not be a problem. However, each WS is best suited for paricular uses.

SAAJ, a low-level level API, offers much simplicity, but is not the first choice for programmers, as SOAP (Simple Object Access Protocol)messages need to be constructed piece by piece, making it a quite arduous code to program.

If you are not familiar with XML, your best bet would be to use JAX-RPC (Java API for XML-Remote Procedure Calls), as it hides the underlying detail from the programmer, in terms of SOAP and XML. The shortcoming with RPC-based WS is that it is "restricted to the local programming experience". Another failing is that assumes there is a network path- a reliability concern.

If your program will be contacting other services during downtimes, unlike JAX-RPC, JAXM is quite useful. However, your listing did not mention it, so I wont cover it.

JAXR is a client-side only API that acts as an interface between registries (not referring to JAXP)

I am not famiiar with JAXB, JAXP, WSIT or XWS-Security..

> or is there any 3rd party implemetations available ?

It depends on what platform you are used to. Assuming you are familiarized with the J2EE platform (now changed to Java EE SDK), the NetBeans IDE (either 5.5, 5.5.1 or the latest editiion) is quite useful. I am using 5.5.1, but have found that it is quite buggy, especially when adding WS operations, a core requirement of a WS. if you will be using to devlop a service for an immediate need, you may find the learning curve to be a bit high, in terms of getting to grips with how to use it. (Download link:

http://www.netbeans.info/downloads/index.php)

The IBM Autonomic IDE (or AIDE), based on the WSDM standard, includes 3 sub-tools, icluding the IBM Manageability Endpoint Builder which, according to their website, allows individuals to build endpoints to allow manageability interface exposure; Manageable Resource Browser and the IBM Manageability Endpoint Simulator. However, I'm not familiar with this IDE. (Download link: http://www.alphaworks.ibm.com/tech/aide/download)

The .NET Framework uses the Visual Studio IDE. For an unbiased comparison of J2EE and the .NET Framework in terms of WS, see http://www.webservicesarchitect.com/content/articles/hanson01.asp.

Apache Axis2, Geronimo and JiBX allows fast development of WS, or so the creators profess.

The PHP environment- you could try NuSPHERE PHPed. According to one website, with it you can develop a web service in under an hour.

I hope this was useful to you.

[Based partly on Topley, K. (2003) Java TM Web Services in a Nutshell: A desktop Quick Reference. 1st ed. California: O扲eilly & Associates, Inc]

da_wannabesa at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 6

The last post is very good with the exception of the recommendation for JAX-RPC. JAX-RPC is the first generation Java Web Services API. It has since been replaced by JAX-WS. JAX-RPC is focused on rpc/encoding which has been shown not to be the style/use of most web services developers which prefer document/literal, which is what JAX-WS is based on. WSIT is Sun's extension to the JAX-WS implementation which brings in interoperability with Microsoft's Vista and .NET. It included other WS-* technologies such as WS-ReliableMessaging, WS-Transaction, WS-Security, and more.

dkohlerta at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 7

> The last post is very good with the exception of the

> recommendation for JAX-RPC.

Many thanks for correcting me. I am glad to unlearn errors and know the proper things. Many thanks!

> based on. WSIT is Sun's extension to the JAX-WS

> implementation which brings in interoperability with

> Microsoft's Vista and .NET. It included other WS-*

> technologies such as WS-ReliableMessaging,

> WS-Transaction, WS-Security, and more.

Thanks for this info as well.

Reformer...

da_wannabesa at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 8

> It has since been

> replaced by JAX-WS. JAX-RPC is focused on

> rpc/encoding which has been shown not to be the

> style/use of most web services developers which

> prefer document/literal, which is what JAX-WS is

> based on.

For review purposes, and as I'm doing a tertiary project on WS, could you point me to a reference or two on the above point? I was not aware that JAX-WS was an update to JAX-RPC, thinking they were separate protocols. The point about style/use v document/literal will be quite useful as well.

Many thanks, again!

Reformer...

da_wannabesa at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 9

Sure, you can read my blog entry about the rename from JAX-RPC 2.0 to JAX-WS 2.0 to learn a little more on why there is both a JAX-RPC and a JAX-WS (http://weblogs.java.net/blog/kohlert/archive/2005/05/jaxrpc_20_renam.html).

The WS-I Basic Profile 1.1 is really what finalized the demise of rpc/encoding. You can read the BP here: http://www.ws-i.org/Profiles/BasicProfile-1.1.html

You can read more about JAX-WS at the JAX-WS project page on java.net: http://jax-ws.dev.java.net

dkohlerta at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 10
Thanks!I just saw this 'posting'. I'll be sure to read it, and will be sure too to make reference to you in my article.Thanks again!
da_wannabesa at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 11
Hi!and in the end, dont forget to use soapUI for testing your Web Services!check out http://www.soapui.orgregards,/Oleeviware.com
olemata at 2007-7-12 2:36:32 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...