Code |
11571
|
Year |
3
|
Semester |
S2
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
No requirements.
|
Mode of delivery |
Presential (theoretical and practical) and self-learning.
|
Work placements |
not applicable
|
Learning outcomes |
The objectives of this course are: - Understanding what is a distributed system and its characteristics. - Studying the different models of implementing a distributed system. - Studying the technologies that support the implementation of a distributed system. - To know how to evaluate the viability of the implementation of a distributed system; - To identify different types of distributed systems; - To know how to implement a distributed system.
|
Syllabus |
Introduction to Distributed Systems (DS). Characteristics of a DS. Challenges in the implementation of a DS. Distributed programming models: Shared memory vs. distributed memory models; Message passing models: Synchronous vs. asynchronous communication, Remote procedure calling; Creation and identification of processes. Architectural models: Client/Server, Multiple Servers, Proxies, Peer-to-peer processes; Fundamental models: interaction model, failure model, security. Communication between processes: TCP and UDP sockets; Data serialization. Client/Server communication: the request-replay protocol; semantic for failure. Times and clocks. Distributed objects systems: The object model; Remote object invocation; Semantic for invocation; Implementation of RMI; case-studies, RMI, CORBA. Web programming.
|
Main Bibliography |
- Wolgang Emmerich, Engineering Distributed Objects, John Wiley and Sons, 2000, ISBN: 0471986577 - Coulouris, Dollimore, Kinderberg, Distributed Systems: Concepts and Design, Addison-Wesley, 2005, ISBN: 0321263545
|
Language |
Portuguese. Tutorial support is available in English.
|