5.2 The application The first application I shall describe is that of an online bookseller. Such a book sales system would carry out a number of functions: It would allow the user to browse through a catalogue of books. It would allow the user to browse through a list of the most popular books, with the list being updated every hour. It would provide the facility whereby a user can buy books and add them to a notional shopping basket.
5.1 The architecture of a typical e-commerce system 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.
4.6 Problems with transactions 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
2.7.5 Email providers 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. 2.7.4 Change notification sites 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. 2.7.3 Archive sites 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 3.5.1 Anonymous remailers 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. Throughout the internet you can 4.5 Structure and data 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. Th 4.4 The speed of development 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 4.3 Programming and abstraction 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. Java, when it appeared in 1996, enabled developers t Learning outcomes After studying this course, you should be able to: detail what is meant by the term ‘e-commerce’ examine some typical distributed applications detail some of the problems that are encountered when developing distributed applications describe briefly some of the technologies that are used to support distributed applications show how some of the technologies detailed in the course are used in concert to realise a typi Introduction This unit examines the type of system which is described by the umbrella term ‘e-commerce’. A number of typical application areas are examined including retailing using the internet, supply chain management and online auctions. The unit also looks at some of the underlying technologies used to implement e-commerce applications, for example web technology. The final part of the unit looks at some of the problems which are encountered when developing distributed e-commerce systems, for exam Conclusion Relational database systems underpin the majority of the managed data storage in computer systems. In this course we have considered database development as an instance of the waterfall model of the software development life cycle. We have seen that the same activities are required to develop and maintain databases that meet user requirements. 1.8 Maintenance Databases are one of the more enduring software engineering artefacts; it is not uncommon to find database implementations whose use can be traced back for 15 years or more. Consequently, maintenance of the database is a key issue. Maintenance can take three main forms: Operational maintenance, where the performance of the database is monitored. If it falls below some acceptable standard, then reorganisation of the database, usuall 1.6.4 Supporting data management strategies Most of the development we've covered so far in this course has focused on meeting specific user requirements – that is, ensuring the right data are constrained correctly and made available to the right user processes. However, other questions must also be addressed in order to support a data management strategy: How frequently should data be backed-up? What auditing mechanisms are required? Which users will be permitted to perform which functions? Which database tools and user processes w 1.6.3 Supporting users and user processes Use of a database involves user processes (either application programs or database tools) which must be developed outside of the database development. In terms of the three-schema architecture we now need to address the development of the external schema. This will define the data accessible to each user process or group of user processes. In reality, most DBMSs, and SQL itself, do not have many facilities to support the explicit definition of the external schema. However, by using built-in q 1.6.2 Populating the database After a database has been created, there are two ways of populating the tables – either from existing data, or through the use of the user applications developed for the database. For some tables, there may be existing data from another database or data files. For example, in establishing a database for a hospital you would expect that there are already some records of all the staff that have to be included in the database. Data might also be bought in from an outside agency (address 1.4 Analysis Data analysis begins with the statement of data requirements and then produces a conceptual data model. The aim of analysis is to obtain a detailed description of the data that will suit user requirements so that both high and low level properties of data and their use are dealt with. These include properties such as the possible range of values that can be permitted for attributes such as, in the Open University example for instance, the course code, course title and credit points. 1.3 Requirements gathering Here we are concerned only with the requirements that relate specifically to the data. Establishing requirements involves consultation with, and agreement among, all the users as to what persistent data they want to store along with an agreement as to the meaning and interpretation of the data elements. The data administrator plays a key role in this process as they overview the business, legal and ethical issues within the organisation that impact on the data requirements. The data req 1.1 Introduction In this course we look at an outline of the stages involved in the development of a database. We consider the broader issue of how to decide what should be in a database and how to structure the tables that should be included. Our aim is to give you a basic development method so that you can see how a basic database system is developed. We don't argue that this specific method is the most applicable to any given situation – however, we do consider that this method is straightforward and wil
Spam