Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.

Similar presentations


Presentation on theme: "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1."— Presentation transcript:

1 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1

2 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 2 Objectives l To explain the advantages and disadvantages of different distributed systems architectures l To discuss client-server and distributed object architectures l To describe object request brokers and the principles underlying the CORBA standards l To introduce peer-to-peer and service-oriented architectures as new models of distributed computing.

3 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 3 Distributed systems l Virtually all large computer-based systems are now distributed systems. l Information processing is distributed over several computers rather than confined to a single machine. l Distributed software engineering is therefore very important for enterprise computing systems.

4 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 4 System types l Personal systems that are not distributed and that are designed to run on a personal computer or workstation. l Embedded systems that run on a single processor or on an integrated group of processors. l Distributed systems where the system software runs on a loosely integrated group of cooperating processors linked by a network.

5 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 5 Distributed system characteristics l Resource sharing Sharing of hardware and software resources. l Openness Use of equipment and software from different vendors. l Concurrency Concurrent processing to enhance performance. l Scalability Increased throughput by adding new resources. l Fault tolerance The ability to continue in operation after a fault has occurred.

6 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 6 Distributed system disadvantages l Complexity Typically, distributed systems are more complex than centralised systems. l Security More susceptible to external attack. l Manageability More effort required for system management. l Unpredictability Unpredictable responses depending on the system organisation and network load.

7 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 7 Distributed systems architectures l Client-server architectures Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use services. l Distributed object architectures No distinction between clients and servers. Any object on the system may provide and use services from other objects.

8 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 8 Middleware l Software that manages and supports the different components of a distributed system. In essence, it sits in the middle of the system. l Middleware is usually off-the-shelf rather than specially written software. l Examples Transaction processing monitors; Data converters; Communication controllers.

9 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 9 Multiprocessor architectures l Simplest distributed system model. l System composed of multiple processes which may (but need not) execute on different processors. l Architectural model of many large real-time systems. l Distribution of process to processor may be pre-ordered or may be under the control of a dispatcher.

10 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 10 A multiprocessor traffic control system

11 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 11 Client-server architectures l The application is modelled as a set of services that are provided by servers and a set of clients that use these services. l Clients know of servers but servers need not know of clients. l Clients and servers are logical processes l The mapping of processors to processes is not necessarily 1 : 1.

12 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 12 A client-server system

13 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 13 Layered application architecture l Presentation layer Concerned with presenting the results of a computation to system users and with collecting user inputs. l Application processing layer Concerned with providing application specific functionality e.g., in a banking system, banking functions such as open account, close account, etc. l Data management layer Concerned with managing the system databases.

14 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 14 Application layers

15 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 15 Thin and fat clients l Thin-client model In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software. l Fat-client model In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user.

16 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 16 Thin and fat clients

17 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 17 Thin client model l Used when legacy systems are migrated to client server architectures. The legacy system acts as a server in its own right with a graphical interface implemented on a client. l A major disadvantage is that it places a heavy processing load on both the server and the network.

18 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 18 Fat client model l More processing is delegated to the client as the application processing is locally executed. l Most suitable for new C/S systems where the capabilities of the client system are known in advance. l More complex than a thin client model especially for management. New versions of the application have to be installed on all clients.

19 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 19 A client-server ATM system

20 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 20 Three-tier architectures l In a three-tier architecture, each of the application architecture layers may execute on a separate processor. l Allows for better performance than a thin- client approach and is simpler to manage than a fat-client approach. l A more scalable architecture - as demands increase, extra servers can be added.

21 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 21 A 3-tier C/S architecture

22 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 22 An internet banking system

23 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 23 Use of C/S architectures

24 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 24 l Distributed systems support resource sharing, openness, concurrency, scalability, fault tolerance and transparency. l Client-server architectures involve services being delivered by servers to programs operating on clients. l User interface software always runs on the client and data management on the server. Application functionality may be on the client or the server. l In a distributed object architecture, there is no distinction between clients and servers. Key points


Download ppt "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1."

Similar presentations


Ads by Google