Salta el contingut

Estructura client-servidor

Hui en dia, la majoria de les aplicacions informàtiques es dissenyen amb una estructura client-servidor, on el client és la interfície que utilitza l'usuari (navegador web, aplicació mòbil, etc.) i el servidor és l'aplicació que processa les peticions, gestiona la lògica de negoci i retorna les dades necessàries.

Com que els clients poden ser molt diversos, el servidor s'organitza mitjançant una API REST. Aquesta és una capa d'intermediació estàndard que permet la comunicació independentment de la tecnologia utilitzada en el client. El funcionament és el següent:

  • Peticions HTTP: el client envia sol·licituds (utilitzant mètodes com GET, POST, PUT o DELETE).
  • Processament: el servidor rep la petició, valida l'accés i executa l'acció corresponent.
  • Resposta JSON: el servidor retorna una resposta HTTP que inclou un codi d'estat (com 200 OK o 404 Not Found) i la informació sol·licitada, normalment en format JSON, per la seua lleugeresa i facilitat de lectura.

Estructura d'una aplicació client-servidor Estructura d'una aplicació client-servidor

Figura 1. Estructura d'una aplicació client-servidor.

En aquest projecte

En aquest projecte, el client i el servidor es desenvoluparan per separat, cadascun amb les seues pròpies tecnologies:

  • Client: aplicació web feta amb HTML, CSS i TypeScript.

    Responsabilitats:

    • Mostrar la interfície d'usuari.
    • Recollir les dades introduïdes per l'usuari i validar-les.
    • Enviar peticions HTTP a l'API REST del servidor i tractar-ne la resposta.
    • Actualitzar la interfície amb les dades rebudes del servidor.

    Podeu consultar com s'organitza el codi del client a la Interfície web.

  • Servidor: API REST feta amb Spring.

    Responsabilitats:

    • Exposar els endpoints de l'API REST.
    • Aplicar la lògica de negoci del projecte.
    • Gestionar l'accés a la base de dades.
    • Retornar les dades en format JSON.

    Podeu consultar com s'organitza el codi del servidor a l' Arquitectura per capes.