Vés al contingut

Aplicacions Distribuïdes

Crèdits
6
Tipus
Complementària d'especialitat (Tecnologies de la informació)
Requisits
Departament
AC
Assignatura on és treballa amb protocols del nivell d'aplicació de les xarxes de computadors i aplicacions distribuïdes, incloent aplicacions per a dispositius mòbils.
En concret, es mostrarà el funcionament d'aplicacions i serveis basats en el protocol HTTP i altres protocols de nivell d'aplicació, indicant alguns aspectes diferencials de les aplicacions mòbils. També es tractarà la representació i intercanvi de continguts multimèdia (àudio, vídeo, etc.) en streaming i descàrrega.
Finalment, s'explicaran alguns dels mecanismes utilitzats per a proporcionar seguretat a nivell d'aplicació.

Professorat

Responsable

Altres

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.4
Aprenentatge autònom
5.6

Competències

Competències tècniques comunes

  • CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
    • CT6.4 - Demostrar coneixement i capacitat d'aplicació de les característiques, de les funcionalitats i de l'estructura dels Sistemes Distribuïts i de les Xarxes de Computadors i d'Internet que en garanteixi l'ús i l'administració, així com el disseny i la implementació d'aplicacions basades en elles.
  • CT7 - Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
    • CT7.2 - Avaluar sistemes hardware/software en funció d'un criteri de qualitat determinat.
  • CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
    • CT8.1 - Identificar tecnologies actuals i emergents i avaluar si són aplicables, i en quina mesura, per a satisfer les necessitats dels usuaris.
    • CT8.4 - Elaborar el plec de condicions tècniques d'una instal·lació informàtica que compleixi els estàndards i la normativa vigent.
  • Especialitat tecnologies de la informació

  • CTI1 - Definir, planificar i gestionar la instal·lació de la infraestructura TIC de l'organització.
    • CTI1.4 - Seleccionar, dissenyar, desplegar, integrar, avaluar, construir, gestionar, explotar i mantenir les tecnologies de hardware, software i xarxes, dintre dels paràmetres de cost i qualitat adequats.
  • CTI2 - Garantir que els sistemes TIC d'una organització funcionen de manera adequada, són segurs i estan adequadament instal·lats, documentats, personalitzats, mantinguts, actualitzats i substituïts, i que les persones de l'organització reben un suport TIC correcte.
    • CTI2.1 - Dirigir, planificar i coordinar la gestió de la infraestructura informàtica: hardware, software, xarxes i comunicacions.
  • CTI3 - Dissenyar solucions que integrin tecnologies de hardware, software i comunicacions (i capacitat de desenvolupar solucions específiques de software de sistemes) per a sistemes distribuïts i dispositius de computació ubiqua.
    • CTI3.1 - Concebre sistemes, aplicacions i serveis basats en tecnologies de xarxa, tenint en compte Internet, web, comerç electrònic, multimèdia, serveis interactius i computació ubiqua.
    • CTI3.2 - Implementar i gestionar sistemes ubics (mobile computing systems).
    • CTI3.3 - Dissenyar, implantar i configurar xarxes i serveis.
  • CTI4 - Emprar metodologies centrades en l'usuari i l'organització per al desenvolupament, l'avaluació i la gestió d'aplicacions i sistemes basats en tecnologies de la informació que assegurin l'accessibilitat, l'ergonomia i la usabilitat dels sistemes.
  • Emprenedoria i innovació

  • G1 [Avaluable] - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; capacitat de comprendre les regles laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Desenvolupar la creativitat, l'esperit emprenedor i la tendència a la innovació.
    • G1.3 - Ser resolutiu. Utilitzar coneixements i habilitats estratègiques per a la creació i la gestió de projectes, aplicar solucions sistèmiques a problemes complexos, i dissenyar i gestionar la innovació en la organització. Demostrar flexibilitat i professionalitat en el desenvolupament de la seva feina.
  • Actitud adequada davant el treball

  • G8 [Avaluable] - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
    • G8.3 - Estar motivat pel desenvolupament professional, per a afrontar nous reptes i per la millora contínua. Tenir capacitat de treball en situacions de falta d'informació.
  • Objectius

    1. Ser capaç de predir el funcionament dels protocols i interpretar el contingut dels missatges que fan servir les aplicacions web.
      Competències relacionades: CT6.4, CT7.2,
    2. Ser capaç d'interpretar les dades en forma de documents XML i JSON que intercanvien els serveis web.
      Competències relacionades: CT8.1, CT7.2,
    3. Ser capaç de configurar un servidor d'aplicacions i posar en marxa una aplicació web.
      Competències relacionades: CTI3.3, CTI2.1, CT6.4, CTI1.4,
    4. Ser capaç d'interpretar les dades que intercanvien les aplicacions distribuïdes.
      Competències relacionades: CT8.1,
    5. Ser capaç de configurar un servidor d'aplicacions i posar en marxa serveis web.
      Competències relacionades: CTI3.3, CTI2.1, CT6.4, CTI1.4,
    6. Ser capaç de configurar un servidor d'aplicacions i posar en marxa aplicacions web que fan ús de serveis web.
      Competències relacionades: CTI3.3, G1.3, CTI3.2,
    7. Ser capaç de descriure formats d'informació existents i explicar el seu ús habitual.
      Competències relacionades: CT8.1,
    8. Ser capaç de descriure el paradigma client / servidor i donar exemples de protocols que el segueixen.
      Competències relacionades: CT6.4,
    9. Ser capaç d'explicar què és una llibreria de comunicacions i posar exemples de llibreries existents.
      Competències relacionades: CT8.1,
    10. Ser capaç d'explicar què és un servidor d'aplicacions i posar exemples de servidors d'aplicacions existents.
      Competències relacionades: CT8.1,
    11. Ser capaç de descriure a alt nivell les característiques específiques de les aplicacions mòbils.
      Competències relacionades: CTI3.1,
    12. Ser capaç de desenvolupar una aplicació distribuïda completa.
      Competències relacionades: G1.3, CT8.1, CT7.2, CT8.4, CTI4,
    13. Ser capaç de enumerar les diferències entre els diferents mètodes de transmissió de continguts multimèdia.
      Competències relacionades: CTI3.1, CT8.1, CT6.4,
    14. Ser capaç d'explicar els resultats obtinguts a la pràctica "Desenvolupament d'aplicacions web que fan ús de serveis web".
      Competències relacionades: CTI3.1, G1.3, CTI2.1, CT8.1, CT6.4, CT7.2, CTI1.4, CTI4,
    15. Ser capaç de buscar informació sobre un tema concret, aplicar-la en el laboratori i redactar un informe que descrigui els resultats obtinguts.
      Competències relacionades: CTI3.1, G1.3, CT8.1, CT6.4,
    16. Capacitat d'adaptació davant situacions on hi ha falta d'informació i/o canvis en els requeriments inicials.
      Competències relacionades: G8.3,
    17. Capacitat de respondre a qüestions relacionades amb el treball fet a les pràctiques de l'assignatura.
      Competències relacionades: G8.3,
    18. Adquirir consciència de com s'ha de treballar per tal d'obtenir uns resultats de qualitat.
      Competències relacionades: G8.3,
    19. Ser capaç d'enumerar els diferents mecanismes de seguretat que es poden aplicar a les aplicacions distribuïdes.
      Competències relacionades: CT8.1, CT6.4, CTI1.4,

    Continguts

    1. Introducció
      Nivell d'aplicació. Model client-servidor. Invocació remota d'operacions / mètodes / procediments. Llibreries de comunicacions existents. Formats d'informació.
    2. Desenvolupament d'aplicacions i serveis basats en HTTP
      Programació portals web. Serveis web. Servidors d'aplicacions.
      Característiques de les xarxes mòbils. Aplicacions distribuïdes en l'entorn mòbil.
    3. Representació i intercanvi de continguts digitals
      Formats: text, documents, imatge, vídeo i metadades.
    4. Sistemes de transmissió i distribució de continguts multimèdia
      Streaming / Descàrrega. Servidors de distribució.
    5. Seguretat en aplicacions distribuïdes
      Mecanismes de seguretat a nivell d'aplicació.

    Activitats

    Activitat Acte avaluatiu


    Desenvolupament del tema: Introducció

    Comprensió dels continguts per poder-los aplicar al laboratori associat al tema.
    Objectius: 8 9
    Continguts:
    Teoria
    2h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    2h

    Laboratori del tema: Conceptes bàsics d'aplicacions web

    Comprensió de les aplicacions web que es desenvoluparan a l'assignatura. Ús de les eines de programació per a comprovar i modificar el seu funcionament.
    • Laboratori: Sessió presencial de laboratori: Setmana 1
    • Aprenentatge autònom: Preparació de la pràctica
    Objectius: 1
    Continguts:
    Teoria
    0h
    Problemes
    0h
    Laboratori
    2h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    1h

    Desenvolupament del tema: Desenvolupament d'aplicacions i serveis basats en HTTP

    Comprensió dels continguts per poder-los aplicar al laboratori associat al tema.
    Objectius: 2 3 4 5 6 10 11
    Continguts:
    Teoria
    6h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    7h

    Laboratori del tema: Desenvolupament d'aplicacions web

    Comprensió de la configuració i funcionament d'un servidor d'aplicacions per a poder desenvolupar aplicacions web senzilles.
    • Laboratori: Sessió presencial de laboratori: Setmanes 2 a 4
    • Aprenentatge autònom: Preparació de la pràctica
    Objectius: 3
    Continguts:
    Teoria
    0h
    Problemes
    0h
    Laboratori
    6h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    5h

    Desenvolupament del tema: Representació i intercanvi de continguts digitals

    Comprensió dels continguts per poder-los aplicar al laboratori associat al tema.
    • Aprenentatge dirigit: Actitud adequada davant el treball
    Objectius: 2 7
    Continguts:
    Teoria
    6h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    1h
    Aprenentatge autònom
    4h

    Laboratori del tema: Desenvolupament serveis web

    Comprensió de la configuració i funcionament d'un servidor d'aplicacions per a poder desenvolupar serveis web.
    • Laboratori: Sessió presencial de laboratori: Setmanes 5 a 7
    • Aprenentatge autònom: Preparació de la pràctica
    Objectius: 5
    Continguts:
    Teoria
    0h
    Problemes
    0h
    Laboratori
    6h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    9h

    Desenvolupament del tema: Sistemes de transmissió i distribució de continguts multimèdia

    Comprensió dels continguts per poder-los aplicar al laboratori associat al tema.
    Objectius: 13
    Continguts:
    Teoria
    5h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    5h

    Laboratori del tema: Desenvolupament aplicacions web que fan ús de serveis web

    Comprensió de la configuració i funcionament d'un servidor d'aplicacions per a poder desenvolupar aplicacions web que fan ús de serveis web.
    • Laboratori: Sessió presencial de laboratori: Setmanes 8 i 9
    • Aprenentatge autònom: Preparació de la pràctica
    Objectius: 5 6
    Continguts:
    Teoria
    0h
    Problemes
    0h
    Laboratori
    6h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    6h

    Primer Control teoria

    Control de 2 hores de duració. S'avalua el contingut dels temes 1. Introducció, 2. Desenvolupament d'aplicacions i serveis basats en HTTP, 3. Representació i intercanvi de continguts.
    Objectius: 1 4 7 8 9 10 11 16 18
    Setmana: 10
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Entrevistes laboratori (A classe laboratori)

    Explicació del treball realitzat a la pràctica "Desenvolupament aplicacions web que fan ús de serveis web"
    • Laboratori: Sessió presencial de laboratori: Setmana 10
    • Aprenentatge dirigit: Fora d'hores de classe
    • Aprenentatge autònom: Preparació entrevista
    Objectius: 14
    Continguts:
    Teoria
    0h
    Problemes
    0h
    Laboratori
    4h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Entrevistes laboratori

    Entrevistes per avaluar la pràctica de laboratori "Desenvolupament aplicacions web que fan ús de serveis web"
    Objectius: 6 12 14 17
    Setmana: 11
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Desenvolupament del tema: Seguretat en aplicacions distribuïdes

    Comprensió dels diferents mecanismes de seguretat que es poden utilitzar a nivell d'aplicació, com ara, signatura digital, encriptació, claus simètriques i asimètriques, privacitat, autenticació.
    Objectius: 1 2 4 19
    Continguts:
    Teoria
    3h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    6h

    Laboratori del tema: Pràctica exploratòria

    Comprensió de la informació trobada sobre el tema escollit i redacció d'un informe que descrigui els resultats.
    • Laboratori: Sessió presencial de laboratori: Setmanes 11 a 14
    • Aprenentatge dirigit: Emprenedoria i innovació
    • Aprenentatge autònom: Preparació de la pràctica
    Objectius: 15 16 18
    Continguts:
    Teoria
    0h
    Problemes
    0h
    Laboratori
    6h
    Aprenentatge dirigit
    2h
    Aprenentatge autònom
    8h

    Teoria
    2h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    4h

    Segon Control Teoría

    Control de 2 hores de duració. S'avalua el contingut de part del tema 3. Representació i intercanvi de continguts digitals i els temes 4. Sistemes de transmissió i distribució de continguts multimèdia i 5. Seguretat en aplicacions distribuïdes
    Objectius: 1 2 7 10 13 19
    Setmana: 14
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Examen final de l'assignatura


    Objectius: 1 2 3 4 5 6 7 8 9 10 11 12 13 17 19
    Setmana: 15 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    L'assignatura està formada per classes teòriques i de laboratori. En les classes teòriques s'introduiran els conceptes necessaris per a fer les pràctiques i es plantejaran problemes i casos relacionats amb la matèria. L'alumne disposarà d'una col·lecció de problemes que es resoldran a classe.

    El laboratori és una part important de l'assignatura, ja que permetrà assolir els conceptes teòrics des d'una vessant de caire més pràctic. L'alumne disposarà de l'enunciat de la pràctica abans d'assistir al laboratori. Els enunciats es penjaran a la web de l'assignatura. Per a cada pràctica hi haurà una breu explicació teòrica i un guió de cada pràctica. Les sessions de laboratori presencials estaran programades perquè es facin després d'haver vist el conceptes relacionats en les classes teòriques. En cas de no ser així, es farà una breu explicació al laboratori per al seu correcte funcionament. L'alumne haurà de preparar la pràctica, repassant els conceptes teòrics relacionats abans de la sessió presencial.

    Mètode d'avaluació

    L'avaluació de l'assignatura tindrà dues components: Teoria (60%) i laboratori (40%).

    La nota de laboratori es calcularà a partir de la nota obtinguda en les pràctiques i la nota de les entrevistes.

    La nota de teoria es calcularà a partir dels controls i/o l'examen final, que està fet en dues parts, com els controls.

    La fórmula per calcular la nota de l'assignatura és:

    NF = MAX(0.3*EF1, 0.3*C1) + MAX(0,3*EF2, 0.3*C2) + 0.4 * NL

    On:
    NF = Nota final de l'assignatura.
    EF1 = Examen Final de teoria, primera part, mateix temari C1.
    EF2 = Examen Final de teoria, segona part, mateix temari C2.
    C1 = Nota del Primer Control de teoria.
    C2 = Nota del Segon Control de teoria.
    NL = Nota de Laboratori. Es calcularà en base a la nota mitjana dels lliuraments de les pràctiques (50%) i la nota dels informes i entrevistes de practiques (50%). Les pràctiques disposen de rúbriques de correcció.

    Avaluació de competències:
    Les competències tècniques s'avaluen al laboratori i valen el 40% de la nota total de l'assignatura. A més, d'algunes de les activitats pràctiques, s'extreurà la nota de les competències genèriques, tal i com s'explica a continuació.

    La competència genèrica Empreneduria i Innovació s'avaluarà a la pràctica exploratòria.
    La competència genèrica Actitud Adequada Davant el Treball s'avaluarà a les entrevistes de laboratori.

    Qualificació de les competències genèriques: Poden tenir valors A, B, C o D (on A correspon a un nivell excel.lent, B correspon a un nivell desitjat, C correspon a un nivell suficient i D correspon a un nivell no superat). En cas de no fer les activitats corresponents, la nota serà N/A (no aplicable).

    Bibliografia

    Bàsic

    Complementari

    Web links

    Capacitats prèvies

    - Coneixements avançats de programació en llenguatge Java.
    - No es requereix saber HTML, XML o JSON, però es faran servir durant tot el curs.
    - Anglès tècnic com per llegir documentació, manuals i estàndards.
    - Coneixements bàsics sobre xarxes de computadors: Protocols de nivell de xarxa i transport, funcions nivell d'aplicació, especialment protocol HTTP.
    - Coneixements bàsics sobre sistemes operatius: UNIX a nivell d'usuari, Windows a nivell d'usuari, organització d'un SO, drivers, processos, comunicació entre processos, estructures de dades, bases de dades.