Arquitectura cliente/servidor y servicios web — Test de Cuerpo de Gestión de Sistemas e Informática de la Administración del Estado
Test gratuito de 30 preguntas de Cuerpo de Gestión de Sistemas e Informática de la Administración del Estado, con la explicación justificada de cada respuesta. Responde las preguntas y envía el test para ver tu resultado: no necesitas registrarte.
¿Cuál es una característica fundamental del modelo cliente/servidor?
- AEl servidor proporciona recursos o servicios a uno o más clientes.
- BLos clientes y servidores intercambian roles dinámicamente.
- CTodos los nodos en la red tienen capacidades equivalentes.
- DLa comunicación siempre es sincrónica y bloqueante.
En una arquitectura de tres capas (3-tier), ¿cuál es la función de la capa de lógica de negocio?
- AManejar la comunicación de red entre cliente y servidor.
- BGestionar la interfaz de usuario y la presentación.
- CAlmacenar y recuperar datos de una base de datos.
- DContener las reglas y procedimientos que implementan la funcionalidad de la aplicación.
Según la especificación HTTP RFC 7231, ¿para qué se utiliza principalmente el método PUT?
- APara realizar una consulta de datos sin efectos secundarios.
- BPara crear un nuevo recurso en el servidor.
- CPara eliminar un recurso del servidor.
- DPara actualizar completamente un recurso existente en una URI específica.
¿Qué indica el código de estado HTTP 201?
- ASolicitud incorrecta debido a sintaxis inválida.
- BError interno del servidor.
- CRecurso creado exitosamente, típicamente después de un POST.
- DSolicitud correcta, pero sin contenido para responder.
En el contexto de APIs REST, ¿qué significa JSON?
- AJava Serialized Object Network, un protocolo de serialización.
- BJSON no es un acrónimo, es un nombre propio.
- CJavaScript Object Notation, un formato ligero de intercambio de datos.
- DJavaScript Oriented Notation, un lenguaje de marcado.
¿Qué protocolo de capa de aplicación utiliza normalmente SOAP para transportar mensajes?
- ATCP (Transmission Control Protocol) directamente
- BHTTP (Hypertext Transfer Protocol)
- CSMTP (Simple Mail Transfer Protocol)
- DFTP (File Transfer Protocol)
¿Qué describe un documento WSDL en un servicio web SOAP?
- ALa interfaz del servicio web, incluyendo operaciones, mensajes y protocolos.
- BLa estructura de datos y los tipos utilizados en los mensajes.
- CSolo la ubicación del servicio web (endpoint).
- DLa política de seguridad y autenticación del servicio.
¿Cuál es una ventaja principal de GraphQL sobre REST?
- ALos servidores GraphQL son más simples de implementar que los REST.
- BGraphQL no requiere HTTP, puede usar cualquier protocolo.
- CGraphQL siempre utiliza menos ancho de banda que REST.
- DEl cliente puede solicitar exactamente los datos que necesita, evitando sobrecarga o falta de datos.
¿Cómo se utilizan típicamente las API Keys para autenticación en servicios web?
- ASe intercambian por un token de acceso mediante OAuth.
- BSe envían como un parámetro de consulta (query parameter) o en una cabecera HTTP.
- CSe utilizan únicamente para cifrar la comunicación.
- DSe incluyen en el cuerpo de cada petición como un campo JSON.
En OAuth 2.0, ¿qué representa el 'resource owner'?
- ALa entidad capaz de conceder acceso a un recurso protegido, típicamente el usuario.
- BEl servidor que aloja los recursos protegidos.
- CLa aplicación cliente que solicita acceso a los recursos.
- DEl servidor de autorización que emite tokens de acceso.
¿Qué tres partes componen un JSON Web Token (JWT)?
- AUsuario, contraseña y token.
- BCabecera, carga útil y firma.
- CClave pública, clave privada y certificado.
- DEncabezado, cuerpo y pie de página.
¿Cuál es una característica clave de la arquitectura de microservicios?
- ALos servicios son desplegados independientemente y se comunican mediante APIs ligeras.
- BTodos los servicios comparten una base de datos única para consistencia.
- CLa aplicación se desarrolla como una sola unidad monolítica.
- DLos microservicios deben estar escritos en el mismo lenguaje de programación.
¿Cuál es una desventaja común de una arquitectura monolítica en comparación con microservicios?
- AMayor complejidad en la gestión de despliegues y versiones.
- BSuele tener un rendimiento inferior debido a la sobrecarga de red.
- CDificultad para escalar componentes individuales de forma independiente.
- DRequiere más esfuerzo para implementar comunicación entre servicios.
¿Cuál es la función principal de un Enterprise Service Bus (ESB)?
- AServir como balanceador de carga para distribuir peticiones entre servidores web.
- BActuar como intermediario para la integración de aplicaciones, gestionando la comunicación y transformación de mensajes.
- CGestionar la autenticación y autorización para todos los servicios en una empresa.
- DProporcionar un bus de datos de alta velocidad para aplicaciones en tiempo real.
¿Qué patrón de integración se utiliza para sincronizar datos entre sistemas de forma periódica, extrayendo, transformando y cargando datos?
- AMessage Queue
- BAPI Gateway
- CESB (Enterprise Service Bus)
- DETL (Extract, Transform, Load)
¿Cuál es la diferencia principal entre los métodos HTTP PATCH y PUT?
- APATCH se usa para crear recursos, PUT para actualizar.
- BPATCH no está definido en el estándar HTTP.
- CPATCH actualiza parcialmente un recurso, PUT lo reemplaza completamente.
- DPATCH es idempotente, PUT no lo es.
¿Qué indica el código de estado HTTP 401?
- ANo autorizado: la autenticación es requerida y ha fallado.
- BProhibido: el servidor entiende la solicitud pero se niega a autorizarla.
- CNo encontrado: el recurso solicitado no existe.
- DError interno del servidor.
¿Qué formato de mensaje utiliza SOAP?
- AYAML
- BXML
- CCSV
- DJSON
En GraphQL, ¿qué operación se utiliza para modificar datos en el servidor?
- AMutation
- BQuery
- CSubscription
- DUpdate
En el flujo de concesión de autorización de OAuth 2.0, ¿qué se intercambia por un token de acceso?
- ALa API Key del cliente.
- BUn token JWT.
- CEl código de autorización (authorization code).
- DLas credenciales del usuario (usuario y contraseña).
¿Cómo se verifica la integridad de un JWT?
- AComprobando la expiración en la carga útil.
- BValidando la estructura JSON del token.
- CDescifrando el token con una clave simétrica.
- DComparando la firma con una clave pública.
¿Qué patrón se utiliza a menudo para gestionar la configuración en una arquitectura de microservicios?
- AService Discovery
- BConfig Server
- CLoad Balancer
- DSingleton
¿Cuál de las siguientes NO es una función típica de un ESB?
- ACompilación de código fuente de aplicaciones.
- BEnrutamiento de mensajes basado en contenido.
- CTransformación de formatos de mensaje (ej: XML a JSON).
- DProtocol bridging (ej: HTTP a JMS).
¿Qué patrón de integración implica el uso de colas de mensajes para comunicación asíncrona entre sistemas?
- AFile Transfer
- BShared Database
- CRemote Procedure Call (RPC)
- DMessage-Oriented Middleware (MOM)
¿Cuál es una ventaja de utilizar una arquitectura N-capas frente a una de dos capas?
- AMejor escalabilidad y mantenibilidad al separar responsabilidades.
- BMayor acoplamiento entre la interfaz de usuario y la lógica de negocio.
- CMenor latencia en la comunicación entre cliente y servidor.
- DSimplificación del despliegue al reducir el número de componentes.
¿Cuál de los siguientes es un principio de diseño RESTful?
- AAcoplamiento fuerte entre cliente y servidor.
- BEstado de la sesión almacenado en el servidor.
- CComunicación basada en SOAP y WSDL.
- DInterfaz uniforme, que incluye el uso de métodos HTTP estándar.
¿Cuál es una desventaja de usar API Keys para autenticación?
- ANo se pueden transmitir de forma segura en HTTPS.
- BRequieren un intercambio complejo de tokens como OAuth.
- CNo permiten identificar la aplicación o usuario que hace la solicitud.
- DSi se comprometen, pueden ser usadas por terceros sin restricción.
¿En qué situación podría ser preferible una arquitectura monolítica sobre una de microservicios?
- ACuando se espera un alto tráfico y necesidad de escalar componentes específicos.
- BCuando se planea utilizar múltiples lenguajes de programación.
- CCuando la aplicación es pequeña y simple, y el equipo de desarrollo es reducido.
- DCuando se requiere una alta tolerancia a fallos y resiliencia.
¿Qué lenguaje de consulta utiliza GraphQL?
- ASQL (Structured Query Language)
- BGraphQL tiene su propio lenguaje de consulta, similar a JSON.
- CGQL (Graph Query Language), un lenguaje específico de GraphQL.
- DXQuery para XML.
¿Qué indica el código de estado HTTP 503?
- AError interno del servidor.
- BServicio no disponible, temporalmente sobrecargado o en mantenimiento.
- CSolicitud incorrecta.
- DNo encontrado.
Soluciones y explicaciones
Ver las 30 respuestas correctas y su explicación
Esta sección revela las respuestas correctas. Te recomendamos hacer el test antes de consultarla.
-
¿Cuál es una característica fundamental del modelo cliente/servidor?
Respuesta correcta: El servidor proporciona recursos o servicios a uno o más clientes.
En el modelo cliente/servidor, el servidor es un proveedor de recursos o servicios, y los clientes son consumidores que solicitan esos servicios, según la arquitectura estándar de redes.
-
En una arquitectura de tres capas (3-tier), ¿cuál es la función de la capa de lógica de negocio?
Respuesta correcta: Contener las reglas y procedimientos que implementan la funcionalidad de la aplicación.
En la arquitectura de tres capas, la capa de lógica de negocio (capa intermedia) procesa solicitudes, aplica reglas de negocio y coordina el acceso a la capa de datos.
-
Según la especificación HTTP RFC 7231, ¿para qué se utiliza principalmente el método PUT?
Respuesta correcta: Para actualizar completamente un recurso existente en una URI específica.
El método HTTP PUT, según RFC 7231, se utiliza para reemplazar todas las representaciones actuales del recurso de destino con la carga útil de la petición.
-
¿Qué indica el código de estado HTTP 201?
Respuesta correcta: Recurso creado exitosamente, típicamente después de un POST.
El código de estado HTTP 201 (Created) indica que la solicitud ha tenido éxito y se ha creado un nuevo recurso, como resultado de una petición POST o PUT.
-
En el contexto de APIs REST, ¿qué significa JSON?
Respuesta correcta: JavaScript Object Notation, un formato ligero de intercambio de datos.
JSON (JavaScript Object Notation) es un formato de texto ligero para el intercambio de datos, definido en RFC 8259, comúnmente utilizado en APIs REST.
-
¿Qué protocolo de capa de aplicación utiliza normalmente SOAP para transportar mensajes?
Respuesta correcta: HTTP (Hypertext Transfer Protocol)
SOAP (Simple Object Access Protocol) se utiliza comúnmente sobre HTTP para servicios web, como se especifica en el estándar W3C SOAP.
-
¿Qué describe un documento WSDL en un servicio web SOAP?
Respuesta correcta: La interfaz del servicio web, incluyendo operaciones, mensajes y protocolos.
WSDL (Web Services Description Language) es un lenguaje basado en XML que describe la interfaz de un servicio web, definiendo operaciones, mensajes, tipos de datos y protocolos.
-
¿Cuál es una ventaja principal de GraphQL sobre REST?
Respuesta correcta: El cliente puede solicitar exactamente los datos que necesita, evitando sobrecarga o falta de datos.
GraphQL, desarrollado por Facebook, permite a los clientes definir la estructura de los datos requeridos, reduciendo problemas de over-fetching o under-fetching.
-
¿Cómo se utilizan típicamente las API Keys para autenticación en servicios web?
Respuesta correcta: Se envían como un parámetro de consulta (query parameter) o en una cabecera HTTP.
Las API Keys son cadenas que identifican una aplicación o usuario, y se suelen enviar en la cabecera HTTP (como X-API-Key) o como parámetro de consulta.
-
En OAuth 2.0, ¿qué representa el 'resource owner'?
Respuesta correcta: La entidad capaz de conceder acceso a un recurso protegido, típicamente el usuario.
En el marco OAuth 2.0 (RFC 6749), el resource owner es la entidad que posee los recursos protegidos y puede conceder acceso a ellos, usualmente el usuario final.
-
¿Qué tres partes componen un JSON Web Token (JWT)?
Respuesta correcta: Cabecera, carga útil y firma.
Un JWT (JSON Web Token), según RFC 7519, está compuesto por tres partes separadas por puntos: la cabecera (header), la carga útil (payload) y la firma (signature).
-
¿Cuál es una característica clave de la arquitectura de microservicios?
Respuesta correcta: Los servicios son desplegados independientemente y se comunican mediante APIs ligeras.
La arquitectura de microservicios descompone una aplicación en servicios pequeños, independientes, que se despliegan por separado y se comunican típicamente a través de HTTP/REST o mensajería.
-
¿Cuál es una desventaja común de una arquitectura monolítica en comparación con microservicios?
Respuesta correcta: Dificultad para escalar componentes individuales de forma independiente.
En una arquitectura monolítica, toda la aplicación se despliega como una sola unidad, lo que dificulta escalar solo ciertas partes sin escalar todo el sistema.
-
¿Cuál es la función principal de un Enterprise Service Bus (ESB)?
Respuesta correcta: Actuar como intermediario para la integración de aplicaciones, gestionando la comunicación y transformación de mensajes.
Un ESB es un patrón de arquitectura que proporciona un bus de servicios empresariales para integrar aplicaciones heterogéneas, ofreciendo capacidades de enrutamiento, transformación y mediación de mensajes.
-
¿Qué patrón de integración se utiliza para sincronizar datos entre sistemas de forma periódica, extrayendo, transformando y cargando datos?
Respuesta correcta: ETL (Extract, Transform, Load)
ETL (Extract, Transform, Load) es un patrón de integración de datos que implica extraer datos de fuentes, transformarlos a un formato adecuado y cargarlos en un sistema de destino, típicamente en procesos por lotes.
-
¿Cuál es la diferencia principal entre los métodos HTTP PATCH y PUT?
Respuesta correcta: PATCH actualiza parcialmente un recurso, PUT lo reemplaza completamente.
Según RFC 5789, PATCH se utiliza para aplicar modificaciones parciales a un recurso, mientras que PUT (RFC 7231) reemplaza el recurso completo.
-
¿Qué indica el código de estado HTTP 401?
Respuesta correcta: No autorizado: la autenticación es requerida y ha fallado.
El código 401 Unauthorized en HTTP indica que la solicitud requiere autenticación y no se ha proporcionado o ha fallado.
-
¿Qué formato de mensaje utiliza SOAP?
Respuesta correcta: XML
SOAP (Simple Object Access Protocol) utiliza mensajes XML para el intercambio de datos, como se define en el estándar W3C SOAP.
-
En GraphQL, ¿qué operación se utiliza para modificar datos en el servidor?
Respuesta correcta: Mutation
En GraphQL, las mutaciones (mutations) son operaciones que se utilizan para modificar datos en el servidor, mientras que las consultas (queries) son para lectura.
-
En el flujo de concesión de autorización de OAuth 2.0, ¿qué se intercambia por un token de acceso?
Respuesta correcta: El código de autorización (authorization code).
En el flujo de autorización de OAuth 2.0 (RFC 6749), el cliente intercambia un código de autorización por un token de acceso, después de que el usuario autorice la solicitud.
-
¿Cómo se verifica la integridad de un JWT?
Respuesta correcta: Comparando la firma con una clave pública.
La firma de un JWT se verifica utilizando una clave secreta (para HMAC) o una clave pública (para algoritmos asimétricos como RSA) para asegurar que no ha sido alterado.
-
¿Qué patrón se utiliza a menudo para gestionar la configuración en una arquitectura de microservicios?
Respuesta correcta: Config Server
En microservicios, un Config Server centralizado (parte de Spring Cloud Config, por ejemplo) permite gestionar la configuración externa para todos los servicios desde un lugar central.
-
¿Cuál de las siguientes NO es una función típica de un ESB?
Respuesta correcta: Compilación de código fuente de aplicaciones.
Un ESB se enfoca en la integración de aplicaciones mediante funciones como enrutamiento, transformación, y bridge de protocolos, pero no en la compilación de código fuente.
-
¿Qué patrón de integración implica el uso de colas de mensajes para comunicación asíncrona entre sistemas?
Respuesta correcta: Message-Oriented Middleware (MOM)
Message-Oriented Middleware (MOM) utiliza colas de mensajes para permitir comunicación asíncrona y desacoplada entre aplicaciones.
-
¿Cuál es una ventaja de utilizar una arquitectura N-capas frente a una de dos capas?
Respuesta correcta: Mejor escalabilidad y mantenibilidad al separar responsabilidades.
Las arquitecturas N-capas separan las preocupaciones en capas distintas (presentación, lógica, datos), lo que mejora la mantenibilidad, escalabilidad y flexibilidad.
-
¿Cuál de los siguientes es un principio de diseño RESTful?
Respuesta correcta: Interfaz uniforme, que incluye el uso de métodos HTTP estándar.
REST (Representational State Transfer) se basa en principios como interfaz uniforme, statelessness, cacheability, y uso de métodos HTTP estándar para operaciones.
-
¿Cuál es una desventaja de usar API Keys para autenticación?
Respuesta correcta: Si se comprometen, pueden ser usadas por terceros sin restricción.
Las API Keys son estáticas y, si se filtran, un atacante puede usarlas para acceder al servicio como si fuera el titular, por lo que es importante protegerlas.
-
¿En qué situación podría ser preferible una arquitectura monolítica sobre una de microservicios?
Respuesta correcta: Cuando la aplicación es pequeña y simple, y el equipo de desarrollo es reducido.
Para aplicaciones pequeñas, un monolito puede ser más simple de desarrollar, desplegar y gestionar, evitando la complejidad de los microservicios.
-
¿Qué lenguaje de consulta utiliza GraphQL?
Respuesta correcta: GraphQL tiene su propio lenguaje de consulta, similar a JSON.
GraphQL utiliza un lenguaje de consulta propio donde las consultas se escriben en una sintaxis similar a JSON, definiendo los campos deseados.
-
¿Qué indica el código de estado HTTP 503?
Respuesta correcta: Servicio no disponible, temporalmente sobrecargado o en mantenimiento.
El código 503 Service Unavailable indica que el servidor no está disponible temporalmente, por sobrecarga o mantenimiento, y el cliente puede reintentar más tarde.