Topology
By Sam Ruby, March 11, 2003.
The essay explores, in a rather whimsical way, the fundamental message exchange patterns that make up web like interactions.
Preface
topology
Pronunciation Key (t-pl-j)
n. pl. topologies
- Topographic study of a given place, especially the history of a region as indicated by its topography.
- Medicine. The anatomical structure of a specific area or part of the body.
- Mathematics. The study of the properties of geometric figures or solids that are not changed by homeomorphisms, such as stretching or bending. Donuts and picture frames are topologically equivalent, for example.
- Computer Science. The arrangement in which the nodes of a LAN are connected to each other.
Fifteen billion or so years ago, the entire known universe was compressed into the confines of an atomic nucleus known as a singularity. From this point emanated information in all possible frequencies.
The number of frequencies emanated, when expressed in decimal notation, was estimated to be a 1 followed by some 100 zeros. For this reason, some called this point Google, but this later turned out to be a misnomer.
To select an individual resource out of all of this noise required essentially no effort on the part of the receiver as all the data was omnipresent on the ether. One merely selected the frequency one desired. The points on the radio dial were labeled, for obvious reasons, Universal Resource Identifiers, or more commonly, URI's.
At this time, there was no distance, no propagation delays, and no concurrency issues. The universe was one.
Boom.
One microsecond later, the universe was in a period of rapid expansion. What was once perceived as a single point of light is now a thousand points of light. Each broadcasting separately and simultaneously on the same ethereal substrate without interfering with one another.
It is now possible to individually identify the source of every broadcast. There is a small but perceptible propagation delay in signals. The method of propagation for these signals, while retaining all the properties of waves propagating over ether, now exhibits some properties characteristic of the exchange of discrete particles of light. These particles became known as photons. Interactions between such particles can be expressed pictorially via Feynman diagrams.
In casual conversation, the mechanism of PhOton State Transfer is casually referred to as a POST.
Three minutes later, and the expansion is still continuing. In addition to the now uncountable number of stars in the universe, there is considerable dark matter called clients. These clients have the ability to absorb photons, but do not emit any.
Curiously, what was once a unified mechanism for exchanging information now breaks down into two different types of forces. The POST interaction is still found to be suitable for short range / tightly coupled systems, but now there is a new one way interaction. The bright matter can fully participate in all forms of interaction, but the dark matter can only initiate (but not receive) POST interactions. Furthermore, such clients can still tune in on data broadcast over the ether.
To conform to the theories of the day, the existence of an antiparticle is postulated. The theory is that such particles contain no mass and convey no information. It's sole purpose is to fulfill the role of the "other half" of the request/response message exchange pattern. This particle is named after the role it fulfills in interactions: GET.
Expansion continues. Stars continue to be uncountable. Dark matter now predominates.
GETs overwhelm POSTs, and both are isolated in the lab. It turns out that GETs do convey some information, and that information can be exploited.
It also turns out that many other forms of interaction are detected. Following the convention of GET, these are labeled based on what is thought to be their intended purpose. PUT and DELETE are the first two to be sighted, but many others are quickly discovered. In fact, it seems that in laboratory conditions, new particles can be created at will. Almost all are virtually inert. In fact, attempts to collide such materials with other elements in acceleration chambers results in these "noble gasses" bouncing off "normal matter". These bounces have a distinctive "405" signature. Also, after such collisions, there is no discernable change in state of the material targeted by the energy beam.
Most surprisingly is the discovery of a new form of interaction which scientists to date have had difficulty reconciling with the other forms of interaction. Again a particle is postulated, and this time receives the moniker of "graviton". The half life of gravitons seems to be immense, and only seems to make a detectable difference in interactions over vast distances between nodes that are loosely coupled. Gravitons seem to be true one way, asynchronous messages. They can be absorbed and reemitted by any number of "intermediaries". Efforts to date to isolate gravitons in the laboratory have proven unsuccessful, but work continues. Despite both this and the as of yet unresolved theoretical difficulties, it is readily apparent that this force seems to be what holds the universe together.
The above is clearly a combination of mixed metaphors and bad science. It's primary purpose is to get people to think outside the box and escape the traditional request/response paradigm that is fundamental to both RPC and HTTP.
Given the The Eight Fallacies of Distributed Computing, the symmetries upon which a number of systems today rely will forever be broken. Humpty Dumpty can't be put back together again. This means that there will be multiple means of transferring state. And while it is commonplace to label such means with methods or to associate a given request with an operation, I caution everybody against confusing verbs and operations with imperatives.
A discussion of other systems which are more or less topologically equivalent (in the mathematical sense) to the internet is discussed in Neurotransmitters. I am particularly fond of the biological analogies.
SOAP 1.2 Usage Scenarios contain a number of real world configurations of these fundamental message exchange patterns.