ݺߣ

ݺߣShare a Scribd company logo
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
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
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
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
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
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

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