Cliente de un servicio web de fotografías.

Introducción | Servicio web | Requisitos | Lenguajes | Planificación | Evaluación | Entorno | Referencias

Introducción

Durante las sesiones de prácticas implementaremos un cliente sencillo de un servicio web de fotografías en distintos lenguajes de programación. Con esto pretendemos alcanzar los siguientes objetivos:

  1. Aprender a realizar buenos diseños e implementaciones de aplicaciones móviles.
  2. Utilizar con soltura los entornos de desarrollo y el lenguaje específico de dos plataformas móviles populares.
  3. En particular, dominar las APIs de interfaz con el usuario, de comunicaciones IP y de almacenamiento local de datos.
  4. Comparar el coste de desarrollo de un mismo prototipo en varias plataformas.

Servicio web: la foto del día

Disponemos de un servicio web que muestra una imagen diferente cada día. Se puede acceder a él desde http://monitor06.lab.it.uc3m.es:8180/apmov/foto

pantallazo

Esta página está mantenida por nosotros, pero se pueden encontrar en Internet sitios que ofrecen este mismo tipo de servicio. Por ejemplo, a photo a day, Astronomy Picture of the Day o National Geographic Photo of the Day.

El servicio web provee una API sencilla:

Observe que las peticiones son siempre de tipo GET. Se ofrece una introducción a HTTP y, dentro de esta, detalles sobre las peticiones de tipo GET, en la clase del día 2 de marzo. Hasta esa fecha, se puede consultar esta breve ayuda.

La respuesta devuelve únicamente la imagen solicitada en formato JPG (sin incrustrar en una página HTML). Las imágenes proceden de un pool de fotografías, cada una de ellas nombrada con un número diferente. El número resultante de sumar todas las cifras de la fecha proporcionada es el nombre de la fotografía que se devuelve para esa fecha. Por lo tanto, para una misma fecha siempre se obtendrá la misma fotografía, pero al mismo tiempo, para fechas diferentes también puede repetirse una misma fotografía (por ejemplo, al 11 de abril y al 10 de mayo les corresponderá la imagen 10.jpg, pues 1+1+0+4+2+0+1+1 = 1+0+0+5+2+0+1+1 = 10).

Requisitos

Nuestra aplicación, que se va a llamar AMFoto, será un cliente "de escritorio" del servicio web antes descrito. En vez de acceder desde el navegador, el usuario podrá, a través de ella, ver la foto del día y disponer de algunas funcionalidades adicionales. Esta debe ser capaz de:

Lenguajes

Se utilizarán tres lenguajes para la realización de esta práctica: JavaSE, que servirá para familiarizarnos con los distintos módulos de la aplicación en un lenguaje conocido, Android y PyS60.

Para afrontar el módulo en PyS60 son necesarios conocimientos básicos del lenguaje Python. En la sección de referencias, en la Biblioteca y buscando en Internet se pueden encontrar manuales útiles de este lenguaje.

Planificación

Formación de grupos de prácticas

Las prácticas se realizarán obligatoriamente en parejas.

Cada grupo de práticas debe enviar un correo a emglozan@it.uc3m.es indicando nombre, apellidos y NIA de los componentes hasta como máximo el domingo 20 de Febrero. Ese día se publicará una lista en la página de la asignatura donde se indicarán los grupos y el número asignado a cada uno.

Aquellos alumnos que no hayan formado grupos por su cuenta, serán emparejados aleatoriamente.

Evaluación

La parte de prácticas significa un 60% de la nota global de la asignatura.

Se valorará cada módulo por separado con el siguiente peso:

Para poder calcular la nota global de prácticas no es necesario haber entregado y aprobado todas ellas. Las no presentadas se incluirán en el cómputo con nota igual a cero.

Puntos extra

Se podrán tener en cuenta mejoras añadidas por la pareja de prácticas, siempre que se hayan cubierto satisfactoriamente los requisitos, hasta el 10% del peso de cada parte (sin superar la nota máxima). Por ejemplo, se valorará positivamente la usabilidad de la aplicación.

Entorno

El entorno de desarrollo para las prácticas en Android y PyS60 se proveerá en la forma de una máquina virtual que correrá en los laboratorios 4.1.B.01-02 y 4.S.D03-04 sobre Windows.

También se distribuirá una copia en DVD entre los alumnos a través del delegado del grupo.

Se puede abrir con VMWare Player (instalador incluido en el DVD para los alumnos) u otro reproductor compatible. Sus características son las siguientes:

NOTA: Las versiones de la mayoría del software instalado no son las últimas sino las necesarias para que el entorno funcione correctamente. Es muy importante no actualizarlo.

Referencias

Java SE:

Android:

PyS60: