5 Issues and problems affecting internet, e-commerce and e-business development

5.1 Legacy technology

The aim of Section 5 is to examine some of the issues and problems which affect the devekopment of Internet, e-commerce and e-business applications.

The World Wide Web was developed as a way of dispensing documentation within the large research laboratory at CERN in Geneva. I am sure that the originator of the technology, Tim Berners-Lee, did not realise at that stage how it would expand and become a major component of our economic infrastructure. Because many of the developers of the technology were unaware of its potential there are a number of problems associated with its huge expansion. Three of these are discussed in the following subsections.

5.1.1 Space problems

Probably the best known of these is the fact that the internet is running out of space for identifying computers. Each computer in a network needs to be identified by a unique data pattern known as an IP address. The current technology used to transport data around the internet is such that in the comparatively near future we shall run out of space to hold these unique addresses. Happily this is a problem that has been identified and groups of researchers around the globe have developed new technologies which will eventually overcome this problem, one of these technologies being a new version of the protocol used to transfer data over the internet.

It is tempting to describe this in more detail; however, remember that this material is about developing applications for the internet: I shall confidently assume that all the work that has been carried out to cope with the explosive growth of the internet will be implemented ‘under the bonnet’ and developers will not need to know the details of this.

The great renaming

Periodically parts of the internet have to be reorganised. In the late 1980s the administrators of the newsgroups within Usenet decided to reorganise the naming conventions used for the newsgroups. They adopted a hierarchic convention so that topics would include sub-topics which, in turn, contained sub-sub-topics and so on. This was known as the great renaming.

Having again made the point about what is not relevant to this unit it is worth looking at something that is: web servers, and the fact that what they were designed for is not what they are now being expected to do.

5.1.2 Stateless servers

Web servers are what are known as stateless servers. What this means is that in their pure form they keep no memory of what has previously happened to them between requests; for example, when a request is processed by a web server for a page they have no direct knowledge about whether the page request was made by the same browser that asked for a previous page to be returned.

While this was not serious when web servers were being mainly used for dispensing documentation (their original use) it is a serious problem in e-commerce. One example of this is the shopping cart, or as it is known in the United Kingdom, the shopping trolley. When you visit an e-tailer and purchase goods you interact with a simulation of a shopping cart which keeps details of the goods that you have purchased. At the end of your interaction a web page, often known as a checkout page, will display the contents of the shopping cart and present you with the monetary total of your purchases. web servers as originally envisaged are unable to do this as they have no knowledge of any previous visit: they would not be able to remember the previous purchase.

(This is not the full story: there is some indirect knowledge. web servers will keep details of the accesses to their stored pages in a simple sequential file known as a log file which is used for marketing purposes and for optimising the web server.)

In the comparatively early days of the web this was seen to be a problem and a form of programming known as Common Gateway Interface programming was developed which enabled a web server to have a memory. There are a number of other, more recent technologies which have been developed to cope with this problem. The first is cookies; these are chunks of data which are stored on the computer running the web browser and which can be accessed by the browser throughout their interaction with a particular website. Such cookies can, for example, store the data associated with a shopping cart. Another technology used to store state is servlets; this is a technology, which employs cookies, and which is associated with Java; it enables the programmer to develop reusable code that can be plugged into a server and which keeps data persistently in the web server.

5.1.3 No dynamic web pages

Another example of a problem with web servers which arises from their original functionality is the fact that web pages were designed to be static: they were files which were stored on a computer and delivered in their stored form to anyone using a browser to access them. Many e-commerce and e-business applications require something much more dynamic, for example there are a number of financial service sites on the web which provide customers with up-to-date stock and share prices. These prices are stored on web pages and need to change very frequently – often every few seconds. There have been a number of add-on technologies that have been developed in order to cope with this problem.

Saloman Smith Barney and paying for education

Saloman Smith Barney is one of the largest and innovative financial companies in the United States. Its website is an excellent example of a feature-packed site. One part of the site which requires dynamic pages allows the visitor to plan the funding of their son or daughter's education; it prompts the visitor with a number of financial questions and constructs web pages which provide details of the investment needed to pay college fees.

One early solution is something known as a Server Side Include in which parts of a web page are marked as being dynamic and, prior to their being sent to the browser, they are updated with data that has changed. Servlets are also used to produce dynamic pages, for example they can be programmed to return specific web pages to a browser containing content loaded in from a database. Another technology which has become very prominent over the last two years is known generically as dynamic pages. This is a more fiexible version of Server Side Includes which allows the Java programmer to insert data into a web page at specified points on a real-time basis. There is also a Microsoft implementation of dynamic pages known as active server pages. There are a number of other technologies such as mod_perl and php.