JAX-RPC 2.0, a planned upgrade to a Java specification for use in Web services and remote procedure calls in Java, is getting a name change to JAX-WS, Sun Microsystems acknowledged on Wednesday.
The JAX-RPC name, which stands for Java API for XML-based RPC, is misleading because developers assume it is only about RPC, according to Doug Kohlert, a Sun staff engineer, in his blog this week. “By renaming JAX-RPC to JAX-WS, we can eliminate this confusion,” Kohlert wrote. JAX-WS stands for Java API for XML Web Services.
JAX-WS will be different than JAX-RPC 1.1 because it uses the JAXB (Java API for XML Binding) specification for data binding. This has introduced source compatibility issues with JAX-RPC 1.1, involving different code and schemas. “Although the renaming does not ease this migration, it does let the developer know that these are two separate technologies, hence the more difficult migration is more palatable,” according to Kohlert.
The renaming also eliminates a requirement for binary compatibility between the two specifications; thusly, developers of JAX-WS 2.0 can rid APIs of legacy methods and interfaces, and focus on a new set of APIs that are easier to understand and use, Kohlert wrote.
JAX-WS 2.0 is slated to be part of the J2EE 5.0 specification in 2006. Another Sun official downplayed differences between the two specifications, noting JAX-RPC 1.1 also will be supported in J2EE 5.0.
“All the JAX-RPC 1.1 code will continue to work in J2EE 5.0,” said Eduardo Pelegri-Llopart, a Sun Distinguished Engineer. He also said confusion created by the JAX-RPC naming was “not a big deal.”
A Java user with Javalobby, an online Java developer community, was not impressed with Sun’s JAX-RPC technology. “I honestly don’t know how many people actually use JAX-RPC and its various methods,” said Matthew Schmidt, vice president at Javalobby. Schmidt said he prefers to use alternative technologies from organizations such as Apache.
“Generally, I just didn’t find [JAX-RPC] very easy to use. We found other tools that were easier to set up both on the server side and on the client side,” Schmidt said.
But Peligri-Llopart defended the specification.
“JAX-RPC is the core API for doing Web services in J2EE, so when you look at BEA’s or Oracle’s or Sun’s or IBM’s, or any products based on J2EE, they’re all using JAX-RPC for Web services communication,” Peligri-Llopart said.