Via Jeff,
this odd
historical observation;
SOA is build[sic] upon 15 years of experiments in creating highly distributed computing environments […]
See, that’s exactly the problem. Fifteen years ago, the IT
world was living in RPC utopia; DCE, ONC, with CORBA just getting
off the ground.
Fear any system designed with those kind of blinders on,
because the industry – just a
different part
of it – has been building very large scalesystems for
about 35 years
now.
If you’re missing out on the lessons learned during those 20 years
in your SOA projects, drop me a line.
The new
Yahoo Maps API
described with
RDF Forms;
<rf:Indexable xmlns:rf="http://www.markbaker.ca/2003/rdfforms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
rdf:about="http://api.local.yahoo.com/MapsService/V1/geocode">
<rf:indexedBy>
<rf:IndexParam rf:shortName="appid">
<rdf:predicate rdf:resource="http://developer.yahoo.net/faq/index.html#appid"/>
</rf:IndexParam>
</rf:indexedBy>
<rf:indexedBy>
<rf:IndexParam rf:shortName="street">
<rdf:predicate rdf:resource="http://en.wikipedia.org/wiki/Street"/>
</rf:IndexParam>
</rf:indexedBy>
<rf:indexedBy>
<rf:IndexParam rf:shortName="city">
<rdf:predicate rdf:resource="http://en.wikipedia.org/wiki/City"/>
</rf:IndexParam>
</rf:indexedBy>
<rf:indexedBy>
<rf:IndexParam rf:shortName="state">
<rdf:predicate rdf:resource="http://en.wikipedia.org/wiki/State_codes"/>
</rf:IndexParam>
</rf:indexedBy>
<rf:indexedBy>
<rf:IndexParam rf:shortName="zip">
<rdf:predicate rdf:resource="http://en.wikipedia.org/wiki/ZIP_Code"/>
</rf:IndexParam>
</rf:indexedBy>
<rf:indexedBy>
<rf:IndexParam rf:shortName="location">
<rdf:predicate rdf:resource="http://en.wikipedia.org/wiki/Location_%28geography%29"/>
</rf:IndexParam>
</rf:indexedBy>
</rf:Indexable>
Ideally, such a form would be returned on a GET to
http://api.local.yahoo.com/MapsService/V1/geocoding
when application/rdf+xml is declared in the Accept header as the
preferred representation format.
I grounded most of the parameters in
Wikipedia URI space,
but Yahoo might want
to be more precise and define their own terms where Wikipedia isn’t suitable.
Also, Wikipedia doesn’t yet do RDF, so you can’t get any of the
(eventual) goodness that comes from
WebClosure. Of course,
the form is useful without that.
Via Lauren, another
quiz.
 | You scored as Couch Potato Cat. Decorative pillow? No, that’d be you sitting on the couch, even still. Hmm. . . I’m guessing you have Web TV.
Couch Potato Cat | | 92% | Drunk Cat | | 67% | Love Machine Cat | | 50% | Nerd Cat | | 50% | Pissed at the World Cat | | 33% | Derranged Cat | | 33% | Ninja Cat | | 8% |
Which Absurd Cat are you? created with QuizFarm.com |
Bingo! “The semantics of a remote method invocation interface are different than those of a local interface, but to reduce that to a RemoteException that needs to be added to the method signature is just plain missing the point.”
(
link) [
del.icio.us/distobj]
Ho hum, another RESTful API for a large scale system. Surrender now, Web services advocates, the people have spoken; protocol dependence is GOOD
(
link) [
del.icio.us/distobj]
Tony hits the
nail on the head
What is SOAP? It’s an HTTP POST containing XML, and an HTTP response containing XML. You can make an echo server by – here it is – simply serving a static XML file. That’s it. Just put an XML file on your http server and you’re done.
Indeed.
Alternately, if you feel the need, you can POST the content to the echo service.
If you want to wrap it in SOAP too, even that’d be fine. Just watch that immediate
child of soapenv:Body, because what you
ABSOLUTELY do not need, is an
“echo
operation“. You
just need the content to be echoed, and the address of the service;
document in, document out.
That’s document exchange. That’s REST.
Can we get some real work done now, please?
Eve concludes an
interesting post about DITA
with an observation on SOA;
The trend in distributed computing is towards service-oriented architectures (SOAs). Early in the life of this buzzword, some people said it should really be called a document-oriented architecture (except for the unpleasant acronym :-) because it’s really all about document-passing rather than a tightly coupled RPC paradigm, that is, if you want to be successful at reusing the components.
Document passing, yes! Hmm, anybody know of an existing system
anyplace that’s good for passing documents around? 8-) 8-(