T7 - ARQUITECTURA C_S Flashcards
(26 cards)
MODELO C/S ¿Qué significa el modelo Cliente/Servidor
?
- 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 elcliente
se comunica normalmente con un servidor a la vez
MODELO C/S ¿Cuáles son las características generales del modelo Cliente/Servidor
?
- 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
MODELO C/S ¿En qué consiste la arquitectura n capas
?
- 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
yred
:-
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
)
MODELO C/S ¿Qué es Middleware
? ¿Cuántos tipos hay?
- Es un software que ayuda a que diferentes
aplicaciones
opartes 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
MODELO C/S ¿Qué diferencia hay entre una API
y una librerí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, lalibrerí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
ARQUITECTURA SOA
¿Qué es un ESB
(Enterprise Service Bus)?
- 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
ARQUITECTURA SOA
¿Qué diferencia hay entre orquestación
y coreografía
de servicios?
-
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
- Un componente central (como un
-
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
ARQUITECTURA SOA
¿Cuál es el lenguaje más común de orquestación
?
BPEL
(Business Process Execution Language)
SERVICIOS WEB .REST
¿Cuáles son los principios fundamentales de REST
?
- 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"}
SERVICIOS WEB .REST
¿Qué es REST
?
-
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
oXML
ESTANDAR SOAP
¿Qué es SOAP
? ¿Quién creó el estándar?
-
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
ESTANDAR SOAP
¿Qué pasos se siguen para crear y procesar los documentos XML
en SOAP
?
- Paso 1: La APP cliente genera un mensaje en formato
XML
y lo envía al servidor usandoHTTP 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.
ESTANDAR SOAP
¿Qué es HTTP POST
?
- 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
ESTANDAR SOAP
¿Para qué se creó el estándar WS-Security
de OASIS
?
- Para añadir firma, autenticación y cifrado a los mensajes
SOAP
- Se logra añadiendo una cabecera al mensaje
ESTANDAR SOAP
¿Para qué sirve el estándar UDDI
de OASIS
?
- Para registrar y descubrir servicios web, una especie de catálogo de servicios disponibles
ESTANDAR SOAP
¿Qué relación hay entre un endpoint
o URL
y HTTP POST
?
- El
endpoint
(oURL
) es la dirección del servicio web -
HTTP POST
es el método que se usa para enviar el mensajeSOAP
a esa dirección - Es decir:
HTTP POST
envía el XML alendpoint
para que el servicio lo procese
ESTANDAR SOAP
¿Qué es WSDL
?
-
WSDL
(Web Services Description Language) es un documento enXML
- 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
ESTANDAR SOAP
¿Qué es y para qué sirve un BASE64
en XML
?
- 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
ESTANDAR SOAP
¿Qué hace la técnica MTOM
?
-
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
ESTANDAR SOAP
¿Qué ocurre cuando existe un SOAP Fault
?
- 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.)
ESTANDAR SOAP
¿Qué productos gestionan el cliente SOAP
y el motor SOAP
en Java? (producto y proveedores)
Productos en Java
: API JAX-WS
- Proveedores:
- AXIS
- Apache CXF
- JBossWS
- Metro
SERVICIOS WEB .REST
¿Cuáles son las 3 tecnologías para securizar operaciones en REST
?
-
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
SERVICIOS WEB .REST
¿Cuál es el lenguaje
para definir un servicio REST
? ¿Y su formato
?
-
Swagger
oOpenAPI
: especificación para describir serviciosREST
- El
formato
más común esYAML
, aunque también puede usarseJSON
Ejemplo:
- Define qué recursos existen, qué operaciones permite cada uno y qué datos se envían o reciben
CULTURILLA ¿En qué consiste la tecnología GraphQL
inventada por Facebook?
- 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 ymutations
para modificar - Se definen
types
para describir los datos - Se usan herramientas como
Apollo Client
(JS) oLighthouse
(PHP)