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.
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.