Formas de comunicación Flashcards

1
Q

Explique qué es una API y proporcione un ejemplo.

A

Una API (Interfaz de Programación de Aplicaciones) es un conjunto de reglas y protocolos que permiten que diferentes aplicaciones se comuniquen entre sí. Ejemplo: La API de Twitter permite a las aplicaciones acceder y publicar tweets en la plataforma.

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

Explique en qué consiste SOAP.

A

SOAP (Simple Object Access Protocol) es un protocolo de comunicación basado en XML utilizado para intercambiar mensajes en aplicaciones web y servicios web.

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

Describe la estructura de un mensaje SOAP.

A

Un mensaje SOAP consta de un sobre (envelope) que contiene encabezados y un cuerpo. El cuerpo lleva la información de la solicitud o la respuesta.

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

Describa similitudes y diferencias de las APIs basadas en SOAP y REST.

A

SOAP es un protocolo más rígido basado en XML, mientras que REST utiliza principios basados en HTTP y es más flexible. Ambos se utilizan para servicios web, pero REST es más ligero y ampliamente adoptado.

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

Explica los principios fundamentales de la arquitectura REST.

A

Los principios de REST incluyen el uso de verbos HTTP (GET, POST, PUT, DELETE), recursos identificables por URL, sin estado, y la comunicación cliente-servidor.

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

Describa la forma más común de intercambiar mensajes a través de una API REST utilizando JSON y proporcione un ejemplo de mensaje.

A

La forma más común de intercambiar mensajes a través de una API REST utilizando JSON implica el uso de solicitudes HTTP y respuestas que contienen datos en formato JSON (JavaScript Object Notation).

Ejemplo de una API REST que proporciona información sobre libros. Para obtener detalles de un libro específico, enviaríamos una solicitud GET a una URL específica.

Request:

URL: https://api.ejemplo.com/libros/123
Método HTTP: GET

Response::
~~~
{
“id”: 123,
“titulo”: “Software Architecture in Practice”,
“autor”: “Len Bass, Paul Clements, Rick Kazman”,
“publicacion”: “1997”,
“genero”: “Ingeniería de Software”,
“resumen”: “Un libro fundamental que explora principios y prácticas de arquitectura de software
en el contexto de sistemas del mundo real.”
}
~~~

El uso de JSON en las respuestas de una API REST es común debido a su legibilidad, facilidad de interpretación y soporte generalizado en lenguajes de programación. JSON es una notación de datos liviana y flexible que facilita la transferencia de datos entre el servidor y el cliente en un formato fácil de entender

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

Menciona los verbos HTTP utilizados en REST y sus significados.

A

Verbos comunes son GET (obtener), POST (crear), PUT (actualizar), DELETE (eliminar). GET obtiene datos, POST crea nuevos, PUT actualiza y DELETE elimina recursos

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

¿Qué es gRPC y cómo se diferencia de REST?

A

gRPC es un framework de comunicación remota de código abierto desarrollado por Google. A diferencia de REST, utiliza Protocol Buffers y ofrece comunicación más eficiente y tipada.

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

¿Qué son los Protocol Buffers y cómo se usan en gRPC?

A

Los Protocol Buffers son un formato de serialización de datos. Se usan en gRPC para definir la estructura de los mensajes que se envían entre cliente y servidor.

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

Describa los beneficios de gRPC en comparación con otros protocolos de comunicación.

A

gRPC es más eficiente, permite una tipificación fuerte, admite varios lenguajes, facilita la generación de código y ofrece características avanzadas como streaming bidireccional.

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

Defina GraphQL y explícalo comparando con REST.

A

GraphQL es un lenguaje de consulta para APIs que permite a los clientes solicitar solo los datos que necesitan. A diferencia de REST, donde el servidor define la estructura, en GraphQL, el cliente especifica la estructura de la respuesta.

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

¿Cuál es la ventaja de la flexibilidad en las consultas de GraphQL?

A

La flexibilidad de GraphQL permite a los clientes obtener exactamente los datos que necesitan, evitando el exceso o la falta de datos en las respuestas, lo que mejora la eficiencia y la experiencia del usuario.

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