160 likes | 188 Views
Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept. http://www.rn.inf.tu-dresden.de. Motivation and development tendencies. Desktop PC: multitasking networking direct manipulation, graphical interface high performance (CPU, transfer)
E N D
Distributed Systems Prof. Dr. Alexander Schill DresdenTechnical University Computer Networks Dept. http://www.rn.inf.tu-dresden.de
Motivation and development tendencies • Desktop PC: • multitasking • networking • direct manipulation, graphical interface • high performance (CPU, transfer) • large primary and secondary storage • Areas of application: • management / development (CASE – Computer Aided Software Engineering) • team working (CSCW – Computer Supported Collaborative Work) • group communication • process control (CIM – Computer Integrated Manufacturing)
Sample topology LAN • networked workstations, also organizationally integrated • super-proportionally increasing communication performance WAN L V.A.N. L LAN (for instance high performance network) Value added network A A N N DistributedOS Distributed DB
Distributed System • physical computer nodes (processor + storage) • direct / indirect computer coupling • local networks (Ethernet (CSMA/CD), Token Ring, Token Bus) • high-performance networks (Gigabit Ethernet, ATM) • gateways / bridges • radio networks (GSM, UMTS) • transport-oriented comm. protocols (TCP/IP, UDP/IP, IPng) • communicating processes • complete logical connection • no complete physical connection (communication via inter-components) • system oriented resources (file system, threads, system programs) • distributed storage, decentralized, co-operative • distributed applications (area specific) on top of distributed systems
Example: distributed application LAN WAN L V.A.N. L LAN for instance high performance network) Value added network A A N N DistributedOS Logical communication path Process Distributed DB
Distribution: Purposes • data, function and load distribution • decentralization and co-operation • locality properties and efficiency • integration of partial applications • remote resource access • fault tolerance: reliability and availability
Application example Client (for instance Point of Sale) Server (for instance account server) Server (for instance database) Client (for instance Automated Teller Machine) Requirements: - decentralized system structure - Internet/Intranet-integration - scalability - security concepts - transaction processing - heterogeneity of systems Client (for instance Home Access)
Network infrastructure: examples ISDN / X.25Fast Ethernet / Token Ring Client (for instance Point of Sale) • required bridging between • heterogeneous networks, • system platforms and • applications • Middleware Fast Ethernet /Token Ring Server (for instance account server) Server (for instance database) ATM Client (for instance Automated Teller Machine) X.25 Modem / ISDN / ADSLInternet-access Client (for instance Home Access)
N-tier-architectures Client (for instance Point of Sale) Server (for instance account server) Server (for instance database) Client (for instance Automated Teller Machine) Data management Application logic 3-tier: three-level structure; preferable for complex applications 2-tier: two-level structure (user-interface <->Host); simpler, but less flexible Client (for instance Home Access) User interface, if necessary pre-processing (thin client vs.fat client)
Client (for instance Point of Sale) Server (for instance account server) Middleware (for instance Java RMI, CORBA, .NET, SOAP) Middleware Transport-oriented layers (for instance TCP/IP, SNA) Transport-oriented layers Phys. network (for instance Fast Ethernet, Token Ring, ATM) Phys. network Middleware and Client/Server: coordination Application interaction Object interaction Def. of Middleware: “Infrastructure services for distributed applications for bridging of heterogeneity of different systems and networks”
Middleware: Basic technologies Java (Sun and others): - programming language, applets - Remote Method Invocation (RMI) - Enterprise JavaBeans (EJB): Components CORBA (Common Object Request Broker Architecture): - object-oriented, language independent; relatively low-level - standard of Object Management Group (OMG) .NET / COM+ (Component Object Model): - object-oriented, COM+ relatively proprietary, .NET more open - development of Microsoft Further approaches: - MOM (Message Oriented Middleware) - SOAP (Simple Object Access Protocol), Web Services - transaction monitors, Application Servers
Middleware: general overview Application Server / Enterprise Appli- cation Integration Integrity Usability by application developer Component-Frameworks (CORBA, EnterpriseJavaBeans, .NET, WebServices) Transaction monitors Message Oriented Middleware Object TransactionMonitor CORBA-/ RMI-/.NET/SOAP-Object-oriented Basic comm. Client/Server, Remote Procedure Call (RPC) (for instance DCE - Distributed Computing Environment) Flexibility
System models Client/Server (Remote Procedure Call): Client Call Result Server Offered procedures Control thread and data transfer Separate address spaces Object-oriented communication: 06 01 02 04 03 07 Computer 2 Computer 1 05 Computer 3
Document Server Document 1 Document 2 . . . Document n provide document (“Document 1”) Client A Copy Document 1 generate index (“Document 1”) Client B Client C provide document (“Document 3”) Copy Document 3
D1 = Server.provideDocument (“Document 1”) D1.move (here) D1.<operation> Client-Object A Document Server Document 1 Document 1 D2 = Server ... D2.generate Index () Document 2 Client-Object B Document 2 . . . Document n Client-Object C Document 3 D3 = Server.provideDocument (“Document 3”) D3.<operation>
Comparison of system models higher transparency grade and improved influence on distribution with object-oriented model