Distributed Systems ArchitecturesObjectivesTopics coveredDistributed systemsSystem typesDistributed system characteristicsDistributed system disadvantagesIssues in distributed system designDistributed systems architecturesMiddlewareMultiprocessor architecturesA multiprocessor traffic control systemClient-server architecturesA client-server systemComputers in a C/S networkLayered application architectureApplication layersThin and fat clientsSlide 19Thin client modelFat client modelJava appletsThree-tier architecturesA 3-tier C/S architectureAn internet banking systemUse of C/S architecturesDistributed object architecturesDistributed object architectureAdvantages of distributed object architectureUses of distributed object architectureA data mining systemData mining systemCORBAApplication structureCORBA application structureCORBA standardsCORBA objectsObject request broker (ORB)ORB-based object communicationsInter-ORB communicationsSlide 41CORBA servicesKey pointsSlide 44©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 1Distributed Systems ArchitecturesArchitectural design for software that executes on more than one processor©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 2ObjectivesTo explain the advantages and disadvantages of distributed systems architecturesTo describe different approaches to the development of client-server systemsTo explain the differences between client-server and distributed object architecturesTo describe object request brokers and the principles underlying the CORBA standards©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 3Topics coveredMultiprocessor architectures Client-server architecturesDistributed object architecturesCORBA©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 4Distributed systemsVirtually all large computer-based systems are now distributed systemsInformation processing is distributed over several computers rather than confined to a single machineDistributed software engineering is now very important©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 5System typesPersonal systems that are not distributed and that are designed to run on a personal computer or workstation. Embedded systems that run on a single processor or on an integrated group of processors. Distributed systems where the system software runs on a loosely integrated group of cooperating processors linked by a network.©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 6Distributed system characteristicsResource sharingOpennessConcurrencyScalabilityFault toleranceTransparencydistributed nature of system concealed from user©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 7Distributed system disadvantagesComplexitySecurityManageabilityUnpredictabilityIssues in distributed system designDesign issue DescriptionResourceidentifcationThe resources in a distributed system are spread across differentcomputers and a naming scheme has to be devised so that users candiscover and refer to the resources that they need. An example ofsuch a naming scheme is the URL (Uniform Resource Locator) thatis used to identify WWW pages. If a meaningful and universallyunderstood identification scheme is not used then many of theseresources will be inaccessible to system users.Communications The universal availability of the Internet and the efficientimplementation of Internet TCP/IP communication protocols meansthat, for most distributed systems, these are the most effective wayfor the computers to communicate. However, where there arespecific requirements for performance, reliability etc. alternativeapproaches to communications may be used.Quality of service The quality of service offered by a system refects its performance,availability and reliability. It is affected by a number of factors suchas the allocation of processes to processes in the system, thedistribution of resources across the system, the network and thesystem hardware and the adaptability of the system.SoftwarearchitecturesThe software architecture describes how the applicationfunctionality is distributed over a number of logical components andhow these components are distributed across processors. Choosingthe right architecture for an application is essential to achieve thedesired quality of service.©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 9Distributed systems architecturesClient-server architectures•Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use servicesDistributed object architectures•No distinction between clients and servers. Any object on the system may provide and use services from other objects©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 10MiddlewareSoftware that manages and supports the different components of a distributed system. In essence, it sits in the middle of the systemMiddleware is usually off-the-shelf rather than specially written softwareExamples•Transaction processing monitors•Data convertors•Communication controllers©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 11Multiprocessor architecturesSimplest distributed system modelSystem composed of multiple processes which may (but need not) execute on different processorsArchitectural model of many large real-time systemsDistribution of process to processor may be pre-ordered or may be under the control of a dispatcher©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 12A multiprocessor traffic control systemTraffic lightsLightcontrolprocessTraffic light controlprocessorTraffic flowprocessorOperator consolesTraffic flow sensorsand camerasSensorprocessorSensorcontrolprocessDisplayprocess©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 13Client-server architecturesThe application is modelled as a set of services that are provided by servers and a set of clients that use these servicesClients know of servers but servers need not know of clientsClients and servers are logical processes The mapping of processors to processes is not necessarily 1 : 1©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 14A
View Full Document