Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Sòcols i serveis

Com es comuniquen dos programes per la xarxa, des dels bytes que viatgen per un sòcol fins a les APIs que fan servir les aplicacions web i mòbils. Pressuposa el bloc anterior: un servidor atén diversos clients alhora, i això és concurrència (Processos i fils).

Com llegir aquests documents

Els documents pugen de nivell, de la xarxa cap a l’aplicació:

  1. Regles. Abans d’enviar res, cal saber quines regles segueixen els dos extrems. Els protocols de xarxa (IP, TCP, UDP, HTTP) en són exemples, i també es pot dissenyar un protocol propi.
  2. Implementar-les. Els sòcols són l’eina per implementar un protocol a Java, tant amb TCP com amb UDP. Aquí apareixen els problemes reals: timeouts, tancament de connexions i comunicació asíncrona.
  3. Serveis. Un nivell més amunt, la pregunta ja no és com enviar bytes sinó on posar cada part de l’aplicació (arquitectures) i com exposar-la als clients (APIs). HTTP passa a ser la base comuna.
  4. APIs. Les dues formes habituals de construir una API sobre HTTP: REST, sense estat al servidor, i streaming, amb una connexió oberta.
flowchart TD
    P["Protocols"] --> S["Sòcols"]
    P --> V["Serveis"]
    S --> V
    V --> A["APIs sobre HTTP"]

Comunicació en xarxa

  • Protocols: models de capes, IPv4 i IPv6, HTTP i com dissenyar un protocol propi sobre TCP o UDP
  • Sòcols: comunicació TCP i UDP amb sòcols, amb protocols d’exemple, timeouts, tancament i comunicació asíncrona

Serveis i APIs

  • Serveis: arquitectures distribuïdes, què és una API i el paper d’HTTP
  • APIs sobre HTTP: APIs RESTful (stateless) i APIs de streaming (stateful)

Després

Un servei exposat a la xarxa s’ha de protegir. Criptografia explica com xifrar la comunicació (TLS), i Seguretat com autenticar els clients i protegir una API.

Referències

Last change: , commit: 1b2bff7