The purpose of a use case is to meet the goal of its associated actor(s), such as a guest making a reservation with a hotel. This implies that a use case should include everything that must be done to meet that goal. For example, if it is necessary to check the availability of rooms in the hotel for the desired length of stay before accepting a reservation, then we expect the use case to contain that check. In general, a use case contains a narrative about the flow of events that specifies a

This is the most ubiquitous form of commerce on the World Wide Web. It involves a company presenting a catalogue of its wares to internet users and providing facilities whereby such customers can purchase these products. Almost invariably such a site will contain facilities for ordering and paying for products by means of credit cards. The sophistication of sites described by this business model range from just the simple presentation of a static catalogue to the presentation of an interactiv

Designing a distributed system can also be a problem, for example the fact that computers in a distributed system are joined by communication media which can stretch over thousands of miles provides an added dimension to the design process in that response time can be a problem. Another, equally serious problem is that of reliability, for example the fact that a hardware malfunction can bring down a poorly-designed distributed system.

Video link (see supported sites below). Please use the original link, not the shortcut, e.g. www.youtube.com/watch?v=abcde

A distributed transaction is a sequence of operations applied to a number of distributed databases which form a single functional step. For example, a transaction which moves an amount of money from a customer's account to an account owned by the same customer is an example of a transaction. It consists of two operations: the operation of debiting one account and the operation of crediting another account. There are a number of problems associated with distributed transactions. This section w

A problem that is being increasingly experienced by internet companies is the fact that they have to interchange a large amount of data and that such data inherently lacks structure. For example, HTML has proved to be an enduring markup language for developing web pages; however, there are no facilities within the language, for example, to indicate whether an item of data, say a three-digit number, represents the price of a commodity or some hourly rate charged by a company employee.

In the early 1990s programming an application for the internet was a tough proposition. I remember that I once had an application which required a very simple form of communication with another application located at a remote computer. I used a technology known as Winsocks which required me to carry out some pretty arcane code development just to send a simple test message to another computer and to receive a reply from that computer.

The internet is not a particularly secure place. There are two aspects to this: the first is that information is widely published throughout the internet which can be used for criminal and near-criminal activities. The second aspect is that since the internet is an open system, details of its underlying technologies are freely available to anybody. This means that the way data passes through the internet is in the public domain; the consequence of this is that, theoretically, anyone with the

The aim of this section is to look at some of the business models which have been used to drive internet applications. A business model is a high-level description of an application type which contains all the common features which can be found in specific examples of the model. For example, one of the most popular business models is the e-shop which describes a website that sells products. The model is general in that it does not describe the item that is sold or the mechanisms that a

Before finishing this course it is worth looking at the architecture of a typical e-commerce system in order to see some of the technologies. This is followed by details of a real application which I shall use to discuss some of the issues involved in distributed system development. The description used is closely modelled on the Amazon site.

A distributed transaction is a sequence of operations applied to a number of distributed databases which form a single functional step. For example, a transaction which moves an amount of money from a customer's account to an account owned by the same customer is an example of a transaction. It consists of two operations: the operation of debiting one account and the operation of crediting another account. There are a number of problems associated with distributed transactions. This section w

These are sites which provide free email facilities; often they provide other facilities such as sending anonymous mail and constructing mailing lists. Such sites are valuable to users who are too impecunious to be able to afford conventional mailing software and to frequent travellers who can access such sites anywhere in the world. Their main disadvantage is that they tend to be slow compared with conventional mailing utilities such as Microsoft Outlook and Eudora.

These sites are a variation on link checking sites. Here, the customer is notified not when a web document becomes unavailable, but when the document is changed. For example, the customer might be interested in a particular page which advertises some holiday package offers to a particular destination and wants to keep abreast of any changes to the page which might signal the fact that a new improved offer has been added.

These are websites which offer customers a facility for storing their files at a safe location. This guards against anything disastrous happening to the customer's computer and their losing valuable data. Often the files will be duplicated at a number of computers at different locations in order to guard against the possibility of one of the locations being affected by a natural disaster such as an earthquake, or a computer being affected by a catastrophic failure which results in its stored

An anonymous remailer is a website which enables you to send an email anonymously to some recipient. The main reason for this is to do with something known as spam. This term describes unsolicited email which tries to sell the recipient something.

Spam

A problem that is being increasingly experienced by internet companies is the fact that they have to interchange a large amount of data and that such data inherently lacks structure. For example, HTML has proved to be an enduring markup language for developing web pages; however, there are no facilities within the language, for example, to indicate whether an item of data, say a three-digit number, represents the price of a commodity or some hourly rate charged by a company employee.

E-commerce consultants speak of a web year. This is the time which it takes to bring to implementation a conventional system that would normally take a calendar year to develop. Current estimates are that one calendar year is equivalent to seven web years. Nowhere is there more of an imperative for companies to develop products and services quickly, together with the computing infrastructure required to support them, than in e-commerce. In software engineering terms this has given rise to a n

In the early 1990s programming an application for the internet was a tough proposition. I remember that I once had an application which required a very simple form of communication with another application located at a remote computer. I used a technology known as Winsocks which required me to carry out some pretty arcane code development just to send a simple test message to another computer and to receive a reply from that computer.