Contexto del tema
Cómo se reparte una aplicación entre máquinas y entre capas, y cómo se hablan esas piezas entre sí por la red con servicios web.
De qué va y por qué se estudia
Una aplicación seria no vive en un solo programa: hay una parte que pide y una parte que sirve, y la parte que sirve se divide en capas para que la pantalla, la lógica y los datos se puedan cambiar por separado. Este tema explica ese reparto (cliente/servidor, dos, tres y n capas) y después cómo se comunican las piezas cuando están en máquinas distintas: los servicios web, primero en su forma clásica con SOAP y WSDL, hoy sobre todo con REST, y con las alternativas recientes GraphQL y gRPC.
Es un tema que conecta con casi todo: con Java y .NET, porque son las plataformas donde se programan estas capas; con HTTP, porque REST no es más que HTTP bien usado; con la seguridad, porque una API que no guarda sesión necesita OAuth y JWT. En el examen se pregunta la comparación SOAP frente a REST, los verbos HTTP y los códigos de estado en el contexto de una API, qué es WSDL y UDDI, y qué es un token JWT y qué lleva dentro.
El recorrido va de la arquitectura a la comunicación: cliente/servidor y multicapa; qué es un servicio web y su pila clásica; SOAP; REST; la comparación entre los dos; la seguridad de una API; y SOA, GraphQL y gRPC como cierre.
Arquitectura multicapa y servicios web
Cómo se reparte la aplicación
- Cliente/servidor
- La arquitectura multicapa
Cómo se hablan las piezas
- Qué es un servicio web
- SOAP
- REST
- SOAP frente a REST
Seguridad y alternativas
- Seguridad: OAuth y JWT
- SOA, GraphQL y gRPC
Dos preguntas: dónde va cada parte de la aplicación (capas) y cómo se hablan las partes (servicios web). SOAP frente a REST es la comparación que siempre cae, y REST es HTTP bien usado.
Para el examen
Las dos preguntas del tema: dónde va cada parte y cómo se hablan las partes
Qué es un servicio web: una forma de que dos programas se hablen por la red con estándares
Comparación que siempre cae: SOAP, un protocolo con contrato, frente a REST, un estilo sobre HTTP