b3t7 - Servicios web y Cliente Servidor Flashcards

1
Q

Qué diferencia hay entre los siguientes tipos de escalabilidad?

  • Vertical
  • Horizontal
  • Scale up
  • Scale out
A
  • Vertical: Cambiar el tipo de servidor por otro con más recursos
  • Horizontal: Aumentar el nº de servidores
  • Scale up: Aumentar recursos hw
  • Scale out: Distribuir la carga
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qué es y para qué se utiliza RPC?

A

Remote Procedure Call: Es una forma de programación distribuida que permite invocar desde rutinas de una máquina a rutinas de otra máquina a través de la red y de forma transparente

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

Qué importante protocolo de ficheros distribuidos usa por debajo RPC para invocar a las system calls del kernel de Linux para acceder a ficheros y directorios

A

NFS (Network File Sistem)

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

Qué es la OSF DCE?

A

Distributed Computing Enviroment: Es una arquitectura de computación distribuida

Estándar de facto promovido por fabricantes de sistemas distribuidos que permite independizarse del SO y de las redes

La última versión es la OSF DCE 1.2.2 también llamada Free DCE por el tipo de licencia LGPL que tiene

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

¿Qué es el middleware? Algunos ejemplos

A

Elemento que facilita la interoperabilidad del sistema a través de la red ocultando la complejidad al desarrollador y al usuario final.

RPC, , CORBA, ORB (Object Request Broker), como Java RMI), XML-RPC, SOAP, …,

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

Qué es el IDL en estándares tipo RPC?

A

Es la Interface Definition Language: Para definir el catálogo de funciones remotas que se pueden invocar y cómo. De esta forma las arquitecturas tipo RPC son compatibles con cualquier tecnología de desarrollo por la parte llamante y llamada

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

Qué diferencia hay entre concurrencia y paralelismo en la arquitectura C/S?

A
  • Concurrencia implica que se solicitan recursos de forma simultánea
  • Paralelismo implica que se sirven recursos de forma simultánea
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qué protocolo se usa para gestionar la sincronización de la concurrencia y el paralelismo?

A

NTP Network Time Protocol

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

Qué estándar define la Transparencia en arquitecturas C/S, como la tranparencia de acceso, de ubicación, de concurrencia, de réplicas, ante fallos, migración, etc…?

A

Modelo ISO/IEC RMODP (Reference Model for Open Distributed Processing)

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

Qué diferencia hay en las arquitecturas C/S entre capa y nivel?

A
  • Capa: visión lógica → SW
  • Nivel: visión física → HW
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qué es CORBA y quién lo ha desarrollado?

A

Arquitectura Cómun de ORB. Una forma de estandarizar los ORBs y que sean compatibles entre sí a pesar del lenguaje.

La ha desarrollado el OMG (Object Management Group)

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

Que 3 estándares definen la w3c y OASIS relativos a los primeros web services?
Qué significan los acrónimos de estos estándares?

A
  • WSDL Web Services Description Language : descripción del servicio
  • UDDI Universal Description, Discovery and Integration: Registro de servicios (como unas páginas amarillas) (Universal Description, Discovery and Integration)
  • SOAP Simple Object Access Protocol: invocación de los servicios
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cómo se llama el estándar que sacó la WS-I (web service Interoperability Organization) sacó un estándar que reunía los 3 protocolos iniciales publicadosp por la w3c de WSDL, UDDI y SOAP?

A

WS-I Basic Profile

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

Cómo se llama la ampliación que sacó la WS-I (web service Interoperability) para estandarizar la seguridad en los servicios web?

A

WS-I Security Profile

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

Dentro de las partes de un WSDL, explica las siguientes:

  • types
  • message
  • portType / interface
  • binding
  • service
A
  • types → tipos usados en los mensajes (xsd)
  • message → entradas y salidas de las operaciones
  • portType / interface → Indica las operacines y las asocia con los mensajes. En la versión 2.0 de w3c se llama interface
  • binding → protocolos de comunicación (siempre ha sido http)
  • service → conjunto depuertos y dirección de acceso (endpoint)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Que versión de la w3c de webservices da soporte para REST?

A

La 2.0

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

Cómo se llama el API de Java para crear e invocar servicios web?

A

JAX-WS

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

Qué método http usan siempre las llamadas a servicios SOAP?

A

POST siempre

19
Q

Cómo se llama el standar que define la seguridad en SOAP?

A

WS-Security. Se incluye en el head del servicio (etiquetas

Permite firmar, cifrar y autenticar

20
Q

Qué dos etiquetas usa la librería Java JAX-WS para indicar que algo es un servicio y algo un método?

A

@WebService

@WebMethod

21
Q

Cuál es la etiqueta de respuesta para devolver errores en SOAP?

A

fault

22
Q

Qué verbos se usan para las siguientes operaciones en REST?

  • Consultar
  • Borrar
  • Añadir
  • Actualizar
A
  • GET
  • DELETE
  • POST
  • PUT
23
Q

Qué es el concepto HATEOAS en REST?

A

Hypermedia As The Engine of Application State

El servicio te devuelve un json con la entidad pedida, pero no con las entidades relacionadas, sino que se puede devolver un array “links” con los endpoints de las entidades relacionadas en campo href

24
Q

Qué estándares ha habido para generar la documentación de servicios REST y cuál se ha quedado?

A
  • WADL
  • WSDL 2.0
  • RAML
  • Swagger → OpenAPI
25
Q

Cómo se llama el formato de fichero que genera OpenAPI para definir un servicio?

A

YAML

26
Q

Cuáles son los principios fundamentales de REST?

A

Protocolo cliente-servidor SIN ESTADO

Sintaxis para identificar recursos (URI)

Operaciones bien definidas (verbos html + recursos)

Navegación hipermedia (HATEOAS)

27
Q

Qué partes componen un token JWT

A

Tiene 3 partes codificadas en base64, separadas por puntos

  • header → json con tipo = JWT y algoritmo de cifrado usado en la firma
  • payload → json con los metadatos del usuario autenticado
  • firma → (header + . + payload, secret) encriptados
28
Q

Qué api de java se usa para generar e invocar servicios REST?

A

JAX-RS

29
Q
  • Principales anotaciones de JAX-RS
A

◦ @Pathespecifica la ruta de acceso relativa para una clase recurso o método.
◦ @GET,@PUT,@POST,@DELETEy@HEADespecifican el tipo de petición HTTP de un recurso.
◦ @Produces especifica los tipos de mediosMIMEde respuesta.
◦ @Consumes especifica los tipos de medios de petición aceptados.

30
Q

En la securización de REST mediante OAuth o JWT, qué se manda en la cabecera de la request?

A

Authorization: Bearer (token)

31
Q

Qué empresa creó GraphQL?

Qué es?

A

Facebook

Lenguaje que permite hacer querys sobre APIs, y que no te devuelva todo lo que devolvería el endpoint, sino más acotado y se puede dar altas, modificaciones y borrados tras las búsquedas con MUTATION

32
Q

Qué son las MUTATION en GraphQL?

A

Permite crear, actualizar y borrar tras una búsqueda

Los objetos QUERY son para búsqueda

33
Q

Nombra una librería Javascript para generar código GraphQL en la parte cliente

Nombra otra de PHP de la parte servidor

A

Js → Apollo Client

PHP → Lighthouse

34
Q

Qué tipo de producto se solía usar para abstraer a los consumidores y proveedores de servicios en una arquitectura SOA y que ya está en desuso?

A

ESB, Enterprise Service Bus

35
Q

Qué código http hay que devolver en un servicio SOAP cuando devuelve un error por fault?

A

Un 500, pero hay polémica porque podría ser 200 porque es un error controlado. Si aparecen las dos en el examen, a lo mejor no contestar.

36
Q

Hablando de REST, ¿que ventajas nos aporta graph-ql en lugar de los clasicos servicios REST?

A

La capacidad para “seleccionar” solo aquella información que nos interesa en el cliente. Tambien dispone de funcionalidades de actualización llamadas “mutations

37
Q

Qué es gRPC de Google?

A

Tecnología que es algo como RPC sobre HTML/2, más o menos nueva

Usa Proctol Buffer para generar clases en el lenguaje que sea para acceder a los campos de las estructuras que se interacambian entre el proceso llamante y el llamado

Se envía en binario, en lugar un xml o un json

Necesita stubs (como clases cliente) en la parte cliente y un gRPC Server en la parte servidora

Usa para definir las operaciones el lenguaje IDL, como los antiguos RPC

38
Q

Productos que son implementaciones de JAX-WS para la creación de servicios web?

A

AXIS2

Apache CFX

JBossWS

Metro (Glassflish)

39
Q

Productos que son implementaciones de JAX-RS para la creación de servicios web?

A

CFX

Jersey

RestEasy

Restlet

40
Q

Qué es MTOM en el contexto de SOAP?

A

Para envío de binarios (por ejemplo archivos pdf) en ws, pero no embebido en un campo del xml soap, sino por fuera.

Hay que indicar el tipo mime

A un estandar de la W3C para enviar ficheros adjuntos usando las capacidades MIME (dentro del mensaje HTTP)

41
Q

Cómo se expresa el hipermedia según HATEOAS en los servicios REST?

A

Con un objeto Links, que es un array de objetos de tres campos:

href → endpoint

rel → entidad relacionada

type → método http

42
Q

Qué significan los “claims” estándar que se ponen en el payload del JWT?

exp

sub

iat

A

exp → fecha de expiración

sub → el subject del token

iat → cuándo se ha generado el tokenexp

43
Q

Las primeras preguntas mas de teoría cliente/servidor Dani las va a revisar porque no son tan importantes. Ver la nueva ficha de GSI en la que ha dejado lo importante

A