Lists Home |
Date Index |
On Thursday 27 December 2001 01:36 pm, Champion, Mike wrote:
> XML "spaces" are conceptually a shared memory between two (or more)
> applications separated by time and/or space, thus precluding a synchronous
> data exchange.
Which is great for some things, bad for others.
> A web service *registry* is more permanent, so is well
> handled by conventional web and database technologies.
The associative-memory aspects make it ideal for lookup/discovery too.
> Let's say I'm in a car or on a train somewhere, and need to make a hotel
> reservation via my Palm, cellphone, or whatever. This being a multi-part
> transaction -- the reservation service needs to find me a hotel with an
> empty room, look up my credit card from whatever authenticated identity I
> used in the reservation, then validate the credit information -- it may
> take some time to complete. In that time, I may well have lost the
> connection to the cellphone network, a server might have crashed, or any
> number of the numerous ways in which Murphy's Law gets enforced might
> occur. Thus, an RPC-style web service invocation would be somewhere
> between unreliable and impossible. If, however, the various parties to the
> transaction exchange data via XML "spaces", various things simply work
> better or more easily.
This isn't unique to this kind of space though. This is what I'm getting at.
We've had XML repositories for years that are roughly akin (in terms of
functionality) to a Ruple space.. but the kind of applications that can
leverage this, and the programmers that can program very loosely coupled
distributed systems, are somewhat uncommon (at least partly because it's nto
mainstream, not because it's not a good mode). I guess I'm looking for the
killer app. and haven't seen it.
> The RogueWave people (who have actually implemented an XML space!)
> tell me it's not as trivial as it first looks. The Linda-esqe coordination
> protocol needs to be implemented, and the real-time
> issues are non-trivial even on top of a "real" DBMS.
These are pretty well understood, and not *that* hard to implement though.
Also, even with Ruple spaces, you *still* have to write applications for it
(ie. impose application semantics across it).
Cool technology, perhaps, but where's the real killer app?