World Wide Web is About Self-Serve
Almost two years since I’ve proposed the term Resource Oriented Architecture, I am still amazed at how no one seems able to grok the concept. Posts such as this one, or this one etc., illustrate total lack of even the basic insight into the nature of the world wide web.
Everyone who is doing any software development on the web seems besotted by the concept of services. I’m not exactly sure why such religious insistence on the prominence of services on the web, but even the term web services has proven to have such staying power that it seems impossible to shake it off.
Sometimes, when we reach an impasse such as the one I’m talking about here, it may help if we step back and take a long hard look at some fundamental assumptions. Like for example, what is the world wide web, what is a resource, what is a service, and so on.
The web is a platform for encouraging communication between humans. We humans like to communicate, it’s in our blood (biologically, being mammals, communication is the bloodstream of our survival strategy). Any technology that facilitates and enriches our ability to communicate is favored by the evolutionary factors and forces.
Enter the world wide web. Overnight success, spectacular, unstoppable growth. No big surprises there.
How do we communicate on the web? Mostly by publishing resources, consuming them, and participating in repurposing already published resources.
What are these resources? Mostly textual content, peppered with some graphical and audio content.
Where do the services come into the picture? I’d say nowhere. I’m not sure I see any room for the so-called web services. I think these are made up solutions pushed on the unsuspecting web community by software vendors.
To illustrate this, I’ll use another major communications platform — public library. Public library is a collection of resources (i.e. books, CDs, DVDs etc.) How do we consume those resources? First, we identify the public library. Then, we locate the public library. Finally, we visit the public library and GET the book we’re interested in consuming.
Where in this entire process does the service enter the picture? The answer is: nowhere. Does the library, being a collection of resources, expect us to learn some proprietary protocol in order for us to consume its resources? No, of course not. The barriers to entry into the public library is phenomenally low, even non-existent. This is because the library is biased toward the “no person left behind” prime directive. The only barriers to entry into the public library is one’s own limitations (such as illiteracy, not being familiar with the alphabet, and so on).
World wide web is the same. It’s the “no person left behind” type of a deal. A huge, ever growing collection of resources that are up for grabs. Anyone who is familiar with the alphabet is invited to join the conversation.
And same as in the public library, the deal is self-serve. Come and get it. No need to depend on any middle men or any service that would exist between yourself and the published resource. Whether you are an individual, or an organization, you are entitled to use this self-serve model.
This self-serve model, of course, spells the death knell for software vendors. If everyone abandons the vendor based subscription model and goes for the self-serve model, what are poor vendors going to do?
That’s why the vendors and their foot soldiers (i.e. majority of software developers worldwide) are so adamant against the self-serve model that Resource Oriented Architecture offers. If the self-serve takes over, it will squeeze them out of their privileged positions.
But such is the cost one must pay when enjoying the unstoppable march of progress.