Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria de Serveis)
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ESSI
This course focus on the need for systems interoperability and how Web services, an umbrella concept for different cross-platform solutions based on Web standards, attempt to overcome the many challenges that distributed information systems have addressed in various ways (but not always successfully) in the past. By the end of the course, students will have learned the relevant concepts related to the nature, characteristics and types of Web Services and acquired some experience in consuming, designing, constructing and maintaining services located at the web.

Professorat

Responsable

  • Carles Farre Tost ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
7.11

Competències

Competències Tècniques de cada especialitat

Enginyeria de serveis

  • CEE5.1 - Capacitat per participar en projectes de millora o creació de sistemes de serveis, aportant especialment: a) propostes d'innovació i recerca basades en nous usos i desenvolupaments de les tecnologies de la informació b) l'aplicació dels principis de l'enginyeria del programari i les bases de dades en el desenvolupament dels sistemes d'informació que siguin més adequats, c) la determinació, instal·lació i gestió de la infraestructura/plataforma informàtica necessària per al funcionament eficient dels sistemes de servei.
  • CEE5.3 - Capacitat per treballar en equips interdisciplinaris d'enginyeria de serveis i, disposant de l'experiència de domini necessària, capacitat per a treballar autònomament en sistemes de serveis concrets.

Competències Tècniques Generals

Genèriques

  • CG5 - Capacitat per aplicar solucions innovadores i realitzar avenços en el coneixement que explotin els nous paradigmes de la Informàtica, particularment en entorns distribuïts.

Competències Transversals

Treball en equip

  • CTR3 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.

Bàsiques

  • CB6 - Que els estudiants sàpiguen aplicar els coneixements adquirits y la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contexts més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi.
  • CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
  • CB9 - Que els estudiants posseeixin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran mesura autodirigida o autònoma.

Objectius

  1. Capacitat per dissenyar i implementar software que interactuï amb serveis i APIs web públics o privats
    Competències relacionades: CEE5.1, CEE5.3, CB6, CB9, CTR3, CG5,
  2. Conèixer les tecnologies web fonamentals que són la base per al desenvolupament dels serveis web
    Competències relacionades: CB6, CB8, CB9,
  3. Conèixer els diferents protocols i estàndards de comunicació dels serveis web
    Competències relacionades: CB6, CB8, CB9,
  4. Capacitat per dissenyar i implementar serveis web, seleccionant i utilitzant les tecnologies i les eines més adients en cada cas
    Competències relacionades: CEE5.1, CEE5.3, CB6, CB8, CB9, CTR3, CG5,
  5. Capacitat per provar i monitoritzar serveis web, seleccionant i utilitzant les tecnologies i les eines més adients en cada cas
    Competències relacionades: CEE5.1, CEE5.3, CB6, CB8, CB9, CTR3, CG5,

Continguts

  1. Introducció
  2. Orígens i Precedents
    Fundamentals of Distributed Sytems. Middleware. SOA
  3. Tecnologies Web
    The Fundamentals: URIs. HTTP. Proxies, caches, cookies. Browser-Based Computing: JavaScript, DOM, AJAX. Server-Side Computing: CGI, PHP, Java Servlets. Web Data Exchange Formats: XML, JSON.
  4. Protocols per a Serveis Web
    SOAP and WSDL. RESTful WS.
  5. Desenvolupament de Serveis Web
    Properties of a service development methodology. Qualities of service development methodology. Web services development lifecycle.Service analysis, design and construction. Design Patterns for Web Service Development.
  6. Seguretat de Serveis Web
    General Concepts. Securing RESTful Web Services. XML Security Standards. Securing WS-* Web Services
  7. Temes Avançats
    WS Evolution, Management, Monitoring, and Testing. Transactions. Composition and Coordination.

Activitats

Activitat Acte avaluatiu


Teoria
20h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Presentacions

En grups de 3-4, prepara un tema per ser presentat amb l'ajuda de transparències. Lliura les transparències abans del termini fixat. Fa la presentació i respon les preguntes del professor i dels seus companys de classe. Avalua les presentacions dels altres grups.
Objectius: 2 3
Continguts:
Teoria
6h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
25h

Laboratori: Sessions setmanals

Per parelles, treballa (instal·la, configura, programa) per tal de dur a terme una sèrie de tasques preestablertes en l'enunciat lliurat a l'inici de la sessió, utilitzant el llenguatge, eines i recursos indicats. Amb antelació, i de manera autònoma, s'ha familiaritzat i introduït en l'ús d'aquestes tecnologies.
Objectius: 1 2 3 4
Continguts:
Teoria
0h
Problemes
0h
Laboratori
18h
Aprenentatge dirigit
0h
Aprenentatge autònom
27h

Laboratori: Projecte

En grups de 3-4, dissenya, implementa i desplega serveis web. Cada setmana acudeix a la sessió de laboratori per treballar en el projecte, indicar el grau d'assoliment de les fites establertes per aquella sessió, (re)planificar les fites per a les properes sessions, presentar resultats i reportar dubtes i problemes. Al final del projecte, avalua la feina dels seus companys de projecte.
Objectius: 1 2 3 4 5
Continguts:
Teoria
0h
Problemes
0h
Laboratori
10h
Aprenentatge dirigit
0h
Aprenentatge autònom
20h

Examen Final

Examen escrit dels continguts de l'assignatura
Objectius: 1 2 3 4 5
Setmana: 16
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Metodologia docent

La docència de l'assignatura està estructurada en classes de teoria i classes de laboratori.

Classes de teoria: 2 hores de classe per setmana.
Els instructors poden presentar alguns dels continguts del curs utilitzant diapositives o algun altre material disponible a Atenea. També hi haurà sessions en què els estudiants seran requerits per preparar pel seu compte i presentar davant la classe algun tema.

Classes de laboratori: 2 hores de laboratori per setmana.
Durant les 9 primeres setmanes de curs, i després d'una breu introducció sobre les tasques a realitzar, els alumnes, per parelles, les duran a terme usant l'ordinador d'acord amb un pla de treball preestablert i una llista d'objectius.
Durant la resta de setmanes del curs, els alumnes, en grups de 3-4, dissenyaran i implementaran un projecte de serveis web. Les sessions de laboratori serviran per treballar en el projecte, discutir i resoldre dubtes i problemes, fixar objectius, fer-ne el seguiment i presentar resultats.

Mètode d'avaluació

30% Examen Final
30% Sessions de laboratori setmanals
20% Projecte de laboratori
20% Presentacions

Bibliografia

Bàsica:

  • Service design patterns: fundamental design solutions for SOAP/WSDL and RESTful Web services - Daigneau, Robert, Addison-Wesley, cop. 2012. ISBN: 9780321544209
    http://cataleg.upc.edu/record=b1409220~S1*cat
  • SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST (The Prentice Hall Service Technology Series from Thomas Erl) - Erl, Thomas et al., Prentice Hall, 2012. ISBN: 9780137012510
  • Web services: principles and technology - Papazoglou, M, Pearson, cop. 2008. ISBN: 978-0-321-15555-9
    http://cataleg.upc.edu/record=b1319474~S1*cat

Complementaria:

Web links

Capacitats prèvies

Coneixements de Programació i Enginyeria del Software
Coneixements de Xarxes i Internet