Transcription of Distributed Systems Architectures
1 Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 2 Objectives To explain the advantages and disadvantages ofdifferent Distributed Systems Architectures To discuss client-server and Distributed objectarchitectures To describe object request brokers and theprinciples underlying the CORBA standards To introduce peer-to-peer and service-orientedarchitectures as new models of distributedcomputing. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 3 Topics covered Multiprocessor Architectures Client-server Architectures Distributed object Architectures Inter-organisational computing Ian Sommerville 2004 Software Engineering, 7th edition.
2 Chapter 12 Slide 4 Distributed Systems Virtually all large computer-based systemsare now Distributed Systems . Information processing is Distributed overseveral computers rather than confined to asingle machine. Distributed software engineering is thereforevery important for enterprise computingsystems. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 5 System types Personal Systems that are not Distributed and thatare designed to run on a personal computer orworkstation. Embedded Systems that run on a single processoror on an integrated group of processors. Distributed Systems where the system software runson a loosely integrated group of cooperatingprocessors linked by a network. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 6 Distributed system characteristics Resource sharing Sharing of hardware and software resources.
3 Openness Use of equipment and software from different vendors. Concurrency Concurrent processing to enhance performance. Scalability Increased throughput by adding new resources. Fault tolerance The ability to continue in operation after a fault hasoccurred. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 7 Distributed system disadvantages Complexity Typically, Distributed Systems are more complex thancentralised Systems . Security More susceptible to external attack. Manageability More effort required for system management. Unpredictability Unpredictable responses depending on the systemorganisation and network load. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 8 Distributed Systems Architectures Client-server Architectures Distributed services which are called on byclients.
4 Servers that provide services are treateddifferently from clients that use services. Distributed object Architectures No distinction between clients and servers. Anyobject on the system may provide and useservices from other objects. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 9 Middleware Software that manages and supports the differentcomponents of a Distributed system. In essence, itsits in the middle of the system. Middleware is usually off-the-shelf rather thanspecially written software. Examples Transaction processing monitors; Data converters; Communication controllers. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 10 Multiprocessor Architectures Simplest Distributed system model. System composed of multiple processeswhich may (but need not) execute ondifferent processors.
5 Architectural model of many large real-timesystems. Distribution of process to processor may bepre-ordered or may be under the control of adispatcher. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 11A multiprocessor traffic control system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 12 Client-server Architectures The application is modelled as a set ofservices that are provided by servers and aset of clients that use these services. Clients know of servers but servers need notknow of clients. Clients and servers are logical processes The mapping of processors to processes isnot necessarily 1 : 1. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 13A client-server system Ian Sommerville 2004 Software Engineering, 7th edition.
6 Chapter 12 Slide 14 Computers in a C/S network Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 15 Layered application architecture Presentation layer Concerned with presenting the results of a computation tosystem users and with collecting user inputs. Application processing layer Concerned with providing application specific , in a banking system, banking functions such as openaccount, close account, etc. Data management layer Concerned with managing the system databases. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 16 Application layers Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 17 Thin and fat clients Thin-client model In a thin-client model, all of the applicationprocessing and data management is carried outon the server.
7 The client is simply responsiblefor running the presentation software. Fat-client model In this model, the server is only responsible fordata management. The software on the clientimplements the application logic and theinteractions with the system user. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 18 Thin and fat clients Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 19 Thin client model Used when legacy Systems are migrated toclient server Architectures . The legacy system acts as a server in its ownright with a graphical interface implemented ona client. A major disadvantage is that it places aheavy processing load on both the serverand the network. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 20 Fat client model More processing is delegated to the client asthe application processing is locallyexecuted.
8 Most suitable for new C/S Systems where thecapabilities of the client system are known inadvance. More complex than a thin client modelespecially for management. New versions ofthe application have to be installed on allclients. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 21A client-server ATM system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 22 Three-tier Architectures In a three-tier architecture, each of theapplication architecture layers may executeon a separate processor. Allows for better performance than a thin-client approach and is simpler to managethan a fat-client approach. A more scalable architecture - as demandsincrease, extra servers can be added. Ian Sommerville 2004 Software Engineering, 7th edition.
9 Chapter 12 Slide 23A 3-tier C/S architecture Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 24An internet banking system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 25 Use of C/S architecturesArchitectureApplicationsTwo -tier C/Sarchitecture withthin clientsLegacy system applications where separating application processing anddata management is applications such as compilers with little orno data applications (browsing and querying) with little or noapplication C/Sarchitecture withfat clientsApplications where application processing is provided by off-the-shelfsoftware ( Microsoft Excel) on the where computationally-intensive processing of data ( visualisation) is with relatively stable end-user functionality used in anenvironment with well-established system ormulti-tier C/SarchitectureLarge scale applications with hundreds or thousands of clientsApplications where both the data and the application are where data from multiple sources are integrated.
10 Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 26 Distributed object Architectures There is no distinction in a Distributed objectarchitectures between clients and servers. Each distributable entity is an object that providesservices to other objects and receives services fromother objects. Object communication is through a middlewaresystem called an object request broker. However, Distributed object Architectures are morecomplex to design than C/S Systems . Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 27 Distributed object architecture Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 12 Slide 28 Advantages of Distributed object architecture It allows the system designer to delay decisions onwhere and how services should be provided.