Course Description:

Key principles of distributed software systems: communication, processes, naming, synchronization, consistency and replication, fault tolerance, security and content distribution. Principles of Service-Oriented Architectures (SOA). Web-Based Distributed Architectures, Distributed Web Applications and Web Services technologies (XML, SOAP, WSDL, REST). Content Distribution Networks. Peer-to-Peer Systems.  Introduction to the architecture design of enterprise systems. Web Services Business Process Execution Language (WS-BPEL), a language for the specification and management of business processes based on Web Services. Development Frameworks (Java EE and .NET). Case studies of real-world modern distributed software systems to illustrate their design and development style.

DISTRIBUTED SYSTEMS: Concepts and Design (5th Edition, 2011)
George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair

DISTRIBUTED SYSTEMS: principles and paradigms (2nd Edition, 2006)
Andrew S. Tanenbaum and Maarten Van Steen

Course Code 41