Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

También debemos reducir los Code Smells lo máximo posible evitando cualquier mala práctica que haya en el código. En proyectos nuevos debemos asegurar que las subidas de código nuevo no empeoran el código ya existente para no ir incrementando la deuda técnica.

Seguridad en APIs

...

Rest

Los backend FundewebJS al ser sin estado deben tener un especial control sobre todas sus APIs ya que están expuestas a internet y cualquiera puede utilizarlas. No sólo hay que proteger que un usuario no autenticado acceda a una parte de la aplicación que no debe, sino que los usuarios que están autenticados no realizan ninguna acción que no deban.

Para evitar cualquier agujero de seguridad, las API Rest de nuestras aplicaciones deben documentarse dentro del espacio de Confluence donde se trate dicha aplicación o servicio o bien en el espacio del propio grupo si la aplicación no tiene uno propio. Se deberá rellenar la siguiente tabla para verificar que las APIs están protegidas.

URL APIRequiere loginRecibe Form DataAcciones
Url de la api incluyendo los header paramSi requiere loginSi recibe datos del frontend
  • ¿Comprueba que el token sea correcto?
  • ¿Limita las acciones al usuario propietario del token?
  • ¿Evita que un usuario autenticado acceda a información de otro usuario?
  • ¿Evita que un usuario autenticado lance procesos para los que no esté autorizado?
  • ¿Analiza los datos que le vienen del frontend?
  • Códigos HTTP de respuesta según cada caso.

Test de carga

Una vez securizada y revisada la API deberemos realizar los test de carga pertinentes para confirmar que la infraestructura soporta de manera correcta las peticiones y la concurrencia que pudiera tener el sistema. Para ello deberemos preparar un test de carga en local que sea repetible y representativo, es decir que no requiera dar de alta de manera manual datos durante el proceso y que realice operaciones lo más pesadas posibles.

Una vez preparado el test de carga lo ejecutaremos una primera vez en local para medir tanto los tiempos de respuesta como el uso de memoria. En este punto es muy importante comprobar que el uso de memoria permanece estable en el test de 40/60 min, de no ser así tendremos que solucionar los problemas en la aplicación antes de realizar el siguiente paso.

Si tenemos ya un uso de memoria estable y unos tiempos aceptables coordinaremos con sistemas (poniéndoles un Jira a DJ-AT-SIST-MIDDLE ) para realizar la prueba contra la infraestructura. Una vez terminada la prueba y revisados los resultados, si entran dentro de los valores normales consideraremos esta tarea superada.

...

Accesibilidad