|
Ficha
Unidade Curricular: |
Computa�‹o M—vel |
|
Docente: |
Rui Silva Moreira |
|
Grau AcadŽmico: |
Doutor |
|
Categoria Funcional: |
Professor Associado |
|
Curso: |
Engenharia Inform‡tica |
|
Ciclo De Estudos: |
1¼ Ciclo |
|
Ano Lectivo: |
2015-2016 |
|
Semestre Curricular: |
1¼ Semestre |
|
N.¼ Total ECTS: |
8 |
|
N.¼ ECTS Contacto: |
2,5 |
|
Tipologia Das Aulas: |
Te—rico-Pr‡tica (TP) e
Pr‡tica-Laboratorial (PL) |
Ao longo dos œltimos anos temos assistido a um crescimento exponencial na utiliza�‹o de computadores e redes de telecomunica�›es em todas as ‡reas da sociedade. O grande poder de processamento destes computadores aliado ao seu baixo custo e ˆ generaliza�‹o das redes de computadores abriu novas possibilidades na organiza�‹o dos sistemas inform‡ticos. A necessidade de partilhar e gerir dados, perifŽricos e o processamento em v‡rias m‡quinas ligadas por rede, de forma coordenada, fi‡vel, escal‡vel e segura, levou ao aparecimento da disciplina de Sistemas Distribu’dos.
Neste contexto, o objectivo principal desta unidade curricular Ž apresentar aos alunos as arquitecturas, os modelos e os protocolos de gest‹o de sistemas distribu’dos mais utilizados. Por outro lado, pretende-se tambŽm introduzir algumas das ferramentas actualmente utilizadas para o desenvolvimento de aplica�›es distribu’das (cf. RMI/EJB, CORBA/CCM, COM+/DCOM/.NET) uma vez que consideramos importante que uma forma�‹o superior na ‡rea de inform‡tica inclua este assunto no seu curr’culo. Assim, pretende-se que os alunos consigam definir e caracterizar os sistemas distribu’dos, nomeadamente os seus objectivos, os conceitos de hardware, software e middleware envolvidos e o modelo base de arquitectura mais utilizado (cf. Cliente-Servidor). Pretende-se ainda que os alunos, consigam caracterizar as tŽcnicas e os modelos de comunica�‹o mais utilizados em sistemas distribu’dos, e.g., invoca�‹o remota de procedimentos, invoca�‹o de mŽtodos em objectos remotos, comunica�‹o ass’ncrona (baseada em mensagens) e comunica�‹o s’ncrona (multimŽdia).
Os alunos dever‹o ainda ser capazes de perceber os modelos mais importantes na identifica�‹o, localiza�‹o e gest‹o de recursos em sistemas distribu’dos, e conseguir descrever os algoritmos de sincroniza�‹o e controlo de concorr�ncia mais utilizados em sistemas distribu’dos. Outro objectivo importante ser‡ a capacidade para compreender e aplicar os modelos e protocolos mais utilizados na replica�‹o de recursos e na gest‹o da consist�ncia como forma de aumentar a toler‰ncia a falhas, e conseguir descrever e utilizar os algoritmos mais utilizados no controlo de transac�›es distribu’das. Devem ainda identificar os problemas e usar as solu�›es correntemente utilizadas na protec�‹o de recursos.
Por outro lado, os alunos dever‹o conseguir identificar e caracterizar as aplica�›es mais relevantes de sistemas distribu’dos que foram sendo utilizados nos œltimos anos (e.g., sistemas de ficheiros distribu’dos, sistemas de documentos distribu’dos, sistemas de coordena�‹o e multimŽdia distribu’dos) e tambŽm conseguirem identificar, caracterizar e comparar os modelos de objectos e componentes (cf. CORBA/CCM, RMI/EJB, COM+/DCOM/.NET) existentes no mercado de middleware.
Finalmente, devem os alunos ser capazes de perceber e aplicar os conceitos e mecanismos de implementa�‹o de sistemas distribu’dos recorrendo ˆ tecnologia de rede dispon’vel em Java, i.e., invoca�‹o de mŽtodos em objectos remotos Remote Method Invocation (RMI) e Java networking.
ECTS:
Presencial: 8
N‹o Presencial: 0
Total (Presencial + N‹o Presencial): 8
Tipologia:
(x) Forma�‹o Espec’fica
( ) Forma�‹o B‡sica
( ) Unidade Curricular de Op�‹o
( ) Projecto de Gradua�‹o
Parcela (Horas)
Te—rica
Te—rico-Pr‡tica: 32
Pr‡tica
Pr‡tica Laboratorial: 32
Ensino Cl’nico
Semin‡rio
Trabalho de Campo:
Est‡gio
Orienta�‹o Tutorial:
Avalia�‹o:
Nota: 1 ECTS = 26 horas
Linguagens de Programa�‹o II (cf. Programa�‹o Orientada-Objectos em Java).
Lista de compet�ncias a alcan�ar no final da unidade curricular de acordo com o formato dos Descritores de Dublin:
1. Conhecimento e capacidade de
compreens‹o:
1.1. Dom’nio sobre os v‡rios objectivos dos sistemas distribu’dos
1.2. Compreens‹o dos mecanismos de comunica�‹o e principais modelos/ferramentas de desenvolvimento de sistemas distribu’dos
1.3. Dom’nio das principais tŽcnicas utilizadas na organiza�‹o do processamento, localiza�‹o e sincroniza�‹o de sistemas distribu’dos
1.4. Dom’nio sobre os modelos de replica�‹o e de toler‰ncia a falhas aplicados no desenvolvimento de sistemas distribu’dos
1.5. Dom’nio sobre os mecanismos de seguran�a e coordena�‹o utilizados em sistemas distribu’dos
2. Aplica�‹o de conhecimentos e compreens‹o:
2.1. Conhecimentos para utilizar/aplicar conceitos, tecnologias e ferramentas (cf. sockets, RMI, Web services, etc.) na especifica�‹o e desenvolvimento de sistemas distribu’dos
2.2. Conhecimentos para compreender, desenvolver e instalar aplica�›es distribu’das
2.3. Conhecimentos para utilizar/aplicar modelos de replica�‹o, coordena�‹o e toler‰ncia a falhas no desenvolvimento de sistemas distribu’dos
3. Realiza�‹o de
julgamento/tomada de decis›es:
3.1. Capacidade para definir e escolher diferentes arquitecturas para sistemas distribu’dos
3.2. Capacidade para seleccionar e justificar diferentes ferramentas de desenvolvimento
3.3. Capacidade para escolher diferentes modelos de replica�‹o e sincroniza�‹o
4. Comunica�‹o:
4.1. Capacidade para descrever/explicar a arquitectura, tecnologias e funcionalidades de um sistema distribu’do
4.2. Capacidade de apresenta�‹o e compara�‹o de sistemas e tecnologias distribu’das
4.3. Capacidades de compara�‹o e justifica�‹o da utiliza�‹o de tecnologias e modelos de organiza�‹o distribu’dos
5. Compet�ncias de auto-aprendizagem:
5.1. Capacidade/curiosidade para conhecer e aprofundar conhecimentos sobre sistemas distribu’dos
5.2. Capacidades de autonomia e de auto-disciplina para procurar solu�›es alternativas e ultrapassar autonomamente dificuldades inerentes ao desenvolvimento de sistemas distribu’dos
0. Apresenta�‹o
0.1. Enquadramento e Objectivos
0.2. Conteœdo Program‡tico e Bibliografia
0.3. Metodologia e Sistema de Avalia�‹o
1. Introdu�‹o aos Sistemas Distribu’dos
1.1. Defini�‹o
1.2. Objectivos e caracter’sticas dos sistemas distribu’dos
1.3. Middleware
1.4. Modelo cliente - servidor
2. Comunica�‹o em Sistemas Distribu’dos
2.1. Protocolos por camadas
2.2. Tipos de comunica�‹o entre processos
2.3. Comunica�‹o por procedimentos remotos (RPC)
2.4. Comunica�‹o por objectos remotos (RMI/CORBA/DCOM)
2.5. Comunica�‹o ass’ncrona (MOM)
2.6. Comunica�‹o s’ncrona (fluxos de dados)
3. Processamento, Localiza�‹o e Sincroniza�‹o de Recursos
3.1. Identifica�‹o de entidades distribu’das
3.2. Organiza�‹o de processamento distribu’do (cf. processos, threads, agentes)
3.3. Localiza�‹o de recursos e entidades m—veis
3.4. Coopera�‹o e sincroniza�‹o temporal
3.5. Coordena�‹o e gest‹o de recursos/estados
3.6. Gest‹o da concorr�ncia com regi›es cr’ticas
3.7. Gest‹o da concorr�ncia com transac�›es
4. Replica�‹o de Recursos e Toler‰ncia a Falhas
4.1. Modelos de consist�ncia
4.2. Protocolos de replica�‹o/actualiza�‹o de recursos
4.3. Protocolos de gest‹o de consist�ncia
4.4. Gest‹o de grupos e mascaramento de falhas
4.5. Protocolos de coordena�‹o de transac�›es (2PC/3PC)
4.6. Protec�‹o e seguran�a
5. Ferramentas e Servi�os Remotos
5.1. Sistemas de componentes distribu’dos - Middleware
5.2. Aplica�›es de sistemas distribu’dos
5.2.1. Sistemas de ficheiros distribu’dos
5.2.2. Sistemas de coordena�‹o distribu’dos
5.3. Ferramentas baseadas em mŽtodos remotos (Java RMI)
5.3.1. Introdu�‹o e instala�‹o das ferramentas de desenvolvimento
5.3.2. Arquitectura das camadas RMI
5.3.3. Descri�‹o das entidades/recursos RMI
5.3.4. Localiza�‹o e refer�ncia de objectos remotos
5.3.5. Aspectos de seguran�a
5.3.6. Passagem de par‰metros e serializa�‹o
5.3.7. Distribui�‹o e instala�‹o de classes/objectos RMI
5.3.8. Servidores e clientes multi-thread
5.3.9. Ferramentas de networking (sockets, multicast)
5.3.10. Implementa�‹o de sistemas/servi�os distribu’dos
5.4. Compara�‹o entre Java RMI vs .NET Remoting
5.4.1. Arquitectura e implementa�‹o
5.4.2. Protocolos/canais de comunica�‹o e interoperabilidade
5.4.3. Passagem de par‰metros por valor vs refer�ncia
5.4.4. Registos/Servi�o de nomes
5.4.5. Ciclo de desenvolvimento e activa�‹o
5.5. Ferramentas baseadas em servi�os Web (Web Services - WS)
5.5.1. Objectivos e tecnologias de base
5.5.2. Arquitectura e elementos de suporte
5.5.3. Implementa�‹o de Web Services (WS)
Designa�‹o da unidade lectiva; Horas Contacto (HC) - (T+TP+P+L+TC+OT); Horas de Estudo Individual (HEI); ECTS; Bibliografia (B)
0. Apresenta�‹o; HC: 1
1. Introdu�‹o aos Sistemas Distribu’do; HC: 4; HEI: 8; ECTS: 0,5; B: [1], [2]
2. Comunica�‹o em Sistemas Distribu’dos; HC: 4; HEI: 8; ECTS: 0,5; B: [1], [2]
3. Processamento, Localiza�‹o e Sincroniza�‹o Recursos; HC: 12; HEI: 26; ECTS: 1,5; B: [1], [2]
4. Replica�‹o de Recursos e Toler‰ncia a Falhas; HC: 12; HEI: 26; ECTS: 1,5; B: [1], [2]
5. Ferramentas e Servi�os Remotos; HC: 30; HEI: 76; ECTS: 4; B: [1], [2], [3], [4], [5]
Horas Contacto (TP+PL): 208
Horas Estudo Individual: 64
Horas Totais: 144
ECTS: 8
N¼ ECTS = N¼ horas/26
O sistema de avalia�‹o desta disciplina segue na generalidade o regulamento pedag—gico da UFP e define em espec’fico as seguintes regras de c‡lculo:
1 -
Avalia�‹o cont’nua
A avalia�‹o compreende duas componentes: uma componente Te—rico-Pr‡tica (TP) e uma componente Pr‡tica-Laboratorial (PL). A classifica�‹o final da disciplina ser‡ calculada atravŽs da seguinte express‹o:
Nota final = 50% Nota Componente TP + 50% Nota Componente PL
Componente
Te—rico-Pr‡tica (TP)
A componente TP realiza-se de forma cont’nua durante o semestre e inclui os seguintes elementos de avalia�‹o:
¥ Um teste de avalia�‹o individual: incide sobre os conhecimentos leccionados atŽ ao momento da sua realiza�‹o. O teste realiza-se no fim do semestre (em data a combinar com os alunos). O teste englobar‡, por exemplo, op�›es de escolha mœltipla, verdadeiro/falso bem como a utiliza�‹o das tecnologias e ferramentas de desenvolvimento abordadas na implementa�‹o concreta de cen‡rios ou exemplos de servi�os distribu’dos.
¥ Desempenho nas aulas: esta componente procurar‡ avaliar a participa�‹o e o progresso dos alunos nas aulas e a capacidade para a realiza�‹o de exerc’cios.
A falta aos momentos de avalia�‹o ser‡ convertida numa nota 0 (zero) para efeitos de c‡lculo da classifica�‹o. A classifica�‹o obtida na componente TP ser‡ calculada atravŽs da seguinte express‹o:
Nota Componente TP = 90% Teste + 10% Desempenho Aulas
Componente
Pr‡tica-Laboratorial (PL)
A componente PL realiza-se de modo cont’nuo durante as aulas e atravŽs da realiza�‹o de projectos pr‡ticos realizados em grupo (m‡ximo 2 alunos), sobre um ou mais temas propostos durante o semestre. A avalia�‹o da componente PL inclui os seguintes elementos de avalia�‹o:
¥ Projecto Sistemas Distribu’dos: esta componente procurar‡ estimular e avaliar a autonomia e o conhecimento na utiliza�‹o de diferentes tecnologias e ferramentas para a organiza�‹o e desenvolvimento de sistemas distribu’dos. Ser‹o colocados v‡rios desafios aos alunos que dever‹o implementar as respectivas solu�›es, recorrendo ˆs ferramentas de desenvolvimento existentes. Dever‹o ser entregues dois relat—rios: o 1¼ relat—rio, entregue atŽ meio do semestre (em data a especificar), dever‡ conter a defini�‹o da arquitectura, modelos de dados e algoritmos de distribui�‹o e sincroniza�‹o necess‡rios para a resolu�‹o do problema; o 2¼ relat—rio, entregue no final do semestre (em data a especificar), dever‡ conter a arquitectura e modelos de distribui�‹o implementados. Os alunos dever‹o fazer ainda, em sala de aula, uma defesa e demonstra�‹o das solu�›es desenvolvidas.
¥ Desempenho nas aulas: esta componente procurar‡ avaliar a participa�‹o e o progresso dos alunos nas aulas e a capacidade para a realiza�‹o de exerc’cios.
A falta aos momentos de avalia�‹o ser‡ convertida numa nota 0 (zero) para efeitos de c‡lculo da classifica�‹o. A classifica�‹o obtida na componente PL ser‡ calculada atravŽs da seguinte express‹o:
Nota Componente PL = 20% 1¼ Relat—rio Projecto + 70% 2¼ Relat—rio e Defesa Oral Projecto + 10% Desempenho Aulas PL
O acesso ˆs Žpocas de exame, relativas apenas ˆ componente TP, faz-se de acordo com o regulamento pedag—gico. A componente PL n‹o pode ser efectuada por exame.
2 -
Exames
Os exames ser‹o realizados de acordo com o regulamento pedag—gico da UFP nos per’odos previstos no cronograma e incidir‹o sobre a totalidade da matŽria inclu’da no programa da disciplina. O docente poder‡ solicitar o desenvolvimento de trabalhos com apresenta�‹o oral de modo a melhor aferir o n’vel de conhecimentos e compet�ncias alcan�adas pelos alunos. A classifica�‹o final do aluno ser‡ calculada utilizando a equa�‹o indicada acima.
[1] Coulouris G., Dollimore J., Kindberg T., Blair, G. S., Distributed Systems Concepts and
Design, 5th Ed., Addison-Wesley 2011.
[2] Tanenbaum, A., Steen, M., Distributed Systems, Principles
and Paradigms, Prentice Hall 2002.
[3] Sun Developers
Services, URL: http://developer.java.sun.com/developer/ (2009).
[4] Jian, Chen, Java
RMI vs .Net Remoting, White Paper, 2003,
http://students.cs.tamu.edu/jchen/cpsc689-608/comparison/l0c0607-framework_comp_lichen.pdf
(2007).
Computador Port‡til
Netbeans, http://www.netbeans.org/downloads
Eclipse, http://www.eclipse.org/downloads
Eclipse RMI Plugin, http://rmi-eclipse.sourceforge.net
Apresenta�‹o dos objectivos, programa e mŽtodo de avalia�‹o. Introdu�‹o aos sistemas distribu’dos: defini�‹o. Comunica�‹o em sistemas distribu’dos. Processamento, localiza�‹o e sincroniza�‹o de recursos. Replica�‹o de recursos e toler‰ncia a falhas. Sistemas de componentes distribu’dos – Middleware. Ferramentas e servi�os remotos – estudo do Java RMI, compara�‹o entre o Java RMI vs .NET Remoting, Networking (sockets unicast e multicast), introdu�‹o aos servi�os web.
Presentation
of the goals, syllabus and evaluation methods. Introduction to distributed systems.
Communication issues in distributed systems. Processing, locating and
synchronizing resources. Resource replication and fault tolerance. Distributed
component systems – Middleware. Remote services and frameworks –
Java RMI case study, comparison between Java RMI vs .NET Remoting,
Networking (unicast and multicast sockets), introduction to web services.
|
Course Title: Sistemas Distribu’dos / Distributed Systems |
Code |
|||||
|
Language of Instruction PT
|
Assessment Method Exames & Projectos Exams
& Projects |
Level of Course Undergraduate |
Number of Credits 8 |
|||
|
Year of Studies |
Name of Lecturer Rui Moreira |
Spring Semester x |
Total Hours: 208 |
|||
|
Course Objectives: Apresenta�‹o
dos objectivos e assuntos relacionados com a comunica�‹o em Sistemas
Distribu’dos. Estudar os mecanismos de localiza�‹o, sincroniza�‹o e gest‹o de recursos e as aplica�›es em
sistemas distribu’dos. Abordar ainda os sistemas de objectos e componentes
distribu’dos – Middleware. Presentation of the goals and Communication issues
of distributed systems. Study the mechanisms for locating, synchronizing and
managing resources. Surveying applications of distributed systems and
existing distributed objects/components system (Middleware). |
||||||
|
Course
Description: 1.
Introdu�‹o aos Sistemas Distribu’dos 2.
Comunica�‹o em Sistemas Distribu’dos 3.Processamento,
Localiza�‹o e Sincroniza�‹o de Recursos 4.
Replica�‹o de Recursos e Toler‰ncia a Falhas 5.
Ferramentas e Servi�os Remotos |
1. Introduction to distributed
systems 2. Communication issues in
distributed systems 3. Processing, locating and
synchronizing resources 4. Resource replication and fault
tolerance 5. Frameworks and remote services |
|||||
|
Obligatory Reading |
[1] Coulouris G., Dollimore J., Kindberg T.,
Blair, G. S., Distributed Systems Concepts and Design, 5th Ed.,
Addison-Wesley 2011. [2] Tanenbaum, A., Steen,
M., Distributed Systems, Principles and Paradigms, Prentice Hall 2002. [3] Moreira, R., FORMAware:
Framework Of Reflective components for Managing architecture Adaptation, PhD
Thesis, Lancaster University, October 2003. [4] Sun Developers Services, URL:
http://developer.java.sun.com/developer/ (2009). [5] Jian, Chen, Java RMI vs .Net Remoting,
White Paper, 2003,
http://students.cs.tamu.edu/jchen/cpsc689-608/comparison/l0c0607-framework_comp_lichen.pdf
(2007). |
|||||
|
Supplementary Reading |
[6] Orfali,
R., Harkey, D. Client/Server
Programming with Java and CORBA, 2nd Edition, Wiley Computer
Publishing, 1998. |
|||||
|
Method of Teaching |
Aulas
te—ricas e pr‡ticas / Theoretical and practical classes |
|||||
|
Prerequisites |
Conhecimentos
de programa�‹o OO & Redes de Computadores Knowledge
of OO programming & Computer Networking |
|||||
|
Assessment method |
Exames
& trabalhos / Exams & projects |
|||||
|
Responsible person |
Rui Moreira |
e-mail:
rmoreira@ufp.edu.pt |
||||
Modelo A3ES: Sistemas Distribu’dos
Neste curso pretende-se que os alunos adquiram conhecimentos s—lidos sobre as arquitecturas, modelos e protocolos de gest‹o de sistemas distribu’dos. Os alunos dever‹o conseguir definir e caracterizar diferentes tipos de sistemas distribu’dos, nomeadamente os seus objectivos, servi�os de middleware envolvidos e variantes arquitecturais ao modelo base Cliente-Servidor. Dever‹o ainda conseguir caracterizar as tŽcnicas e os modelos de comunica�‹o mais utilizados em sistemas distribu’dos, e.g., invoca�‹o remota de mŽtodos, comunica�‹o ass’ncrona (mensagens) e comunica�‹o s’ncrona (streaming). Pretende-se tambŽm introduzir algumas ferramentas usadas no desenvolvimento de aplica�›es distribu’das (e.g., RMI/EJB, CORBA/CCM, DCOM/.NET, Web Services). Os alunos dever‹o ficar capazes de aplicar os conceitos e mecanismos de implementa�‹o de sistemas distribu’dos recorrendo a tecnologias existentes (e.g., invoca�‹o de mŽtodos em objectos remotos (RMI) e Web Services).
In this course students
should acquire solid knowledge about the most common architectures, management models
and protocols used in distributed systems. Students should be able to define
and characterize different types of distributed systems, namely the objectives,
middleware services involved and architectural variants of the client-server base
model. Students should also be able to characterize the most used techniques
and patterns of communication in distributed systems, e.g., remote method
invocation, asynchronous communication (message-based) and synchronous
communication (streaming). It is also intended to introduce some tools used in
the development of distributed applications (e.g., RMI / EJB, CORBA / CCM, DCOM
/ .NET, Web Services). Students should be able to apply the concepts and
implementation mechanisms of distributed systems by using existing technologies
(e.g., invoking methods on remote objects (RMI) and Web Services).
1. Introdu�‹o aos Sistemas Distribu’dos
2. Comunica�‹o em Sistemas Distribu’dos
3. Processamento, Localiza�‹o e Sincroniza�‹o de Recursos
4. Replica�‹o de Recursos e Toler‰ncia a Falhas
5. Ferramentas e Servi�os Remotos
1. Introduction to
Distributed Systems
2. Communication in
Distributed Systems
3. Processing,
Location & Synchronization of Resources
4. Replication of
Resources and Fault Tolerance
5. Tools and Remote Services
Os conteœdos program‡ticos s‹o coerentes com os objectivos de aprendizagem na medida em que focam os principais temas tradicionalmente abordados em sistemas distribu’dos. Em particular come�a-se por caracterizar os diferentes objectivos e aspectos inerentes aos sistemas distribu’dos bem como as tecnologias e servi�os que est‹o na base destes sistemas. Particulariza-se o estudo dos tipos de comunica�‹o utilizados e abordam-se os modelos de localiza�‹o, replica�‹o e sincroniza�‹o de recursos bem como a gest‹o de actualiza�›es, concorr�ncia e toler‰ncia a falhas. Paralelamente abordam-se na pr‡tica tecnologias utilizadas na implementa�‹o de sistemas distribu’dos, nomeadamente atravŽs da invoca�‹o de mŽtodos remotos e web services. Os objectivos da aprendizagem est‹o portanto alinhados com os temas abordados ao n’vel te—rico como tambŽm com os exemplos pr‡ticos concretizados por via de exerc’cios e projetos implementados recorrendo a ferramentas de middleware existentes.
The presented contents
are consistent with the learning objectives since these focuses the main issues
traditionally addressed in distributed systems. In particular we start by
characterizing the different objectives and aspects inherent to distributed
systems and the technologies and services that underlie these systems. In
particular we start to address the different types of communication used in
distributed systems and also the models of location, replication and
synchronization as well as the management mechanisms for updates, fault
tolerance and concurrency. In parallel we address in practice some of the existing
technologies used in the implementation of distributed systems, in particular the
invocation of remote methods and web services. The learning objectives are
therefore aligned with the theoretical themes as well as the practical examples
achieved by means of exercises and projects implemented using currently
available market tools.
Esta unidade curricular est‡ organizada em aulas te—rico-pr‡ticas (TP) e pr‡ticas (PR). A metodologia de ensino utilizada no ‰mbito das aulas TP baseia-se na exposi�‹o oral dos conteœdos program‡ticos bem como na discuss‹o das principais quest›es sobre os temas abordados. Paralelamente, no contexto das aulas pr‡ticas laboratoriais, os alunos t�m oportunidade de contactar com ferramentas de software (cf. RMI, Web Services) vulgarmente utilizadas e aplicadas no desenvolvimento de sistemas distribu’dos. A avalia�‹o Ž cont’nua, contemplando em partes iguais a componente TP e PR. A componente TP Ž avaliada por um exame realizado no final do semestre. A componente PR Ž avaliada pelo planeamento e implementa�‹o de um projecto de um sistema/servi�o distribu’do cujos requisitos s‹o propostos durante o semestre.
This course is organized
into theoretic-practical (TP) and practical classes (PR). The teaching
methodology used within TP classes is based on the oral presentation of the contents
as well as the discussion of the main issues about the covered topics. In
parallel, the context of laboratory classes provide students the opportunity to
contact with software tools (cf. RMI, Web Services) usually
used for developing distributed systems. The assessment is continuous,
contemplating with equal weight both the TP and PR components. The TP component
is assessed by an exam at the end of the semester. The PR component is assessed
through the planning and implementation of a project for a distributed
system/service whose requirements are proposed during the semester.
As metodologias de ensino aplicadas nesta unidade curricular procuram levar os alunos a conhecer os modelos e arquitecturas de planeamento e gest‹o de sistemas distribu’dos, bem como a desenvolver compet�ncias na identifica�‹o e implementa�‹o dos requisitos para estes sistemas. A vertente proporcionada pelas aulas pr‡ticas permite um contato com tecnologias actualmente utilizadas no desenvolvimento de sistemas distribu’dos numa l—gica de servi�os, tecnologias de invoca�‹o de mŽtodos remotos e servi�os web. Esta experi�ncia e contacto com contextos pr‡ticos espec’ficos permite ainda melhorar as capacidades de an‡lise e reflex‹o sobre sistemas ou servi�os existentes, sendo essencial na obten�‹o de compet�ncias tŽcnicas e de desenvolvimento nesta ‡rea.
Teaching methodologies
applied in this course seek to lead students to know the models and
architectures used when planning and managing distributed systems, and to
develop skills for identifying and implementing the necessary requirements for
these systems. The practical classes allow the contact with current
technologies used in the development of distributed systems using a logic of services, remote method invocation technologies
and web services. This experience and contact with specific practical contexts
also improve the analysis and reflection capacities of students with respect to
existing systems, which is essential in obtaining technical and development
skills in this area.
[1] Coulouris G., Dollimore J., Kindberg T., Blair, G. S., Distributed Systems Concepts and
Design, 5th Ed., Addison-Wesley 2011.
[2] Tanenbaum, A., Steen, M., Distributed Systems, Principles
and Paradigms, Prentice Hall 2002.
[3] Sun Developers
Services, URL: http://developer.java.sun.com/developer/ (2009).
[4] Jian, Chen, Java RMI vs .Net Remoting, White Paper, 2003, http://students.cs.tamu.edu/jchen/cpsc689-608/comparison/l0c0607-framework_comp_lichen.pdf (2007).