11645
TRANSCRIPT
Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Universitat Politècnica de Catalunya1 / 6
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 adistributed system.
Coordinator: PABLO JESUS CHACIN MARTINEZ
Teaching unit:
Academic year:
Credits:
701 - AC - Department of Computer Architecture
2009
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)
6 Teaching languages: English
Coordinating unit: 230 - ETSETB - Escola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona
Degree:
Lecturers
Learning objectives of the subject
Theory lectures Practice sessions and guided discussionsLab practices in groups
Teaching methodology
Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Universitat Politècnica de Catalunya2 / 6
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
Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Universitat Politècnica de Catalunya3 / 6
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
Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Universitat Politècnica de Catalunya4 / 6
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
Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Universitat Politècnica de Catalunya5 / 6
Continuous assessment 30 %Laboratory 30 %Final examination 40 %
Qualification system
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
Last update: 01/07/2009
11645 - APDA - Advanced Programming and Distributed Applications
Universitat Politècnica de Catalunya6 / 6
Regulations for carrying out activities
Prior skillsComputer 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
BibliographyBasic:
Requirements
Others resources:
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.