Curs 2014-15
Desenvolupament d'Aplicacions Distribuides
Titulació: | Codi: | Tipus: |
Grau en Enginyeria Informàtica | 21426 | Obligatòria 3r curs |
Grau en Enginyeria Telemàtica | 22608 | Optativa |
Grau en Enginyeria en Sistemes Audiovisuals | 22674 | Optativa |
Crèdits ECTS: | 4 | Dedicació: | 100 hores | Trimestre: | 1r |
Departament: | Dept. de Tecnologies de la Informació i les Comunicacions |
Coordinador: | Davinia Hernández-Leo |
Professorat: | Davinia Hernández-Leo, David Llanos |
Idioma: | Majoritàriament en anglès |
Horari: | |
Campus: | Campus de la Comunicació - Poblenou |
L'assignatura "Desenvolupament d'Aplicacions Distribuïdes" (DAD) és una assignatura obligatòria específica de tercer curs del Grau en Enginyeria Informàtica.
L'objectiu principal de l'assignatura és conèixer en profunditat els principis i les aproximacions tecnològiques existents per al desenvolupament d'aplicacions composats per elements que es comuniquen per xarxa. Això inclou tan els conceptes dels sistemes distribuïts, els models d'arquitectures i middleware per a implementar aplicacions distribuïdes, les dificultats implícites d'aquests tipus de sistemes, les tècniques utilitzades per a resoldre aquests problemes intrínsecs, com les tecnologies existents conformes a aquest models i que faciliten el diseny i desenvolupament d'aquest tipus de aplicacions.
D'altres aspectes més avançats i/o específics, com ara per exemple la computació distribuïda, el disseny de models de dades distribuïts, aspectes avançats de la programació d'aplicacions Web, o els protocols de xarxa distribuïts; queden fora dels continguts d'aquest curs. D'aquesta forma l'alumne tindrà l'oportunitat d'aprofundir en aquestes matèries a través d'assignatures optatives que complementen aquesta assignatura.
Complementa les assignatures de "Xarxes i Serveis" i "Protocols i Aplicacions Distribuïdes". Si en aquestes assignatures es tracten els protocols de l'arquitectura TCP/IP en els qual es sustenten les xarxes de communicacions, en DAD es puja el nivell d'abstracció fins al nivell més alt, per tal de desenvolupar aplicacions en un entorn específicament distribuït. Paral·lelament, com que l'assignatura requereix elements de l'"Enginyeria del Software", els "Fonaments de Programació" i la "Programació Orientada a Objectes", es recomana també haver superat aquests tres cursos. Addicionalment, l'assignatura pressuposa coneixements respecte a les àrees de xarxes i computadors, amb la qual cosa resulta important haver cursat prèviament les assignatures de "Sistemes Operatius" i "Arquitectura de Computadors", així com seguir al llarg del curs l'assignatura d' "Arquitectura de Xarxes" que s'imparteix també durant el primer trimestre de tercer curs.
Competències transversals | Competències específiques |
---|---|
Instrumentals 1. Capacitat d'anàlisi i síntesi. 2. Capacitat de aplicar coneixements a l'anàlisi de situacions i la resolució de 3. Capacitat d'organitzar i planificar. 4. Capacitat de comunicació amb propietat de forma oral i escrita, tant davant audiències expertes com inexpertes. Interpersonals 1. Capacitat de treball en equip. Sistèmiques 1. Capacitat d'aplicar amb flexibilitat i creativitat els coneixements adquirits i d'adaptar-los a contextos i situacions noves (per exemple, d'avaluar una |
1. Avaluar les implicacions d'utilitzar un 4. Conèixer tecnologies utilitzades 5. Saber dissenyar un sistema distribuït. 6. Tenir l'habilitat d'implementar un 7. Habilitat per a fer programes que
|
Per a cursar amb èxit l’assignatura és necessari acomplir el que es detalla en la següent taula.
Sistema de valoracio | Mínim per a poder aprovar l’assignatura | Pes en la nota final de l’assignatura | |
---|---|---|---|
Activitats en seminaris i classes de teoria |
Pràctiques individuals curtes i qüestions a resoldre abans, durant i després de les sessions de seminari. S’inclou la participació d’activitats (com ara anàlisi de casos reals d'aplicacions distribuïdes) plantejades en classe de teoria. |
S'han de completar tots els seminaris. (No recuperable) |
20% |
Pràctiques |
Una pràctica (amb diversos blocs) en parelles. |
Mínim de 5 sobre 10. (No recuperable) |
40% |
Prova agregada escrita |
Es fa al final del trimestre. Cobreix tota la matèria de l’assignatura (teoria, validació pràctiques i seminaris) i consta d’un test i un conjunt de problemes i qüestiones |
Mínim de 5 sobre 10. (Recuparable al Juliol ) |
40% |
L’assignatura es supera tenint un mínim de 5 punts (sobre 10) com a nota final.
- Bloc de contingut 1. Conceptes bàsics dels Sistemes Distribuïts: definicions, arquitectures distribuïdes, requeriments no funcionals, transparència, concepte de middleware.
- Bloc de contingut 2. Els origens del Middleware. Aplicacions distribuïdes en Unix. Inter-Process Comunication, programació amb Sockets. Remote Procedure Call (RPC).
- Bloc de contingut 3. Middleware Orientat a Objectes (Objectes distribuïts). Aplicacions distribuïdes amb Java: Remote Method Invocation (RMI). Aplicacions distribuïdes multi-llenguatge: Common Object Request Broker Architecture (CORBA)
- Bloc de contingut 4. Middleware Orientat a Components. Models de components orientat a lògica d'aplicació, dades o presentació (J2EE/EJB, .NET/DCOM, Servlets, ...).
- Bloc de contingut 5. Middleware Orientat a Serveis. Model SOA, Web Services, SOAP, REST, JSON.
- Bloc de contingut 6. Aspectes avançats. Cloud Computing: Definicions, característiques i tipus. WebSockets.
Tipus | Modalitat | Descripció |
---|---|---|
Classe magistral |
En aula, plenari |
Es fan servir PC - projector i pissarra com a suport de les explicacions teòriques. En aquestes explicacions s'intercalen activitats (com ara, anàlisi de casos reals de disseny d'aplicacions distribuïdes, debats sobre articles sobre models i tecnologies específiques...) on els estudiants podran participar activament. |
Seminari |
En aula d’ordinadors, grups reduïts | Els alumnes treballen fundamentalment de manera individual per tal de realitzar petites pràctiques on s'aplican les tecnologies tractades en l’assignatura. També es convinaran diferents dinàmiques de grup per intercanviar i debatre les solucions individuals. |
Pràctiques |
En aula d’ordinadors, grups reduïts | Projecte (pràctica llarga) centrado en el desenvolupament d’una aplicació distribuïda. Aquesta pràctica es fa en parella i s’ha de lliurar un informe explicant els resultats obtinguts. |
Preparació de seminaris, treball en pràctiques i estudio de conceptes teòrics | Fora d’aula, individual i en grup | Preparació dels seminaris i continuació del treball fet a seminaris i de les activitats a classe de teoria. Avanç de pràctiques i escriptura d’informes. Estudio dels conceptes teòrics per a la preparació dels seminaris, pràctiques i proves escrites. |
DAD té 4 crèdits ECTS que es corresponen a 100 hores de treball de l’alumne, de les quals 36 són presencials. Aquestes 36 hores estan dividides en sessions magistrals (18 hores), sessions de grup mitjà (10 hores) i sessions de seminaris amb grups petits d’alumnes (8 hores). La distribució d’hores per blocs de contingut es detalla a la taula següent.
Hores a l'aula | Hores fora de l'aula | ||||
---|---|---|---|---|---|
Blocs de contingut | Grup gran | Grup mitjà |
Grup petit | ||
B1 |
4 |
|
|
8 |
|
B2 |
2 |
2 |
10 |
||
B3 |
2 |
|
4 |
||
B4 |
2 |
|
2 |
10 |
|
B5 |
4 |
10 |
2 |
20 |
|
B6 |
4 |
2 |
12 |
||
Total: |
18 |
10 |
8 |
64 |
Total: 100 |
Com a bibliografia bàsica per a consulta es recomana: Couloris, G., Dollimore, J., Kindberg, T. (2015). Distributed Systems: Concepts and Design (4th Edition). Addison Wesley.
La bibliografia complementària i recursos didàctics per a cada bloc s’aniran indicant al llarg de l’assignatura via el AG.