Chapter 6
Exploring the weird
The magic of a virtual world
Without any knowledge of the way in which the Internet works, it might be assumed that all the components that make up a Web presence would have to be based around a single server: namely, the computer that hosts the domain name of the core business. However, the statelessness of the Internet data packets means that is doesn't matter where the components of a Web presence are located on the Web. Each separate component can be on a different computer and these computers can be spread all over the planet and each use different servers. It is only the client that needs to view them all in the same place.
It has to be remembered that Web sites (and total Web presences) are assembled as a complete whole by a viewer's browser on the client side. It is only in a client's RAM space that complete Web sites exist in their viewable forms.
(Note: Web sites are just a number of computer files on the server side, with absolutely no connection between them. Connections are only provided by a browser on the client side when it reads the instructions embedded in the files that are downloaded onto a client machine).
Providing the correct hypertext links are in place, it doesn't matter where the components reside. As far as the audience is concerned these files are viewed as a single seamless Web presence. Any geographic separations are transparent and the viewer isn't even aware they exist. Such an arrangement is illustrated in figure 6.7
(Note: Although in theory it doesn't make any difference where any component of a Web presence is located, routing and traffic congestion can greatly affect the arrival times at a client location. This is a design consideration that would have to be taken into account by a component designer to make sure the server chosen to host a component has adequate bandwidth, suitable load balancing facilities and a direct connection to the Internet backbone.)
Figure 6.7
A Web site can consist of many components, each located on different computers in different parts of the world. As far as the audience sees them, they are all part of a single Web presence as if they were located on a single server.
How odd this must seem to the mind set of a business executive from the bricks and mortar world of the last century. A web presence that is spread over a number of different computers that might be anywhere in the world? It would seem an incredulous state of affairs; a perverse use of the medium, introducing unnecessary complication where all kinds of things could go wrong. There would seem to be no way to control the system: it would appear to be a manager's nightmare.
It may well be a manager's nightmare, but, managers have no place in object oriented systems. It is through all the components being separated out that provides the necessary framework to allow the system to be easily controllable, more adaptable and capable of complex evolutionary growth. Components are not managed, they are simply judged on their performance. If they do their job they stay in, if they don't they are thrown out and replaced.
There is simply no time for a system architect to get involved with anything that goes wrong with a component. The similarity is with the servicing of a modern television set when it develops a fault. The service engineer doesn't spend hours working through all the circuitry to find the problem, it is far more efficient to just locate the fault to a single module and then replace that whole module. In this way, television service engineers don't have to know anything at all about electronic engineering: all they need to know is how to associate any problem with a particular module of the system.