TAI
Tema

Arquitectura de servicios web para Oposiciones TAI: Guía Completa

📝 0 preguntas 📖 Teoría 🎯 Preparación TAI

💡 Qué aprenderás

En este tema estudiarás todos los conceptos necesarios para responder correctamente las preguntas relacionadas con Arquitectura de servicios web en la oposición.

¿Qué es una arquitectura de servicios web?

La arquitectura de servicios web es un modelo de diseño software que permite crear aplicaciones distribuidas cuyos componentes se comunican mediante una red utilizando protocolos y estándares abiertos.

Su objetivo es permitir que diferentes sistemas, aplicaciones y plataformas puedan intercambiar información independientemente del lenguaje de programación, sistema operativo o tecnología utilizada.

Los servicios web actúan como intermediarios que proporcionan funcionalidades accesibles mediante interfaces bien definidas.

📖 Definición
Una arquitectura de servicios web permite la interoperabilidad entre aplicaciones heterogéneas mediante estándares comunes.

Conceptos fundamentales

Para comprender la arquitectura de servicios web es necesario conocer los siguientes conceptos:

  • Servicio web: componente software que ofrece una funcionalidad accesible mediante una red.
  • Cliente: aplicación que solicita y consume un servicio.
  • Proveedor: sistema que implementa y publica un servicio.
  • Interfaz: definición de las operaciones disponibles y cómo utilizarlas.
  • Mensaje: información intercambiada entre cliente y servicio.
  • API: conjunto de operaciones que permiten la comunicación entre aplicaciones.
🎯 Muy preguntado
Los servicios web se basan en el principio de comunicación entre sistemas mediante interfaces estandarizadas.

Funcionamiento de un servicio web

El funcionamiento básico de un servicio web sigue el siguiente modelo:

Cliente

   │

Solicitud

   │

Servicio Web

   │

Procesamiento

   │

Respuesta

   │

Cliente

El cliente envía una petición al servicio web indicando la operación que desea realizar y los datos necesarios.

El servicio procesa la solicitud y devuelve una respuesta con el resultado.

💡 Consejo para el examen
En una arquitectura de servicios web, el cliente no necesita conocer cómo está implementado internamente el servicio, únicamente su interfaz.

Arquitectura básica de servicios web

Una arquitectura tradicional de servicios web está formada por tres elementos principales:

Elemento Función
Proveedor de servicios Implementa y publica el servicio.
Consumidor o cliente Utiliza el servicio mediante peticiones.
Registro de servicios Permite localizar servicios disponibles.

El modelo clásico se conoce como:

Proveedor → Publica → Registro

Cliente → Busca → Registro

Cliente → Consume → Proveedor
📌 Recuerda
El registro de servicios era habitual en arquitecturas basadas en SOAP mediante UDDI, aunque actualmente muchas APIs REST se publican mediante documentación directa.

Características de los servicios web

Las principales características son:

  • Interoperabilidad: comunicación entre sistemas diferentes.
  • Reutilización: permite utilizar funcionalidades existentes.
  • Bajo acoplamiento: cliente y servicio dependen poco entre sí.
  • Escalabilidad: permite aumentar capacidad según demanda.
  • Accesibilidad: servicios disponibles mediante red.
  • Estándares abiertos: uso de protocolos ampliamente aceptados.
🎯 Muy preguntado
La interoperabilidad es una de las características más importantes y más preguntadas en exámenes.

Modelos de arquitectura de servicios web

Existen diferentes modelos según la tecnología utilizada:

  • Servicios web SOAP.
  • Servicios web REST.
  • Arquitecturas orientadas a microservicios.

Servicios web SOAP

SOAP (Simple Object Access Protocol) es un protocolo estándar basado en XML para el intercambio de información entre aplicaciones.

SOAP define una estructura estricta para los mensajes y utiliza normalmente HTTP como protocolo de transporte.

Un mensaje SOAP tiene la siguiente estructura:

Envelope

 ├── Header

 └── Body

Componentes de SOAP

Elemento Función
Envelope Elemento raíz del mensaje SOAP.
Header Información adicional como seguridad o transacciones.
Body Contiene la información de la operación solicitada.
Fault Contiene información sobre errores.
🎯 Muy preguntado
SOAP utiliza obligatoriamente XML como formato de intercambio de mensajes.

Características de SOAP

SOAP presenta las siguientes características:

  • Basado en XML.
  • Protocolo estandarizado.
  • Alta seguridad mediante extensiones WS-*.
  • Compatible con transacciones distribuidas.
  • Mayor complejidad que REST.

Ventajas

  • Alta formalización.
  • Seguridad avanzada.
  • Adecuado para entornos empresariales.
  • Soporte para operaciones complejas.

Inconvenientes

  • Mensajes más pesados.
  • Mayor complejidad.
  • Menor velocidad frente a REST.
💡 Consejo para el examen
SOAP suele aparecer en sistemas empresariales donde se requiere seguridad, contratos estrictos o transacciones.

WSDL (Web Services Description Language)

WSDL es un lenguaje basado en XML utilizado para describir un servicio web SOAP.

Define:

  • Operaciones disponibles.
  • Parámetros de entrada.
  • Datos de salida.
  • Ubicación del servicio.
  • Protocolo utilizado.

Ejemplo conceptual:

Servicio:

Operación → ObtenerUsuario

Entrada → ID usuario

Salida → Datos usuario
🎯 Muy preguntado
WSDL funciona como un contrato entre el cliente y el servicio.

REST (Representational State Transfer)

REST es un estilo arquitectónico para diseñar servicios web utilizando los principios del protocolo HTTP.

Los servicios REST se basan principalmente en recursos identificados mediante URLs.

Ejemplo:

GET /usuarios/25

Solicita la información del usuario con identificador 25.

📖 Definición
REST no es un protocolo, sino un estilo arquitectónico basado principalmente en HTTP.

Principios de REST

REST se basa en los siguientes principios:

Cliente-servidor

El cliente y el servidor están separados.

El cliente solicita recursos y el servidor los proporciona.

Sin estado (Stateless)

Cada petición contiene toda la información necesaria para procesarse.

El servidor no mantiene información de sesión entre peticiones.

Cacheable

Las respuestas pueden almacenarse temporalmente para mejorar rendimiento.

Interfaz uniforme

Los recursos se gestionan mediante operaciones estándar.

Sistema por capas

La arquitectura puede incluir intermediarios como proxies o balanceadores.

🎯 Muy preguntado
La característica Stateless es una de las más importantes de REST.

Métodos HTTP utilizados en REST

REST utiliza principalmente los métodos HTTP:

Método Función
GET Obtener información.
POST Crear un recurso.
PUT Actualizar un recurso completo.
PATCH Actualizar parcialmente un recurso.
DELETE Eliminar un recurso.

Ejemplo:

Petición Acción
GET /usuarios Obtener usuarios
POST /usuarios Crear usuario
DELETE /usuarios/10 Eliminar usuario
💡 Consejo para el examen
Memoriza la relación entre métodos HTTP y operaciones CRUD.

Formatos de intercambio de datos

Los servicios web necesitan un formato para intercambiar información.

Los más utilizados son:

XML

Formato basado en etiquetas.

Ejemplo:

<usuario>
    <nombre>Ana</nombre>
</usuario>

Características:

  • Más pesado.
  • Muy estructurado.
  • Utilizado habitualmente por SOAP.

JSON

Formato ligero basado en pares clave-valor.

Ejemplo:

{
  "nombre": "Ana"
}

Características:

  • Menor tamaño.
  • Fácil procesamiento.
  • Muy utilizado en APIs REST.
🎯 Muy preguntado
REST suele utilizar JSON, mientras que SOAP utiliza XML.

Comparación SOAP vs REST

Característica SOAP REST
Tipo Protocolo Estilo arquitectónico
Formato habitual XML JSON/XML
Complejidad Alta Baja
Rendimiento Menor Mayor
Seguridad avanzada Mediante HTTPS y otros mecanismos
Uso habitual Sistemas empresariales APIs modernas
⚠️ Error habitual
Un error frecuente es decir que REST es un protocolo. REST es un estilo arquitectónico.

API Gateway

Un API Gateway es un componente que actúa como punto de entrada único para múltiples servicios.

Sus funciones principales son:

  • Enrutamiento de peticiones.
  • Autenticación.
  • Control de acceso.
  • Limitación de tráfico.
  • Monitorización.
  • Transformación de mensajes.

Arquitectura:

Cliente

   │

API Gateway

   │

├── Servicio A

├── Servicio B

└── Servicio C
📌 Recuerda
Los API Gateway son habituales en arquitecturas basadas en microservicios.

Microservicios

La arquitectura de microservicios divide una aplicación grande en pequeños servicios independientes.

Cada servicio:

  • Tiene una responsabilidad concreta.
  • Puede desarrollarse independientemente.
  • Puede desplegarse por separado.
  • Puede utilizar diferentes tecnologías.

Ejemplo:

Aplicación bancaria

 ├── Servicio usuarios

 ├── Servicio pagos

 ├── Servicio notificaciones

 └── Servicio informes

Ventajas

  • Mayor escalabilidad.
  • Despliegues independientes.
  • Mayor flexibilidad tecnológica.

Inconvenientes

  • Mayor complejidad.
  • Necesidad de monitorización.
  • Gestión de comunicación entre servicios.

Seguridad en servicios web

La seguridad de los servicios web incluye:

Autenticación

Permite comprobar la identidad del usuario o sistema.

Ejemplos:

  • Usuario y contraseña.
  • Tokens.
  • Certificados digitales.

Autorización

Determina qué operaciones puede realizar un usuario.

Cifrado

Protege la información durante la comunicación.

Ejemplo:

  • HTTPS mediante TLS.

Control de acceso

Limita el uso de determinados recursos.

🎯 Muy preguntado
HTTPS protege la comunicación, pero no sustituye a los mecanismos de autenticación y autorización.

Caso práctico: diseño de una API REST

Situación

Una universidad necesita crear una aplicación móvil para consultar información de alumnos.

Solución

Se desarrolla una API REST:

Aplicación móvil

        │

        │ HTTPS + JSON

        │

API REST

        │

Base de datos

Operaciones:

GET /alumnos

POST /alumnos

GET /alumnos/{id}

DELETE /alumnos/{id}

Ventajas:

  • Compatible con diferentes plataformas.
  • Fácil integración.
  • Bajo consumo de recursos.
💡 Consejo para el examen
Las APIs REST son actualmente la solución más habitual para comunicar aplicaciones web y móviles.

Ventajas e inconvenientes de los servicios web

Ventajas

  • Interoperabilidad entre sistemas.
  • Reutilización de funcionalidades.
  • Integración sencilla.
  • Independencia tecnológica.
  • Escalabilidad.
  • Facilitan arquitecturas distribuidas.

Inconvenientes

  • Dependencia de la red.
  • Problemas de seguridad.
  • Mayor complejidad de integración.
  • Necesidad de gestión de versiones.
  • Posibles problemas de rendimiento.

Errores habituales

⚠️ Error habitual
Los errores más frecuentes relacionados con servicios web son:
  • Confundir SOAP con REST.
  • Pensar que REST es un protocolo.
  • Confundir API con servicio web.
  • Asociar JSON exclusivamente con SOAP.
  • Olvidar que SOAP utiliza XML.
  • No diferenciar autenticación de autorización.
  • Confundir WSDL con una API.

Cómo evitarlos

  • Recordar que SOAP es un protocolo y REST un estilo arquitectónico.
  • Asociar SOAP con XML y WSDL.
  • Asociar REST con HTTP y JSON.
  • Diferenciar siempre identificación y permisos.
  • Entender el papel de las APIs como interfaces de comunicación.

Relaciones con otros temas

La arquitectura de servicios web está relacionada con:

  • APIs.
  • HTTP.
  • JSON.
  • XML.
  • REST.
  • SOAP.
  • Microservicios.
  • Bases de datos.
  • Seguridad informática.
  • Cloud Computing.
  • Desarrollo web.
📌 Recuerda
En exámenes es muy frecuente relacionar servicios web con REST, SOAP, HTTP, JSON, XML, WSDL, APIs y microservicios.

Conceptos clave para recordar

[!NOTE]

  • Un servicio web permite la comunicación entre aplicaciones mediante una red.
  • Su objetivo principal es la interoperabilidad.
  • SOAP es un protocolo basado en XML.
  • REST es un estilo arquitectónico basado principalmente en HTTP.
  • SOAP utiliza WSDL como descripción del servicio.
  • REST utiliza recursos identificados mediante URLs.
  • Los métodos HTTP principales son:
    • GET → consultar
    • POST → crear
    • PUT/PATCH → modificar
    • DELETE → eliminar
  • JSON es el formato más utilizado en APIs REST modernas.
  • Los API Gateway centralizan el acceso a múltiples servicios.
  • Los microservicios dividen una aplicación en servicios independientes.

📝 Preguntas de ejemplo

Comprueba si reconoces este tipo de preguntas.

¿Has terminado de estudiar?

Ahora pon a prueba tus conocimientos realizando el test completo de este tema.

Comenzar test

Utilizamos cookies

Utilizamos cookies analíticas para conocer el uso de la plataforma y mejorar la experiencia del usuario. Puedes aceptar o rechazarlas en cualquier momento. Más información en nuestra Política de Cookies .