The key issue wasn’t so much load as it was
trolls.
My ability to do so, and so easily, speaks volumes about the
power of the
REST architecture. Consider:
I was able to effectively replace one service which
conceptually supported one interface (an EditText link) with
another service that supported a different interface.
I was able to do all this efficiently and transparently, and
without the prior agreement of the end user, SlashDot, or Tim
Bray.
Though in the latter case, I had previously talked to Tim about
doing exactly this if trolls became an issue, and I did check with
him as soon as the sun had traveled a bit further west and he had
awoken. He indicated that Apache serving this data as a static
file was not putting any appreciable load on his server, another
benefit that I won’t explore further here.
I was able to do this at a fine grain level, i.e. at the level
of a single page. I did not need to redirect the
entire wiki, nor did I need to modify or customize one line of code
in the wiki software itself.
The foundation for most of this is rooted in the tantalizing
phrase hypermedia as the engine of application
state. If one views a wiki as a
state machine, then being able to do a redirect is effectively
changing the programming of the application.
The fact that I was able to do all this with but a single line
of code — and using only the protocols and products that were
already installed — was of great value to me yesterday.
In fact, if one were predisposed to use such terms, I would go so
far as to say it was of significant business value to
me.
Sam
Can you elaborate a little bit about your skepticism in Indigo supporting REST architectural style and your ability to handle slashdotting by adopting REST principles? I am unable to see the connection.
Dilip: this deserves a longer answer. I’ll work on that. But for now, let me turn this around. If my wiki were an application (complete with a SOAP interface), what would that interface likely look like? And if I were to implement that with Indigo (or any web services stack, for that matter), how would I go about transparently implementing a redirect?
I hosted the first SoapBuilders meetings, I brought SOAP to Apache, was one of the core developers of Axis; and the answers aren’t clear to me.
See Don’s post ([link]). It feels (and is probably) a marketing check box BECAUSE they are just talking about removing some restrictions on existing code in Indigo and say REST is supported. (Instead of a well thought out ground up proposal on how to support REST).
“If one views a wiki as a state machine, then being able to do a redirect is effectively changing the programming of the application.”. Like I say, “Web services? You’re soaking in them!”...
“If one views a wiki as a state machine, then being able to do a redirect is effectively changing the programming of the application.”. Like I say, “Web services? You’re soaking in them!” (link) [del.icio.us/distobj]...
Sam Ruby: "The fact that I was able to do all this with but a single line of code — and using only the protocols and products that were already installed — was of great value to me yesterday. In......
Now that Atom 1.0 is pretty much out, it’s useful to point to the comparison between RSS and Atom. I’m doing that here so I can easily find it again. (As an aside, Sam Ruby who hosts that wiki page was slashdotted and coped, his description is...
Sam Ruby: “If one views a wiki as a state machine, then being able to do a redirect is effectively changing the programming of the application.” O come sopravvivere a Slashdot con una riga di codice, e trarne illuminanti deduzioni sulla potenza di...
Linkorama : Surviving Slashdot - If one views a wiki as a state machine, then being able to do a redirect is effectively changing the programming of the application....
Sam Ruby: Surviving Slashdot Sam survived a slashdotting by redirecting one page to Tim Bray’s site (tags: http web slashdotting load REST) Cacti: The Complete RRDTool-based Graphing Solution (tags: rrdtool networking monitoring trending)......
SOAP defines an abstract mechanism for faults, each of which contain a code, a string, and detail. Given this, I certainly could invent a redirect interface for SOAP. Now, what are the chances that any other two random, pre-existing services would implement this?
HTTP defines a specific set of status codes, associated with strings, and an arbitrary message body. One of which is Found. Support for this is pre-built into Apache. It also seems to be implemented by every client.
The uniformity of interfaces also plays a factor. As does the granularity of the interface (one endpoint in SOAP typically is bound to multiple ports).
The fact that Apache is open source has nothing to do with this, I could have done this with IIS. Nor did I have to do a killall -HUP apache. Nor could I, as it isn’t my machine.
There’s no reason XMLRPC, or SOAP or any other web service technology can’t have a redirect mechanism.
And yet they don’t, and REST does. Quick, my SOAP web service is being Slashdotted! Let’s add a redirect mechanism to SOAP and get it interoperably deployed across the web in the next 10 minutes!
What you’re seeing is a benefit of Apache and the fact that it’s Open Source.
VirtuOffice : How To Get Slashdotted - "Some Experiments In Slashdottery. "If you’re really looking to participate in the Slashdot effect, you may be overlooking some really easy alternatives."Nicholas Roussos: How-To Get Slashdotted, The Easy Way...