You are on page 1of 3

Entrega y Correccin de la 3 Iteracin de la Prctica de

Internet y Sistemas Distribuidos


Entrega

Para realizar la entrega de la prctica se crear el tag it-3 (tercera iteracin) en el repositorio
Subversion
del
proyecto,
de
manera
que
exista
la
URL:
https://svn.fic.udc.es/grao3/isd/15-16/<<idGrupo>>/<nombreProyecto>>/
tags/it-3.
o La transparencia nmero 31 de las transparencias Laboratorio de Prcticas

(disponible en moodle) ilustra una manera de crear un tag desde lnea de comandos.
Tambin es posible crearlo desde Eclipse utilizando botn derecho sobre el proyecto >
Team > Branch/Tag).
o No se admiten modificaciones posteriores al da 24-01-2016.
Memoria: El directorio raz del repositorio de subversion deber contener un archivo con la
memoria en formato PDF, y deber de llamarse obligatoriamente memoria.pdf (la memoria
no se entregar en papel).
o No se admiten modificaciones posteriores al da 24-01-2016.

Correccin
Durante la semana del 18 al 22 de Enero cada grupo deber ponerse en contacto con el profesor que le
corregir la prctica (presencialmente o por correo) para acordar el horario para la defensa de la misma
(que podr ser entre el 18 y el 28 de Enero, ambos inclusive). A continuacin se muestra la asignacin
de profesores para la correccin:
Profesor
Alberto Pan
Fernando Bellas
Jos Losada
Juan Raposo
Manuel lvarez
Paula Montoto

Grupos Iteracin 3
isg010, isg011, isg012, isg039, isg040, isg048
isg002, isg003, isg004, isg005, isg024, isg025, isg026, isg027, isg031, isg046
isg001, isg041, isg042, isg051, isg053, isg054, isg057
isg020, isg021, isg022, isg023, isg047, isg052
isg013, isg015, isg028, isg029, isg033, isg043
isg006, isg016, isg018, isg035, isg036, isg038, isg049, isg050, isg055

Durante la defensa de la prctica deben estar presentes todos los miembros del grupo.
Para evaluar el software, el profesor realizar los siguientes pasos:
NOTA: para hacer posible que la prctica se pueda corregir en cualquier mquina
(independientemente del sistema operativo instalado) de manera rpida:
o Las BBDD deben llamarse ws y wstest, con usuario ws y contrasea ws.
o MySQL se arrancar en el puerto por defecto.
Utilizar su propio ordenador o un porttil proporcionado por el grupo.

Bajar la distribucin fuente del repositorio Subversion. Ejemplo desde la lnea de comandos:
svn co https://svn.fic.udc.es/grao3/isd/15-16/<<idGrupo>>/<<nombreProyecto>>/tags/it-3 -username XXX
cd it-3
svn log --limit 1

Arrancar la BD.
Inicializar la base de datos ws, compilar el cdigo de todos los subsistemas e instalar los
artefactos generados en el repositorio local de maven (mvn sql:execute install en el directorio
raz).
Arrancar el servidor web Jetty en el subsistema ws-app-service (mvn jetty:run).

Realizar varias ejecuciones del cliente desde el subsistema ws-app-client (mvn

exec:java -

Dexec.mainClass="es.udc.ws.app.client.ui.XXXClient" -Dexec.args="...").

Es OBLIGATORIO tener un fichero de texto con los comandos maven necesarios para
ejecutar las pruebas que se enumeran a continuacin, de forma que el profesor pueda hacer
copy&paste de esos comandos en un terminal, y funcionen cambiando nicamente los
identificadores y fechas en las pruebas que as lo requieran. Para cada prueba se muestra el
nombre de la operacin y los valores de los argumentos que recibira. El formato mostrado es
nicamente ilustrativo, ya que el nombre de las opciones que acepta el cliente, el orden de los
parmetros, el formato, etc., ser diferente en la prctica de cada grupo.

1. Aadir oferta (recibe nombre, descripcin, fecha lmite de reserva, fecha lmite de
disfrute, precio real, precio descontado y, opcionalmente, la comisin).
-addOffer 'Cena para dos' 'Cena con men degustacin para dos personas en el restaurante
UDC' '01/08/2016 00:00' '31/12/2016 23:59' 80 40 [10] // se crea <offerId1>
-addOffer 'Casa rural' 'Habitacin doble en
'31/12/2016 23:59' 100 70 [15] // se crea <offerId2>

la

casa

rural

UDC'

'01/12/2016

23:59'

-addOffer 'Fisioterapia' 'Bono de dos sesiones de fisioterapia' '<now + 2 minutos>'


'30/06/2016 23:59' 60 30 [5] // se crea <offerId3>; <now + 2 minutos> representa la hora actual ms dos minutos

2. Actualizar (recibe el identificador de la oferta y los mismos campos que aadir oferta) y
buscar oferta
-updateOffer <offerId2> 'Casa rural' 'Habitacin triple en la casa rural UDC' '01/12/2016
23:59' '31/12/2016 23:59' 150 100 [20]
-findOffer <offerId2>
-findOffer <offerIdNoExistente> // falla

3. Reservar oferta (recibe identificador de la oferta, e-mail del usuario y nmero de tarjeta
de crdito)
-reserveOffer
-reserveOffer
-reserveOffer
-reserveOffer
-reserveOffer

<offerId1>
<offerId2>
<offerId1>
<offerId2>
<offerId2>

'usr1@udc.es'
'usr1@udc.es'
'usr2@udc.es'
'usr2@udc.es'
'usr2@udc.es'

1234567890123456
1234567890123456
1111222233334444
1111222233334444
1111222233334444

// devuelve: <reervationId1> | <reservationCode1>


// devuelve: <reervationId2> | <reservationCode2>
// devuelve: <reervationId3> | <reservationCode3>
// devuelve: <reervationId4> | <reservationCode4>
// falla (oferta ya reserva por ese usuario)

4. Actualizar (caso de error) y buscar oferta


-updateOffer <offerId2> 'Casa rural' 'Habitacin triple en la casa rural UDC' '01/06/2016
23:59' '30/10/2016 23:59' 150 100 [20] // falla (tiene reservas y se adelanta la fecha de disfrute)
-findOffer <offerId2>

5. Reclamar reserva (recibe identificador o cdigo de la reserva y, opcionalmente, el email


del usuario) e invalidar oferta
-claimReservation <reservId2 | reservCode2> ['usr1@udc.es']
-invalidateOffer <offerId2> // invalida tambin las reservas no reclamadas (<reservId4>)
-invalidateOffer <offerId2> // falla (oferta ya invalidada)
-claimReservation <reservId4 | reservCode4> ['usr2@udc.es'] // falla (reserva invalidada)

6. Buscar reservas de una oferta (recibe el identificador de la oferta)


-findOfferReservations <offerId2> // devuelve <reservId2> (Reclamada) y <reservId4> (Invlida)

7. Buscar reservas de un usuario (recibe el e-mail del usuario y un token indicando si


devolver slo las vlidas o todas)
-findUserReservations 'usr2@udc.es' <validas> // devuelve <reservId3> (Pendiente)
-findUserReservations 'usr2@udc.es' <todas> // devuelve <reservId3> (Pendiente) y <reservId4> (Invlida)

8. Buscar ofertas reservadas por un usuario (recibe el e-mail del usuario)


-findUserOffers 'usr1@udc.es' // devuelve datos de <offerId1 + reservId1> y <offerId2 + reservId2>

9. Buscar ofertas por palabras clave contenidas en la descripcin


-findOffers 'DoS de' // devuelve offerId1 (offerId3 tiene el periodo de reserva expirado)
-findOffers 'udc' // devuelve offerId1 (offerId2 est invalidada)

10. Reservar oferta (recibe identificador de la oferta, e-mail del usuario y nmero de tarjeta
de crdito)
-reserveOffer <offerId3> 'usr2@udc.es' 1111222233334444 // falla (fecha reserva expirada)

11. Eliminar ofertas


-removeOffer <offerId1> // falla (tiene reservas)
-removeOffer <offerId3>

Finalmente, una vez creado el tag (y antes de que venza el plazo de entrega), se recomienda
reproducir los pasos que se seguirn para la correccin de la prctica, de manera que se verifique
que la entrega es correcta.

MUY IMPORTANTE

Cada grupo dispondr como mximo de una hora para la correccin de la prctica. Si se
producen problemas al compilar/instalar/ejecutar la aplicacin, no se continuar la correccin y
la prctica se considerar suspensa.
Durante la correccin de la prctica se harn preguntas individualizadas, por lo que la nota
obtenida en la parte prctica podr ser diferente para cada componente del grupo.
La memoria debe ajustarse al formato especificado en el enunciado de la prctica, y debe incluir
todos los diagramas UML que se piden actualizados (no es necesario, ni conveniente, incluir
ms). En particular se piden los siguientes diagramas: 1) diagrama de entidades (slo atributos
privados), 2) diagrama con las interfaces de los DAOs, 3) diagrama con interfaz del servicio del
modelo (o servicios), 4) diagrama de la clase de implementacin del servicio SOAP y REST,
con las firmas de los mtodos y que incluya los DTOs utilizados, 5) diagrama con la interfaz de
la capa de acceso al servicio. Si se implementa la parte opcional, es necesario que los diagramas
correspondientes se encuentren actualizados para contemplarla.
o Si la memoria no es til para corregir la prctica (es decir, si contraviene lo que se pide
en el enunciado o no est actualizada, y no es posible utilizarla como elemento principal
para la correccin), la prctica se considerar suspensa.

You might also like