“Can OO be SO?” by Tim Ewald

Commenting on Clemens Vasterspost, to which I linked in my previous entry, Tim Ewald remembers (“Can OO be SO?“) that at the last PDC someone had asked Don Box about the use of EPRs as CORBA IORs 🙂

Back then (October 2003) rumours were surfacing about some work IBM and the Globus team were doing behind close doors for the transition from OGSI to something else (later we found its name: WS-RF). The rumours were suggesting that WS-Addressing would be used as the way to build the Grid’s community resource-oriented view of the world. I was told that a development of that nature would have made me happy since in our August 2003 WS-GAF white paper, we proposed the use of WS-Addressing as a way to refer to services. However, we never suggested that it should be used as a way to build a resource-oriented architecture. I also knew that many of the people doing the OGSI/WS-RF work had a CORBA background so you can imagine who asked that question 🙂 Yes, yours truly!

I remember that Don’s answer to my question back then was along the lines that just because we can use it like that and WS-Addressing supports it, it doesn’t mean that the authors of the spec can prevent us from hanging ourselves. I really liked that response and it encouraged me to continue to argue in favour of a pure service-oriented view of the world rather than one which focuses on resources.

Then, WS-Transfer came along! Sigh!

Don’t get me wrong. WS-Transfer is miles better than WS-RF due to its simplicity but it still focuses on resources (my views on some of the differences between object-, resource-, and service-orientation).

4 responses to ““Can OO be SO?” by Tim Ewald”

  1. Ok, let me argue in favour of resources. not objects, resources. Are they possibly a good way to model things? From a coupling perspective, anything that makes that remote resource look like a local object is a mistake, which is why JAX-RPC sucks. but what if the resources are, well, treated as REST like thingys where GETS are idempotent, and PUTs can be queued for sequential (async) execution. Is this a good model for remote stuff? yes, if the thing really is a resource, and you can provide a fault-tolerant implementation. I ask, but I have no proof, ‘cept maybe the original ANSA papers. Since then we have been distracted by OO languags into directly exporting native classes over the wire, methods and all. -steve ps, once you get distributed gc of resources, you know you are doomed.
  2. Steve, I agree that if a thing is indeed a resource, transferring its representation is a sensible way (the Web has proved this). Howerver, I argue that for service-oriented applications, the resources are hidden so you want get the state-dependence (via references) problem. The Web has this problem (page not found).
  3. WS-Lifecycle, eh? Sigh!