Two Laptop Bag
The moose likes Web Services and the fly likes Query on Interopability Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Query on Interopability" Watch "Query on Interopability" New topic

Query on Interopability

Dinesh Sundrani
Ranch Hand

Joined: Mar 21, 2006
Posts: 78
Hi Leonard, Sam,

Do we forsee any interopability issues in using the REST Architecture?

For example, We have a resource deployed in a heterogeneous environment using the ROA Architecture, the resource returns a custom (.Net) object. Our Java Struts Client makes a GET request to the resource and is returned the Custom object. So how well are autotying issues handled for these kind of web services or are we back again with the same casting issues that we find in our traditional web services when it comes to using custom return types and parameter values.

Dinesh Sundrani
SCJP 1.5 [86%]
SCWCD [95%]
SCDJWS [98%]
Peer Reynders

Joined: Aug 19, 2005
Posts: 2933
In my opinion the interoperability problems that you are describing are of your own choosing. If you desire to publish an interoperable representation then do so, for example through a reasonable XML representation that complies with a publicly available schema. This may require that your forego the convenience of some kind of tooled platform-specific serialization protocol.

Ultimately the object model of the resource representation can differ considerably between the server the client independently of whether different hosting platforms are used. The client and the server may overlay differing semantics over the same resource representation.

Take a Purchase Order (PO) for example. The client needs to build the Purchase Order in order to fulfill some requirements of a business task. The client's Purchase Order object model is geared towards assembling the PO and should possibly make it easy to determine whether a PO (or a set of POs) fulfills the requirements of the business task. The server on the other hand will want an object model of the PO that makes it easy to process it through the various stages of approval and fulfillment. A shared data representation between client and server doesn't automatically imply a shared object model.
[ June 12, 2007: Message edited by: Peer Reynders ]
Sam Ruby

Joined: Jul 23, 2003
Posts: 13
Continuing with a purchase order example, purchase orders often contain fields like dates and decimal numbers. When I was younger and less cynical I found that interoperability was hard, and wrote this.

This lead to my joining a group called SOAP Builders and hosting or co-hosting the first three interop events. This ultimately lead to the formation of WS-I, and my coming to the realization that layering on of greater and greater abstractions doesn't solve these problems; instead what you find is that abstractions leak.

Sam Ruby
I agree. Here's the link:
subject: Query on Interopability
It's not a secret anymore!