T7 - ARQUITECTURA C_S Flashcards

(26 cards)

1
Q

MODELO C/S ¿Qué significa el modelo Cliente/Servidor?

A
  • Es un modelo de comunicación donde un cliente solicita servicios o recursos
  • Un servidor responde a esas peticiones
  • El servidor puede atender a muchos clientes, pero el cliente se comunica normalmente con un servidor a la vez
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

MODELO C/S ¿Cuáles son las características generales del modelo Cliente/Servidor?

A
  • Compartición de recursos: los servicios y datos están centralizados y mejor protegidos
  • Concurrencia: permite que varios clientes realicen transacciones a la vez
  • Arquitectura abierta: los sistemas pueden comunicarse usando estándares comunes
  • Escalabilidad: puede crecer añadiendo más servidores (horizontal) o mejorando uno (vertical)
  • Tolerancia a fallos: tiene cierta tolerancia, pero menos que un modelo P2P
  • Transparencia: se usan esquemas de nombres para que el usuario no note dónde están los recursos

¡Ojo! Un modelo P2P (peer-to-peer) no tiene servidores fijos: todos los nodos pueden actuar como cliente y servidor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

MODELO C/S ¿En qué consiste la arquitectura n capas?

A
  • Divide una aplicación en varias partes o “capas”, cada una con una función distinta
  • Las capas más comunes son:
    • Presentación: interfaz del usuario
    • Lógica de negocio: reglas y procesos
    • Acceso a datos: conexión con bases de datos
  • También puede incluir capas de servidor y red:
    • Servidor: gestiona la lógica y los datos compartidos
    • Red: permite la comunicación entre capas distribuidas
  • Mejora la organización, mantenimiento y escalabilidad del sistema
  • Se pueden añadir más capas según sea necesario (por eso se llama n capas)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

MODELO C/S ¿Qué es Middleware? ¿Cuántos tipos hay?

A
  • Es un software que ayuda a que diferentes aplicaciones o partes de una aplicación se comuniquen entre sí, especialmente en redes distribuidas

Tipos de Middleware:
- MOM (Message Oriented Middleware): comunicación basada en mensajes
- RPC (Remote Procedure Call): llamada a funciones en otros equipos
- TP (Transaction Processing Monitor): gestiona transacciones complejas
- ORB (Object Request Broker): permite llamadas entre objetos distribuidos
- ESB (Enterprise Service Bus): conecta servicios en una arquitectura SOA
- API (Application Programming Interface): permite que unas aplicaciones accedan a funciones o datos de otras aplicaciones de forma controlada y segura, de forma controlada y segura; suele usar REST o SOAP

Nota: Un objeto distribuido es una parte de un programa que puede ejecutarse en otro equipo de la red, como si estuviera local

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

MODELO C/S ¿Qué diferencia hay entre una API y una librería?

A
  • Una API define cómo se comunican las aplicaciones entre sí
    (qué funciones ofrece una aplicación para que otras las usen)
  • Una librería es un conjunto de funciones o clases ya implementadas que un programa puede usar directamente
  • La API es la interfaz, la librería es el código que se ejecuta

Ejemplo:
Una librería puede implementar una API, pero también se puede acceder a una API por red sin tener su código

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

ARQUITECTURA SOA ¿Qué es un ESB (Enterprise Service Bus)?

A
  • Es una infraestructura de comunicación que conecta los distintos servicios dentro de una arquitectura SOA
  • Actúa como un “autobús” de mensajes, por donde viajan las peticiones y respuestas entre servicios
  • Se encarga de tareas como:
    • Enrutamiento de mensajes
    • Transformación de datos
    • Seguridad
    • Registro de servicios
  • Permite que los servicios funcionen juntos sin estar directamente conectados entre sí

Ejemplos: ServiceMix, Fuse, Oracle Service Bus, Microsoft BizTalk, WSO2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ARQUITECTURA SOA ¿Qué diferencia hay entre orquestación y coreografía de servicios?

A
  • Orquestación:
    • Un componente central (como un ESB, Enterprise Service Bus) controla todo el flujo entre servicios
    • Decide qué servicio se llama, en qué orden y cuándo
    • Se puede representar gráficamente como un diagrama de procesos
  • Coreografía:
    • No hay control central
    • Cada servicio sabe cuándo actuar y con quién comunicarse
    • Todos siguen un guion común

Resumen:
- Orquestación: control central
- Coreografía: colaboración distribuida

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

ARQUITECTURA SOA ¿Cuál es el lenguaje más común de orquestación?

A

BPEL (Business Process Execution Language)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

SERVICIOS WEB .REST ¿Cuáles son los principios fundamentales de REST?

A
  • Modelo cliente/servidor: el cliente solicita y el servidor responde, cada uno con responsabilidades claras
  • Sin estado (stateless): el servidor no guarda información de peticiones anteriores
  • Operaciones bien definidas: se usan los verbos HTTP (GET, POST, PUT, DELETE) sobre recursos
  • Recursos identificados por URI: cada dato tiene su propia dirección web
  • HATEOAS (Hypermedia As The Engine Of Application State): el cliente puede descubrir qué hacer a través de enlaces en las respuestas

Ejemplo básico:
- GET /empleados/23 → devuelve los datos del empleado con ID 23
- La respuesta puede incluir un link: {"editar": "/empleados/23/edit"}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

SERVICIOS WEB .REST ¿Qué es REST?

A
  • REST (Representational State Transfer) es un estilo de arquitectura para diseñar servicios web
  • Usa el protocolo HTTP y sus métodos (GET, POST, PUT, DELETE, etc.)
  • Es sencillo, ligero y basado en recursos identificados por URL
  • Los datos suelen enviarse en formato JSON o XML
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ESTANDAR SOAP ¿Qué es SOAP? ¿Quién creó el estándar?

A
  • SOAP (Simple Object Access Protocol) es un protocolo para el intercambio de mensajes entre aplicaciones a través de la red
  • Usa documentos XML para estructurar los datos
  • Es independiente del lenguaje y del sistema operativo
  • Fue creado por Microsoft y desarrollado junto con la W3C
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ESTANDAR SOAP ¿Qué pasos se siguen para crear y procesar los documentos XML en SOAP?

A
  • Paso 1: La APP cliente genera un mensaje en formato XML y lo envía al servidor usando HTTP POST
  • Paso 2: El motor SOAP en el servidor recibe el XML
  • Paso 3: El motor SOAP analiza el XML y llama a la función que pide el cliente (por ejemplo, una función en Java)
  • Paso 4: El resultado se convierte otra vez en XML y se envía al cliente
  • Paso 5: El cliente SOAP procesa ese XML y muestra el resultado a su aplicación

Importante:
- El XML solo sirve como formato de transporte
- El que hace el trabajo complejo es el motor SOAP, no el cliente
- El cliente SOAP solo pide y recibe, no interpreta lógica

Nota: Tanto el motor SOAP como el cliente SOAP son piezas de software intermedias que se encargan de enviar, recibir y procesar los mensajes SOAP. No son ni la aplicación principal ni el servidor final, pero hacen posible la comunicación entre ambos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

ESTANDAR SOAP ¿Qué es HTTP POST?

A
  • Es un método del protocolo HTTP que se usa para enviar datos al servidor
  • En SOAP, se utiliza para enviar el documento XML como parte del cuerpo (body) de la petición
  • A diferencia de GET, los datos no van en la URL, sino en el cuerpo del mensaje
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

ESTANDAR SOAP ¿Para qué se creó el estándar WS-Security de OASIS?

A
  • Para añadir firma, autenticación y cifrado a los mensajes SOAP
  • Se logra añadiendo una cabecera al mensaje
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

ESTANDAR SOAP ¿Para qué sirve el estándar UDDI de OASIS?

A
  • Para registrar y descubrir servicios web, una especie de catálogo de servicios disponibles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

ESTANDAR SOAP ¿Qué relación hay entre un endpoint o URL y HTTP POST?

A
  • El endpoint (o URL) es la dirección del servicio web
  • HTTP POST es el método que se usa para enviar el mensaje SOAP a esa dirección
  • Es decir: HTTP POST envía el XML al endpoint para que el servicio lo procese
17
Q

ESTANDAR SOAP ¿Qué es WSDL?

A
  • WSDL (Web Services Description Language) es un documento en XML
  • Sirve para describir cómo se usa un servicio web
  • Indica qué funciones ofrece, qué datos espera y cómo se comunican cliente y servidor
18
Q

ESTANDAR SOAP ¿Qué es y para qué sirve un BASE64 en XML?

A
  • Es un formato para codificar datos binarios (como imágenes o ficheros) en texto plano
  • En SOAP, se usa para incluir archivos binarios dentro del documento XML, ya que XML solo admite texto
19
Q

ESTANDAR SOAP ¿Qué hace la técnica MTOM?

A
  • MTOM (Message Transmission Optimization Mechanism) permite enviar datos binarios grandes (como imágenes o vídeos)
  • En lugar de codificarlos en BASE64, los adjunta como archivos externos, haciendo el mensaje más ligero y eficiente
  • El mensaje SOAP contiene una referencia al archivo, no el archivo completo en texto
  • Utiliza MIME para empaquetar el mensaje SOAP junto con los archivos adjuntos
20
Q

ESTANDAR SOAP ¿Qué ocurre cuando existe un SOAP Fault?

A
  • Un SOAP Fault indica que ha ocurrido un error al procesar el mensaje
  • El servidor responde con un mensaje especial de error en formato SOAP
  • Este mensaje tiene una estructura definida con detalles del fallo (código, motivo, etc.)
21
Q

ESTANDAR SOAP ¿Qué productos gestionan el cliente SOAP y el motor SOAP en Java? (producto y proveedores)

A

Productos en Java: API JAX-WS
- Proveedores:
- AXIS
- Apache CXF
- JBossWS
- Metro

22
Q

SERVICIOS WEB .REST ¿Cuáles son las 3 tecnologías para securizar operaciones en REST?

A
  • OAuth2: permite delegar permisos sin compartir contraseñas
  • OpenID: se usa para identificar usuarios, basado en OAuth2
  • JWT (JSON Web Token): formato de token para transmitir información de forma segura

¿Qué es un token?
- Es un dato codificado que se usa para identificar y autorizar a un usuario sin necesidad de enviar sus credenciales cada vez

23
Q

SERVICIOS WEB .REST ¿Cuál es el lenguaje para definir un servicio REST? ¿Y su formato?

A
  • Swagger o OpenAPI: especificación para describir servicios REST
  • El formato más común es YAML, aunque también puede usarse JSON

Ejemplo:
- Define qué recursos existen, qué operaciones permite cada uno y qué datos se envían o reciben

24
Q

CULTURILLA ¿En qué consiste la tecnología GraphQL inventada por Facebook?

A
  • Tecnología de Facebook para consultar datos desde un único endpoint
  • El cliente pide solo lo que necesita (más eficiente que REST)
  • Usa queries para leer y mutations para modificar
  • Se definen types para describir los datos
  • Se usan herramientas como Apollo Client (JS) o Lighthouse (PHP)
25
**CULTURILLA** ¿En qué consiste `gRPC` para llamar a funciones?
- Es una tecnología de Google para hacer llamadas a funciones remotas - Usa `HTTP/2` para el transporte - En lugar de enviar texto (como JSON o XML), usa datos en **formato binario** - Esto hace que sea más **rápido y eficiente** **Ejemplo sencillo:** - En vez de enviar "nombre: Juan", se codifica en ceros y unos (más compacto)
26
**CULTURILLA** ¿Qué es `Apache Thrift`?
- Es una tecnología de Facebook - Permite usar **métodos distribuidos** entre distintos lenguajes - Define servicios en `.thrift` y genera el código para cliente y servidor