Presentation on theme: "Ch 12 Distributed Systems Architectures"— Presentation transcript:
1 Ch 12 Distributed Systems Architectures Types of systems:designed to run on a personal computer or workstation (MS Word)embedded systems that run on a single processor or on an integrated group of processors (helicopter display)distributed systems where the software runs on a loosely integrated group of co-operating processors linked by a network (corporate accounting system)Virtually all large systems are distributedDistributed software engineering is increasingly important
2 Distributed systems architectures Client-serverdistributed services which are called on by clientsservers that provide services differ from clients that use servicesDistributed objectno distinction between clients and serversany object may provide and use services from other objectsoften called peer-to-peerCombinations of the two
3 12.1 Multiprocessor architectures Simplest distributed model, used for many large real-time systemsMultiple processes which may (or not) run on different processorsA traffic control system:
4 12.2 Client-server architectures Services are provided by serversClients use themClients know serversServers need not know clients
5 Layered application architecture Client/Server often organized in layersPresentation layerpresents the results of a computation to system users and with collecting user inputsApplication processing layerapplication specific functionalitye.g., in a banking system, functions such as open account, close account...Data management layermanages the system databasesCS 330 examples?
6 Thin and fat clients * ** * All application processing and data management are on the serverThe client is responsible only for the presentation software** The server is only responsible for data managementThe client implements application logic and interacts with the user
7 Thin versus fat client model Thin clientused when legacy systems are migrated to client server architectures. The legacy system acts as server with a gui implemented on a clientheavy processing load on the server and the networkFat clientapplication processing is locally executedmost suitable when the client system capabilities are known in advancemore complex to manage (new versions of the application have to be installed on all clients)
8 Three-tier architectures Each layer may execute on a separate processorBetter performance than a thin-clientSimpler to manage than a fat-clientMore scalable - as demands increase, add extra servers
9 12.3 Distributed object architecture No distinction between clients and serversEach entity is an object that provides services to other objects and receives services from other objectsObject communication is through a middleware system called an object request broker (software bus)More complex to designthan client/serversystems
10 Another example: data mining A way to integrate data in different formatsEach integrator is looking for specific informationThe number of databases can be increased without disrupting the systemNew types of relationships can be mined by adding new integrator objects
11 CORBAAn international standard for Object Request Broker (ORB) - middleware to manage distributed object communicationsA CORBA object encapsulates a state with an interface defined in an IDL (interface definition language)The object may be written in any languageThe ORB knows of all objects in the system and their interfacesExample services:trading services allow objects to use other objects on the netnotification services notify other objects that an event has occurredtransaction services support atomic transactions and rollback on failureAlternative approach by Microsoft: .NET, DLLs
12 CORBA application structure ******* Objects defined for a specific domain, e.g. banking** Objects used by many domains, e.g. user interface*** General services, e.g. directories, security management
13 12.4 Interorganizational distributed computing Old: intraorganizational distributed computingorg. resources shared behind a security wallcorporate look and feelNewer models share resources among organizationsPeer to peer: decentralized architectures with no distinction between clients and serversbig application: file sharingNapster, Kazaaoutlawed by Spain in 2006Service-oriented systemscreated by linking software services provided by different suppliersexamples?
14 Services standards Services based on communication via XML can be provided on any platformin any programming languageKey standardsSOAP - Simple Object Access Protocol (example)WSDL - Web Services Description Languagedescribes a web servicelocationmethods it exposedUDDI - Universal Description, Discovery and Integrationallows businesses to list themselves and make services availableprograms wanting a web service (e.g. credit card authentication) go through a service brokeroften located inside a company
15 Not all SOA*s are web-based * service oriented architecture