Try searching Google for “soap rest” What’s interesting isn’t the results, it’s the sponsored link; a pointer to an opening on the Google team.

Similar searches for “soap java” and “soap” don’t show the same link.

Hmm, I wonder what prompted that? Or maybe I just don’t understand how AdWords works.

Kudos to Dave for pulling up his socks and discovering what Semantic Web technologies have to offer first hand – you know, all that wonderful extensible goodness I’ve been going on about after discovering it for myself.

He talks about a perceived problem here …

In order to prevent an area code, I need to add the area code with a cardinality of 0. Now I think this is a pretty big problem. The whole Semantic Web world view of open content models comes and bites us here. The rough assumption is that if a property isn’t specifically exluded, it might be related to the thing.

That’s not quite right. It’s one thing to look at the information space that is the Web/Sem-Web and see two separate but related resources (e.g. the PO and the customer), but it’s something else entirely to look at a message on the Web and conclude that there might be some data elsewhere which is intended to be communicated. That’s where self-description comes in, and it prescribes that if a message arrives with a PO and without a customer, then the customer information is not part of the message, as you require. What Bijan seems to be talking about is the former, not the latter, i.e. to avoid closed world assumptions.

He adds;

If we think of the main point of a schema language as defining the language for exchanging information, it seems that RDF/OWL is a easier to use for extensibility and versioning. Which might be no surprise given the design centres. But given the inability to control the schemas in all the right facets – such as mandatory extensions – it doesn’t fully solve the problems of large scale distributed system extensibility and versioning. More work to be done….

…which is true, I think there is more work to be done (though I also think what’s done is a decent 80-90% solution, just as HTTP is despite not having mandatory extensions). More on mandatory extensions and RDF later though; I’ve given this subject a lot of thought (and code) over the past couple of years.

P.S. I think it’s really interesting that Web services proponents are discovering the virtues of the Semantic Web before they really appreciate all the Web itself has to offer. I totally didn’t see that coming! Coincidentally, check out this message (lists.w3.org is having issues right now, stay tuned…) where an OWL-S user realizes some of the problems with the Web services model.

From Paul Krill, on the topic of Web services;

There must be a way to simplify all this because it surely is going to be a tough task for vendors and enterprises to support all this complexity in the name of simplificity[sic]

There is a way, Paul. A stack built upon the Web itself.

RIAA; totally lacking a clue
(link) [Mark Baker’s Bookmarks]

A great post from Rich Turner (subscribed!) via Stefan.

It doesn’t surprise me one bit that this backlash is happening. It’s inevitable whenever there’s no definition to back up a buzzword. Since SOA is an architectural style, it needs to be defined in the language of software architecture, something that nobody is doing … well, unless you count this decent first stab by Dave Orchard (which didn’t make it into the WSA document, unfortunately).

If the term “SOA” is going to have any meaning going forward, somebody’s going to have to define it in a rigorous manner, it’s just that simple. Any volunteers?

P.S. and to top it all off, that’s the good news for SOA. 8-)

I cancelled my Friendster account today, in protest of their decision to fire a friend of mine, Joyce Park.

This was apparently, as I understand it, just because she blogged about work related matters, although without revealing anything which wasn’t already publicly available. The mind boggles.

If you’re doing Web stuff, you could do no better than her. Drop her a line (and me too, while you’re at it 8-).

I realized a little while ago that my blog roll was quite one dimensional in the subject matter it aggregated (namely, distributed computing). So, I’ve decided to augment it with some other feeds related to a broader love of mine, design (in general, not just software). For reasons unknown, I seem to be in a headspace recently where I’m noticing design in practically everything. In fact, Adam scooped me on one of them a couple of weeks ago; designing a startup (more on that later, perhaps, as it’s something I have a lot of experience with).

So far I’ve only found two feeds that turned my crank (though without much effort on my part, admittedly); MoCoLoco which presents creative examples of industrial design, and Tesugen by Peter Lindberg, which seems to cover design in general, though with an emphasis on urban design and software architecture.

If anybody knows of any others, I’d be grateful for recommendations.

Everything you wanted to know about protocol testing
(link) [Mark Baker’s Bookmarks]

Uche writes;

But putting the misery of these experiences aside, I’m surprised at how little I’ve had to worry about SOAP. As it became clear to me that Web Services were becoming a menace to much of the goodness wrought by XML, I worried that I would be forced to do a lot of gritting my teeth at work while I accommodated clients’ insistence on WS. This hasn’t turned out to be the case. In several cases where WS “end points” have been suggested, I’ve been surprised at how easily my suggestions of a REST-like alternative are embraced (the fact that I could usually whip up running code in hours helped a lot).

That’s what I’m seeing too, at least once you’re in the door (though for a pretty small sample space of two clients). On the other hand, looking for cool large scale distributed systems work has becoming extremely painful since Web services came onto the scene. Most projects are asking for “SOAP/WSDL/UDDI experience”, which leaves me either having to lie and say “Oh yes, I’ve got lots” (which I won’t do, of course), or else I have to put a pleasant face on WS-Insanity and brave the inevitable lack of interest, as I did in my resume;

He believes that, for the foreseeable future, the bulk of innovation in Internet scale systems will occur via additional architectural constraints applied to the Web; for example the Semantic Web, or the Two Way Web. Unfortunately, these beliefs also indicate to him that Web services have some serious architectural flaws that make their suitability as a large scale integration solution questionable. As a result, he spends considerable amounts of time working within standards setting organizations to ensure that these specifications – including SOAP 1.2 – take maximal advantage of the Web.

He writes;

Simply put, business resources should be “one step back” from HTTP IMHO. When you send non-idempotent messages to a resource (e.g. POST/PUT), you send them to its inward bound, asynch message queue. You do not directly interact with the business resource.

Interesting position on queues, but I think you’ll eventually run into problems doing that … though clearly not major problems, otherwise you’d have discovered them already 8-).

Whenever I want to do the queue thing, I use two resources; the “business resource”, and “the inbound message queue for that business resource” (though of course, as a separate resource, it need not be used only for the business resource). I then subscribe the business resource to the queue, such that messages POSTed to the queue also are forwarded to the business resource. FWIW, I’ve been using mod_pubsub recently to manage the queue resource (as a topic maintained by its router) in some work I’m doing on the side.

The problems I see with the approach Sean describes are a result of it not acknowledging that the queue is a separate resource than the business resource, as this can lead to ambiguities. For example, what can be expected from a GET on the URI; a representation of the state of the business resource, or a representation of the state of the queue?

That structure I described is probably a useful Web idiom to write up… I’ll put it on my todo list. 8-)

P.S. I assume you wanted to say “non-safe” there, since PUT is idempotent.