Jochen is correct, but his answer may not be as complete as you might like.

Apache XML-RPC implements the XML-RPC specification.
See http://www.xmlrpc.com/.

XML-RPC is a simple, lightweight, protocol for invoking RPCs using XML. You can think of it as a precursor to SOAP. (Actually, it's a branch from the original SOAP tree.) There are a number of implementations of XML-RPC out there, but it has no support from any major vendors. If your goal is to implement a simple integration project where you control both sides of the equation, you'll find XML-RPC simple and easy to use. If your goal is to enable interoperability with heterogeneous systems, then you should use a SOAP/WSDL implementation instead. SOAP and WSDL will enable interoperability with .NET, Java, C++, scripting languages, etc. And as Jochen says, if you need to sell it to your manager, you'll need to use SOAP/WSDL.
See http://www.w3.org/TR/soap/ and http://www.w3.org/TR/wsdl.

JAX-RPC is the standard Java API for SOAP and WSDL.
See http://java.sun.com/xml/jaxrpc/index.jsp.

Since JAX-RPC is a standard API (comparable to JDBC, for example), lots and lots of vendors implement JAX-RPC. Sun sponsored the JSR that defined the API, so it produced the reference implementation, which is distributed as part of the JWSDP.
See http://java.sun.com/webservices/jwsdp/index.jsp.

The Apache project that implements JAX-RPC is Apache Axis.
See http://ws.apache.org/axis/.

JAX-RPC is a required API within J2EE 1.4, therefore all J2EE 1.4-compatible app servers include an implementation of JAX-RPC. (e.g., BEA, IBM, Oracle, Sun, Sybase, Borland, JBoss, JOnAS, Geronimo, etc).

Most ESB products also include an implementation of JAX-RPC. (e.g., Cape Clear, Fiorano, Sonic, etc.)

A few folks also provide stand-alone JAX-RPC implementations (e.g., Systinet and webMethods). They run stand-alone or they can be hosted in your favorite servlet engine. (Similar to Axis and Sun's JAX-RPC.)

One reason why you might consider using Axis rather than Sun's JAX-RPC is that it's much more widely used. IBM, Oracle, Sybase, Borland, JBoss, JOnAS, Geronimo, Fiorano, and Sonic all use Axis or a derivative thereof. Axis also has a more vibrant community. For example, in the last few days the Axis discussion lists have received over 200 messages, and Sun's JAX-RPC list has received only 10 messages. I think Axis is easier to use than Sun's reference implementation, but you should try them both and decide for yourself.

Anne


On 8/23/05, Jochen Wiedmann <[EMAIL PROTECTED]> wrote:
On 8/23/05, Jyotishman Pathak <[EMAIL PROTECTED]> wrote:

>  I apologise beforehand, if this is not the right place to ask this
> question: but could anyone tell me the difference between Apache XML-RPC and
> JAX-RPC? Which one is more stable, used widely? When should I consider
> Apache's implementation as opposed to Sun's?

If you want it stupid, simple: Use Apache XML-RPC. If you want
something, that you can sell to your boss, take JAX-RPC. If it's
something in between: Try evaluating both.

In general, JAX-RPC is more powerful, but also much more complex to handle.

Jochen

--
What are the first steps on the moon, compared to your child's?

Reply via email to