G4011441 - Arquitecturas Orientadas a Servizos (Enxeñaría Web) - Curso 2013/2014
Información
- Créditos ECTS
- Créditos ECTS: 4.50
- Total: 4.5
- Horas ECTS
- Clase Expositiva: 10.00
- Clase Interactiva Laboratorio: 30.00
- Horas de Titorías: 1.00
- Total: 41.0
Outros Datos
- Tipo: Materia Ordinaria Grao RD 1393/2007
- Departamentos: Electrónica e Computación
- Áreas: Ciencia da Computación e Intelixencia Artificial
- Centro: Escola Técnica Superior de Enxeñaría
- Convocatoria: 1º Semestre de Titulacións de Grao/Máster
- Docencia e Matrícula: null
Profesores
Horarios
Programa
Existen programas da materia para os seguintes idiomas:
CastelánGalegoInglésObxectivos da materiaO obxectivo desta materia consiste en formar ó alumno no desenvolvemento de aplicacións baseadas no concepto de servicio, facendo énfase na tecnoloxía de servicios web. O obxectivo xeral é que o alumno sexa capaz, por unha parte, de identificar para qué situaciónes este tipo de arquitecturas proporcionan unha solución axeitada, e por outra parte, utilizar dende un punto de vista práctico a tecnoloxía actual para a descrición, publicación, desplegue, invocación e orquestación de servicios web. Para elo estudiaranse as principais arquitecturas conceptuais orientadas a servicios máis recentes, prestando especial atención ás recomendacións do W3C para a implementación práctica destas arquitecturas.
ContidosTEORÍA
Tema 1. Introdución ás Arquitecturas Orientadas a Servicios
Tema 2. Concepto de servicio.
Tema 3. Servicios web: Descrición e desplegue.
Tema 4. Servicios web: Invocación.
Tema 5. Servicios web: Publicación e descubrimento.
Tema 6. Servicios web: Orquestación e composición.
Tema 7. Outros tipos de servicios.
PRÁCTICAS
Boletín 1. Descrición, despregue e invocación de servicios web.
* Concepto de servicio web baseado na recomendación W3C.
* Descrición e despregue de servicios en contedores web.
* Invocación de servicios web baseada na recomendación W3C.
Boletín 2. Publicación e descubrimento de servicios web.
* Características non funcionais dos servicios.
* Publicación das características dos servicios web en rexistros.
* Descubrimento e invocación de servicios web.
Boletín 3. Orquestación e composición de servicios web.
* Composición de servicios web.
* Invocación de servicios web compostos por outros servicios.
Bibliografía básica e complementariaBIBLIOGRAFÍA BÁSICA (por orden de prioridade)
1. Thomas Erl y Satadru Roy. SERVICE-ORIENTED ARCHITECTURE WITH J2EE. Editorial: Prentice Hall. 2008.
2. Sun Microsystems. THE JAVA WEB SERVICES TUTORIAL. 2006.
[http://java.sun.com/webservices/docs/2.0/tutorial/doc]
BIBLIOGRAFÍA COMPLEMENTARIA
3. Binildas Christudas, Malhar Barai y Vincenzo Caselli. SERVICE-ORIENTED ARCHITECTURE WITH JAVA. Editorial: Packt Publishing Ltd. 2008.
[Sig.: C60 554, Facultade de Física]
4. Mark D. Hansen, SOA USING JAVA WEB SERVICES. Editorial: Prentice Hall. 2007.
5. Richard Monson-Haefel, J2EE WEB SERVICES. Editorial: Addison-Wesley. 2004.
CompetenciasO alumno adquirirá un conxunto de competencias específicas das arquitecturas orientadas a servicios, pero tamén unha serie de competencias xenéricas a calquera desenvolvemento dun programa software e, finalmente, unhas competencias transversais que inciden nas habilidades personais do alumno e no xeito no que se relaciona con demais alumnos. Tendo isto en conta, as competencias son as seguintes:
COMPETENCIAS ESPECÍFICAS
* Capacidade para deseñar, desenvolver, seleccionar e avaliar aplicacións e sistemas informáticos (RI1), concretamente na creación de sistemas distribuídos seguido o paradigma das arquitecturas orientadas a servicios.
* Coñecemento e aplicación das características, funcionalidades e estructura dos Sistemas Distribuídos e a capacidade para o deseño e implementación de aplicación baseadas nelas (RI11). Esta competencia é inherente á propia natureza das arquitecturas orientadas a servicios, na medida en que son un medio para a implementación de sistemas distribuídos.
* Coñecemento e aplicación das ferramentas necesarias para o almacenamento, procesado e acceso ós Sistemas de Información, incluídos os baseados en web (RI13). Esta competencia tamén está moi relacionada coas arquitecturas orientadas a servicios, dado que son moi usadas para a implementación e integración de sistemas de información.
* Capacidade para seleccionar, deseñar, desplegar, integrar, avaliar, xestionar e manter as tecnoloxías software dentro dos parámetros de coste e calidade axeitados (TI2).
* Capacidade para seleccionar, desplegar, integrar e xestionar sistemas de información que satisfagan as necesidades da organización, con criterios de coste e calidade identificados (TI5).
* Capacidade de concebir sistemas, aplicacións e servicios baseados en tecnoloxías de red, incluíndo Internet e web (TI6). Esta competencia está directamente relacionada coa natureza das arquitecturas orientadas a servicios que están implementadas a través de servicios web, tal e como sucede na materia proposta.
COMPETENCIAS XENÉRICAS
* Capacidade para definir, avaliar e seleccionar plataformas software para o desenvolvemento e a execución de sistemas, servicios e aplicacións informáticas (CG4). Esta competencia é inherente á materia de arquitecturas orientadas a servicios, dado que están consideradas como plataformas conceptuais usadas como un xeito de deseñar os sistemas distribuídos para integración de aplicacións e externalización de servicios.
* Capacidade para concebir e desenvolver aplicacións informática empregando métodos da enxeñaría do software (CG5). Esta competencia é inherente á materia de arquitecturas orientadas a servicios, dado que o obxectivo dela consiste en deseñar e desenvolver arquitecturas seguindo este tipo de paradigma distribuído.
* Capacidade para concebir e desenvolver sistemas ou arquitecturas informáticas centralizadas ou distribuídas integrando software (CG6). Esta competencia poderíase considerar como unha descrición dos obxectivos que persigue unha arquitectura orientada a servicios, co cal parece claro que o alumno a adquirirá como parte da aprendizaxe da materia.
* Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía y creatividade (CG9). O alumno deberá desenvolver a competencia na resolución dos exercicios que compoñen os boletíns, onde será preciso que decida o deseño dos servicios e o xeito no que se utilizarán os conceptos de arquitecturas orientadas a servicios.
COMPETENCIAS TRANSVERSAIS
* Capacidade de análise e síntese para a resolución de problemas (TR1). O alumno deberá desenvolver esta competencia para poder realizar os exercicios prácticos nos que se proban as vantaxes das arquitecturas orientadas a servicios.
* Traballo en equipo e habilidades nas relacións interpersonais (TR2). Esta competencia desenvolverase na resolución do último exercicio dos boletíns, que deberá realizarse en parella con outro alumno e onde será necesario explotar as habilidades de interacción entre persoas.
* Aprendizaxe autónomo e adaptación a novas situacións (TR3). Na resolución dos exercicios fóra das sesións de prácticas e no entendemento dos conceptos das arquitecturas orientadas a servicios e dos servicios web será preciso desenvolver este tipo de competencias.
COMPETENCIAS DE MÓDULO
* Comprensión da paradigma da WWW.
* Coñecemento e aplicación das tecnoloxías para implementar e publicar servizos web.
* Motivación e capacidade de autoaprendizaxe.
Metodoloxía da ensinanza A metodoloxía da ensinanza está dirixida a focalizar a materia sobre os aspectos prácticos do desenvolvemento de arquitecturas e sobre os conceptos que diferencian ás arquitecturas orientadas a servicios doutras aproximacións. O alumno debe estar capacitado, polo tanto, para entender as vantaxes do enfoque orientado a servicios e para desenvolver un programa con solvencia seguindo este tipo de arquitecturas. Tendo isto en conta, distínguense tres tipos de actividades de aprendizaxe: clases maxistrais, sesións en grupos reducidos, e titorías en grupos reducidos. Así:
(1) As clases maxistrais (10 horas) están dirixidas a explicar os conceptos que soportan o paradigma de arquitecturas orientadas a servicios (compoñentes baixamente acoplados, descrición e invocación a través de formatos XML, etc.), facendo especial énfase nas vantaxes que ofrecen este tipo de arquitecturas fronte a outros paradigmas de programación web, e no tipo de problemas que resolven. Estos conceptos explicaranse, por una parte, independentemente das linguaxes de programación nas que se implementan os servicios, e por outra parte, focalizando nos protocolos e nas linguaxes de descrición e invocación recomendadas polo consorcio W3C.
(2) As sesións prácticas en grupos reducidos (30 horas) están dirixidas a que o alumno adquira destreza na descrición, publicación, invocación e composición de servicios web que permiten o desplegue das arquitecturas orientadas a servicios. Por elo é importante que nestas prácticas realicen un conxunto suficientemente extenso de exercicios que cubran o ciclo de vida dun servicio web. Para elo os alumnos deberan realizar tres boletíns compostos á súa vez dun conxunto de exercicios nos que se irán vendo o xeito no que os provedores ofrecen os servicios web (descrición, publicación e composición) e os clientes fan uso deles (descubrimento e invocación). A asistencia a estas clases por parte do alumnos é OBRIGATORIA.
Sistema de evaluaciónA avaliación da materia terá lugar de dous xeitos diferentes, aínda que complementarios, que pretenden avaliar a competencia do alumno na realización práctica de programas e o dominio das arquitecturas orientadas a servicios. Por outra parte, distinguirase entre a avaliación do cuadrimestre (Febreiro) e a do exame extraordinario (Xullo):
AVALIACIÓN DE FEBREIRO
(1) Exame no que o alumno demostrará o dominio dos aspectos teóricos das arquitecturas orientadas a servicios como alternativa ou complemento ós outros paradigmas de programación web e/ou de computación distribuida, así como das aproximacións que se siguen para implementar este tipo de arquitecturas. Este exame constituirá o 40% da nota final da materia.
(2) Realización de tres boletíns compostos por un conxunto de exercicios nos que o alumno demostrará de xeito práctico o dominio do deseño, construción e despregue de arquitecturas orientadas a servicios, tanto dende o punto de vista do provedor dos servicios como do cliente que os consume. Esta parte constituirá o 60% da nota final da materia e será realizada polo alumno de xeito individual. En cada unha das entregas dos boletíns propostos o alumno deberá entregar unha pequena memoria onde explique as decisións de programación e de deseño tomadas para a realización de cada exercicio do boletín. Estes tres boletíns serán os seguintes:
2.(a) No primeiro boletín realizarase un conxunto de exercicios que teñen como obxectivo que o alumno entenda o concepto de servicio, e adquira destreza na descrición e na invocación de servicios web a través de diferentes tipos de clientes (Java, cliente web, etc.). O último exercicio do boletín consistirá na descrición dun conxunto de servicios cos que se resolve un problema dado (previamente plantexado nas materias de programación web) e na invocación deses servicios a través dun cliente web. Esta parte constituirá o 35% da nota práctica.
2.(b) No segundo boletín os exercicios incidirán sobre os conceptos de publicación e descubrimento de servicios web como peza clave da que fan uso os proveedores para expoñer os seus servicios. Así, por unha parte, o alumno dará de alta nun rexistro as características non funcionais dos servicios web que foron despregados no boletín anterior, e ademais realizará tamén de xeito manual o descubrimento deses servicios a través das correspondentes funcións de consulta no rexistro. Por outra parte, o alumno publicará e descubrirá a través dun cliente Java parte do conxunto de servicios que foron descritos no exercicio anterior. Esta parte constituirá o 35% da nota práctica.
2.(c) No terceiro e último boletín realizaranse un conxunto de exercicios nos que se probará a tecnoloxía de composición e orquestación de servicios web, identificando os problemas específicos que xurden cando se compoñen varios servicios. No último exercicio deste boletín identificaranse aqueles servicios publicados que son susceptibles de compoñerse para ofrecer unha nova funcionalidade. Isto dará unha idea clara das vantaxes que se obteñen cando se compoñen servicios web, que é unha das razóns do éxito das arquitecturas orientadas a servicios. Esta parte constituirá o 30% da nota práctica.
Para aprobar a parte práctica da asignatura será necesario superar cada un dos tres boletíns. Ademais, a avaliación da parte práctica será continua, o que significa que o alumno, por unha parte, deberá ir presentando os exercicios ó longo do cuadrimestre; e, por outra, se non ten aprobado o exercicio 2.(b) (o cal implica aprobar tamén o 2.(a)), non terá superada a parte práctica da asignatura.
Por outra banda, se un alumno entregou a metade dos exercicios do primeiro boletín de prácticas considerarase como presentado na materia. Este número coincide coa primeira entrega de exercicios dos boletíns que ha de cumprir o alumno.
Por último, a copia parcial ou total dunha clase ou dun método dalgún dos exercicios dos tres boletíns propostos significará o suspenso de toda a asignatura.
AVALIACIÓN DE XULLO
A avaliación das partes de teoría e práctica serán exactamente as mesmas que para Febreiro, agás en que (1) na parte práctica non se fará unha avaliación continua do alumno. Xa que logo, ademais de superar os dous exames da parte de teoría e os boletíns de exercicios, para poder superar a materia será necesario que o alumno asista ás sesións prácticas interactivas (cos criterios de asistencia indicados máis abaixo) e que na avaliación de Febreiro entregue polo menos o primeiro boletín de exercicios. Ademais, se o alumno supera algunha das partes (teórica ou práctica) en Febreiro, conservaráselle a nota desa parte na convocatoria de Xullo do mesmo ano, pero non para a de anos sucesivos.
CONTROL DE ASISTENCIA
Tal e como se comentou anteriormente, a asistencia ás sesións prácticas interactivas é obrigatoria, e o control desta asistencia realizarase a través de follas de firmas que os alumnos deberán cubrir á finalización de cada unha das sesións. Ademais, se un alumno asiste a menos do 80% das sesións prácticas interactivas, considerarase que non superou a materia; mentres que se asiste polo menos ó 95% e ó 100% das sesións prácticas interactivas terá 0.1 e 0.2 puntos adicionais na nota final da materia, respectivamente (sempre que non supere a puntuación de 10).
Tempo de estudo e traballo persoalTal e como se indicou anteriormente, a asistencia ás sesións de prácticas é obrigatoria, e ademais esa participación debería ser activa para así aproveitar axeitadamente o tempo. Ademais disto o alumno precisará un tempo adicional para traballar nos seguintes aspectos:
(1) Estudio autónomo dos conceptos das arquitecturas orientadas a servicios (10 horas). O tempo adicado a este estudio non só inclúe o tempo necesario para preparar o exame teórico, senón tamén o tempo que o alumno precisa para entender os conceptos teóricos de xeito que os poida aplicar correctamente á construcción das arquitecturas e dos servicios web.
(2) Escritura de exercicios e traballos (8.5 horas). O tempo adicado a esta escritura está relacionado co traballo que deberán entregar os alumnos á conclusión de cada un dos boletíns de exercicios, no cal deberán de explicar cómo deseñaron e implementaron os servicios web e a arquitectura orientada a servicios.
(3) Completar os exercicios dos boletíns (45 horas). Este tempo é necesario para que o alumno complete os exercicios dos boletíns que non terá tempo de rematar nas sesións de prácticas. Neste tempo o alumno poderá interiorizar o xeito de resolver o problema plantexado no exercicio, na medida en que nas sesións prácticas faise máis énfase en entender o problema e o xeito xeral no que se resolverá, mentres que os detalles necesarios para completar os exercicios deberanse realizar no tempo adicional de traballo práctico.
Recomendacións para o estudo da materiaPara poder aproveitar a materia e adquirir con certa fluidez os conceptos das arquitecturas orientadas a servicios é moi aconsellable aproveitar as clases de teoría, as sesións de prácticas e as titorías en grupos reducidos, na medida en que, tal e como se presentou no programa e na metodoloxía docente, estas actividades están directamente relacionadas. Por outra parte, tamén é moi recomendable que o alumno explore o material de soporte (páxinas web sobre tecnoloxía, tutoriais online dos entornos de desenvolvemento, descrición de casos de éxito, etc.) no que se inclúen explicacións adicionais ás das clases presenciais e que axudan a entender e afianzar os conceptos das arquitecturas orientadas a servicios e do desenvolvemento de servicios web.