Are resources the new objects? Proposal to rename “Web Services” to “Distributed Objects Revisited”

Yup, yet another spec; this time for managing resources. It's called WS-Management and I guess it's in direct competition with the WS-RF-based WS-Distributed Management (WS-DM). Oh well 🙁

It seems that this specification follows the recent trend to reason in terms of resources instead of services. I really enjoyed the following while reading the WS-Management:

Resource Service: A Web service that provides access to a single category of manageable items, such as disk drives or running processes, that share the same operations and representation schema.

Now, can anyone tell me how this definition of the "resource service" is different from:

public class DiskDrive
{
// This is the disk drive's state
public long Capacity;
public long Free; public void ParkHeads() {...}
public void Format() {...}
}

You see? Common methods (operations) for all objects (items) and public data properties (representation schema). Don't get me wrong. I don't have anything against distributed objects. It's just that I fear that toolkits will just make it sooooo easy to expose fine-grained objects (together with their state) as resources out there. Network-wide references to state (even if it's representation of state) will be created. Interdependencies that cross service boundaries will be introduced and it'd be extremely difficult to manage them.

You see, in WS-Management, as with WS-Transfer, every manageable resource is addressed through WS-Addressing with the ReferenceProperties header containing an element which identifies the "item" behind the service boundary. Since WS-Addressing is treated as an opaque construct, it's effectively a pointer.

It seems to me that the most recent specifications are moving us back to a distributed objects world. I recommend that we rename the suite of technologies from "Web Services" to "Distributed Objects Revisited (DOR)" since they have nothing to do with the Web and they are sooooo moving away from the concepts of service-orientation. At least the removal of "Web" will make the REST folks happy 🙂

4 responses to “Are resources the new objects? Proposal to rename “Web Services” to “Distributed Objects Revisited””

  1. Mark Little
    DOR is alright, but how about Distributed Object Humbug, or D’Oh for short 😉
  2. Steve Loughran
    yeah, I was kind of bemused by it too. It is the distributed objects architecture “DOA”. It also means all parties in the WS-* camp now believe in WS-Addressing -that is, ignoring URLs as valid destination descriptors- and also in having things with addresses that have state you can manipulate. Which is REST, by and large. Representational State Transfer. REST with a more complex stack than just HTTP1.x, but REST nonetheless.
  3. FWIW Savas, I consider the Web to be “Distributed objects revisited” (hence my email address); identifiable things with encapsulated state and behaviour, accessible over a network, and conforming to a common component model (uniform) and application model (hypermedia).
  4. Steve – yup, pretty much. The next step in this silent move towards REST will have to be using hypermedia. But there’s still *SO* many other things that’s been screwed up in the process (in regards to deployment issues, i.e. integrating well with existing infrastructure) that there’s no way this will fly even if they manage to be perfectly RESTful.