This document provides information about the course "11645 - APDA - Advanced Programming and Distributed Applications" offered at Universitat Politècnica de Catalunya. The course covers topics related to distributed systems including architectures, communication models, network programming, middleware, web applications, service-oriented architectures, and algorithms. It is a 6 credit course taught in English with theory lectures, practice sessions, and lab work. Assessment includes continuous assessment, labs, and a final exam.
1 of 6
Download to read offline
More Related Content
11645
1. Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Coordinating unit: 230 - ETSETB - Escola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona
Teaching unit: 701 - AC - Department of Computer Architecture
Academic year: 2009
Degree: MASTER OF SCIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGIES (Syllabus 2004).
(Teaching unit Compulsory)
TELECOMMUNICATION ENGINEERING (Syllabus 1992). (Teaching unit Optative)
ELECTRONICS ENGINEERING, PLA 92 (Syllabus 1992). (Teaching unit Optative)
MASTER OF SCIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGIES (Syllabus 2006).
(Teaching unit Compulsory)
MASTER IN TELEMATICS ENGINEERING (Syllabus 2006). (Teaching unit Optative)
Credits: 6 Teaching languages: English
Lecturers
Coordinator: PABLO JESUS CHACIN MARTINEZ
Teaching methodology
Theory lectures
Practice sessions and guided discussions
Lab practices in groups
Learning objectives of the subject
Understand the characteristics, challenges and main design concerns for large scale distributed systems.
Take informed decisions on the selection of the architecture, the application of design principles, and the utilization of
algorithms and techniques for distributed systems in future projects.
Understand the principles of network programming and the mechanisms for the communication between components of a
distributed system.
1/6 Universitat Politècnica de Catalunya
2. Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Content
1. Introduction
1.1 Basic concepts, characteristics and challenges
1.2 Architectures: tightly coupled, client/server, multi-tier, P2P
1.3 Comunication models: shared memory, stream oriented, remote procedure call,
1.4 Case studies
2. Network programming
2.1 TCP/IP Networking basics
2.2 Java network programming
2.3 Network protocol design
2.4 Data encoding
2/6 Universitat Politècnica de Catalunya
3. Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
3. Network services and middleware
3.1 Network services: FTP, DNS, Mail, Time
3.2 Middleware: communication, transaction monitors, application servers, data
4. Web Applications
4.1 HTTP protocol
4.2 Static and dynamic web content
4.3 Server side application programming
5 Internet of Services
5.1 Service Oriented Architectures
5.2 Web Services Standards: XML, SOAP, WSDL
3/6 Universitat Politècnica de Catalunya
4. Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
5.3 Alternatives to Web Services: XML-RPC, REST
6. Design of distributed Systems
6.1 Design concerns: scalability and foult tolerance
6.2 Replication and Distribution
6.3 Architecture topologies: Centralized, Ring, Decentralized, Hierarchical, Hybrid
7 Naming and location
7.1 Name resolution and location
7.2 DNS
7.3 Mobility
8 Basic algorithms
4/6 Universitat Politècnica de Catalunya
5. Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
8.1 Logical an physical clocks, causality
8.2 Global state
8.3 Reaching consensus and leader selection
8.4 Mutual exclusion and distributed transactions
9. Advanced Topics
9.1 Grid Computing
9.2 P2P systems
9.3 Content Delivery Networks
9.4 Sensor Networks
Qualification system
Continuous assessment 30 %
Laboratory 30 %
Final examination 40 %
5/6 Universitat Politècnica de Catalunya
6. Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Regulations for carrying out activities
Prior skills
Computer Networks: Communication protocols, LANs/WANs
Computer Systems: Computer organization and architecture (CPU, memory, I/O), processes and threads
System Software: Linux operating systems and tools
Programming: Basic algorithms and data structures, Compile-Test-Debug cycle, Java programming language
Requirements
Bibliography
Basic:
Tanenbaum, A.S.; Steen, M.van. Distributed systems: principles and paradigms. 2nd ed. Upper Saddle River, N.
J.: Pearson Prentice Hall, 2007. ISBN 0132392275.
Reilly, D.; Reilly, M. Java network programming and distributed computing [on line]. Addison-Wesley, 2002
[Consultation: 27/07/2009]. Available on: <http://proquest.safaribooksonline.com/0201710374/pref01>. ISBN
0201710374.
Others resources:
6/6 Universitat Politècnica de Catalunya