1 / 12

Distributed Systems and Architectures

Distributed Systems and Architectures. CET306 Harry R. Erwin University of Sunderland. Roadmap. Survey of types of distributed systems and architectures RMI . . NET remoting . XML web services, focussing on the WCF . Client-server. N -tier. Grid and cloud computing.

tobit
Télécharger la présentation

Distributed Systems and Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Systems and Architectures CET306 Harry R. Erwin University of Sunderland

  2. Roadmap • Survey of types of distributed systems and architectures • RMI. • .NET remoting. • XML web services, focussing on the WCF. • Client-server. • N-tier. • Grid and cloud computing. • Mobility. • First semester project out • Discussion of textbooks and readings

  3. Texts • Clay Breshears (2009) The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications, O'Reilly Media, Pages: 304. • Wolfgang Kreutzer (1986) System Simulation: Programming Styles and Languages, Addison-Wesley. • Sedgewick and Wayne (2011) Algorithms, Fourth Edition, Addison-Wesley. • Barnaby, T., (2002) Distributed .NET Programming in C#, Apress. (Covers .NET remoting and discusses XML.) • Coulouris et al. (2005) Distributed Systems, Concepts and Design, 4th edition, Pearson. (More general than Barnaby.)

  4. RMI • Remote Method Invocation. • Various approaches, including RPC, CORBA, and Java RMI. • Ideally system-independent. • Allows a program in process A on machine I to talk to a program in process B on machine II. • Based on remote procedure calls (RPC, 1984) • Most of the early RPC implementations were UNIX and C-based. • One of the key problems was the advertising of services in a global way. • Has been an important area of software development for at least 40 years.

  5. .NET remoting • Supports invoking methods on and sharing data with objects running in other processes. • Example technologies: COM, DCOM, .NET remotingmodel. • .NET uses application domains running within a process. .NET remoting refers to the use of runtime services between application domains. • An application domain is a logical process. The AppDomain class implements the API. • Serialization is used to pass objects across application boundaries. • Proxies are used to represent remote objects efficiently. • Channels are used to handle the transfer over a network. • Use only with .NET clients. If you have to work with non-.NET clients, use RMI or XML web services (next)

  6. XML web services, with focus on WCF • XML is a platform-independent way to mark up data. The basis of SOAP and WSDL. Historically based on HTML and SDML—markup languages. • SOAP—simple object access protocol, the preferred web service messaging protocol. • WSDL—web service description language, an XML-based grammar for SOAP messages • UDDI—universal description, discovery, and integration—an XML-based grammar for describing your web services. • Controlled by W3C.

  7. Client-server • The earliest and most wide-spread distributed system architecture. Evolved from the mainframe/terminal architecture with the introduction of smart terminals and the internet. • Communication is between 32-bit ports at 64-bit IP addresses. • Based on TCP-IP, although the OSI 7-layer stack was competitive in US government applications for a while. • Depends on DNS.

  8. N-tier • Also known as a multitier architecture. • Most common version is the 3-tier architecture with a separate database server. • Presentation or client tier • Application tier (business logic) • Data tier • Does encounter issues involving data flows. • A good distributed security architecture as the firewalls of the application and data tiers can be designed to overlap and exclude direct access to the data tier.

  9. Grid computing • Conceptually a super-virtual computer distributed among a large number of loosely coupled standard computers with potentially different operating systems connected by networking rather than a bus. • Initially developed by the US intelligence community in the early 1990s using agent-based technology and distributed Java. • SETI-at-home is an example, although most grid systems are more strongly coupled than that. • Heavily used in large-scale scientific computing. • We have a grid system at Sunderland. Interested in trying it out?

  10. Cloud computing • Computing as a service. • Resources, information, storage, and software provided to the users as a utility over a network. • Resources have to be scalable and virtual. • Accessed from mobile phones, desktop machines, and web browsers. • Has been proposed for fifty years. • Security, privacy, and availability major issues.

  11. Mobile Computing • The basic idea is the computer is transported in its normal usage. Hence lightness, battery performance, convenience, and wireless connectivity are important. • Three aspects: • Mobile communication • Mobile hardware • Mobile software • The smartphone identifies many of the technical drivers. • Security and privacy major design concerns.

  12. Conclusions • Discussion of the project. • Discussion of the textbooks.

More Related