Prácticas Cliente Servidor en JavaScript
Aplicaciones Telemáticas, 2023-2024
Grado en Ingeniería Telemática
Escuela de Ingeniería de Fuenlabrada
Universidad Rey Juan Carlos


Práctica 6.1. Uso de Express

Prueba en tu ordenador el primer ejemplo completo de las transparencias sobre Express.js (api_rest.js). No escribas memoria de este apartado.

Práctica 6.2. Uso de Express(2)

Prueba en tu ordenador el ejemplo de las transparencias para servir ficheros estáticos (estaticos.02.js). No escribas memoria de este apartado.

Práctica 6.3. Diseño de API REST/ROA

Considera la empresa de tu práctica 1.4. Diseña un interface REST/ROA con al menos 4 direcciones para hacer diversas operaciones: dar de alta un usuario, consultar los datos de un producto a partir de su id, reservar una habitacion en cierta fecha, etc.

Configura Express.js en el fichero ~/at/practica05/empresa.js implementando ese API, pero devolviendo solamente mensajes de prueba. En otras palabras: escribe un script similar al api_rest.js de las transparencias, pero con un API diferente.

Práctica 6.4. Código en el servidor

Crea un fichero ~/at/practica05/servidor_distancias.js que ofrezca mediante un interface REST/ROA la función principal de ~/at/practica03/convierte.js

Práctica 6.5. Ficheros estáticos

Crea un fichero ~/at/practica05/estaticos.js que configure Express.js para exportar via web en el puerto 3000 de localhost tus ficheros de las prácticas 1,2, 3 y 4.

Práctica 6.6. Hola JSON

Prepara un script en node.js con el nombre ~/at/practica05/json.js. Define un objeto literal con al menos 8 propiedades, probando todos los tipos de valor de JSON. Convierte el objeto en cadena. Convierte la cadena de nuevo en objeto.

Práctica 6.7. Prueba de cliente REST

Prueba dobla_server y dobla_client en tu ordenador. No es necesario que escribas memoria.

Práctica 6.8. Modificación de dobla_server y dobla_client

Copia el fichero dobla_server.js de las transparencias en ~/at/practica05/opera_server.js.

Copia el fichero dobla_client.html de las transparencias en ~/at/practica05/opera_client.html.

Copia el fichero dobla_client.js de las transparencias en ~/at/practica05/js/opera_client.js.

Haz los cambios necesarios para que:

  1. El cálculo del doble del número sea una función independiente.

  2. El directorio raiz sea ~/at/www/site01

  3. No use funciones flecha sino funciones con sintaxis tradicional.

  4. Si el cliente pasa un argumento que no es un número, el servidor devuelva un error 400 Bad Request. El cliente percibirá esto y lo mostrará en el HTML de la forma que te parezca conveniente.

  5. El botón cuyo texto actual es enviar un valor pasará a tener un texto como doblar un valor. Y habrá otro botón con el texto triplicar un valor completamente análogo al anterior, que enviará un número aleatorio al servidor via REST/ROA y recibirá el número por triplicado.

  6. Añade un nuevo botón al interface, llamado Introducir Errores. Cuando se pulse, la aplicación estará en un modo especial en el que, de vez en cuando, en vez de enviar un número correcto, enviará un valor ilegal. Por ejemplo una cadena.

    Para implementar este de vez en cuando, antes del envio del valor, genera un valor aleatorio, y si está dentro del intervalo que veas oportuno, el cliente enviará un valor correcto, y si no, uno falso. Por ejemplo, genera un número del 1 al 5, si sale 1 envía un error, en otro caso, un valor correcto.

    Cuando la aplicación esté en este modo, el botón tendrá el texto No Introducir Errores, al pulsarlo, volverá al modo en el que todos los valores que se envían son correctos.