Tema_7_C/S_ServiciosWeb Flashcards

1
Q

¿Qué es Cliente/Servidor?

A

Es un modelo de Software distribuido.
Sus componentes SW y HW, están en ordenadores en red, que se coordinan mediante paso de mensajes.
Ejemplos: E-mail, WWW, Servidor de impresión.

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

Características de C/S

A
  • Compartición de recursos
  • Concurrencia
  • Arquitectura abierta
  • Escalabilidad
  • Tolerancia a fallos
  • Transparencia
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Tipos de escalabilidad.

A

Horizontal → Meter más máquinas físicas.

Vertical → Aumentar la RAM, CPU’S, etc..

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

¿Que es arquitectura abierta?

A

Es estandarizar. No usar tecnologías propietarias.

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

¿Qué es Middleware?

A

El middleware es una capa o nivel de software situada entre la red y las aplicaciones, que ofrece un interface de programación de aplicaciones (API) común para el intercambio de mensajes entre diversas secciones de aplicaciones de proceso distribuido.
Traduce el mensaje del origen, para que el destino lo entienda.

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

Di nombres de Middleware:

A
  • RPC
  • ORB
  • RMI
  • CORBA
  • XML-RPC
  • SOAP
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es WSDL?

A
  • Web Service Description Language.
  • En XML.
  • Describe la funcionalidad que ofrece nuestra web.
  • Última versión 2.0
  • Se genera automáticamente a partir del código.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Que es UDDI?

A

Son las siglas del catálogo de negocios de Internet denominado Universal Description, Discovery and Integration.
Estandarizado por OASIS.
El registro en el catálogo se hace en XML.
El registro de un negocio en UDDI tiene tres partes:
* Páginas blancas - dirección, contacto y otros identificadores conocidos.
* Páginas amarillas - Donde están los servicios publicados..
* Páginas verdes - información técnica sobre acceso al servicio.

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

¿Qué es SOAP?

A

Simple Object Access Protocol

  • Es un documento en XML que sirve para realizar las peticiones y recibir las respuestas.
  • Es propiamente, la herramienta para invocar los servicios web que se describen en WSDL y UDDI
  • Tiene que ir siempre por POST
  • Está estandarizado por la W3C, igual que XML.
  • Es una evolución de XML-RPC
  • Protocolo usado en servicios web.
  • Basado en XML. Va sobre HTTP.
  • Si hay un fallo, las respuestas pueden ser 200 o 500(fault).
  • Especificación para el intercambio de información estructurada en servicios web, a través de redes de ordenadores
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿En WSDL, 2.0, como se llama la etiqueta donde se agrupan las operaciones?

A

Interfaz WSDL

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

¿Que es PortType?

A

Lo mismo que Interfaz. Es donde se agrupan las operaciones.

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

¿Qué son los MESSAGE?

A

Son los datos de entrada y de salida que recibe y envía la operación.

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

¿Qué es Binding?

A

Describe el protocolo que se podría usar en vez de HTTP para acceder a los servicios web. Normalmente los servicios web están vinculados a HTTP.
La sintaxis sería: “http://schemas.xmlsoap.org/soap/ http” Si usamos http, pero si usamos otro, como por ejemplo smtp, pues se pone en vez de http.

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

¿Quién estandariza, WSDL, UDDI y SOAP?

A
  • WSDL y SOAP La W3C
  • UDDI lo estandariza OASIS.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Un servicio WEB es para una persona?

A

No. Es para comunicación entre dos aplicaciones.

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

Estructura de WSDL 1.1

A
  • TYPES → Tipos de datos usados en los mensajes = xsd
  • MESSAGE → Entradas y salidas de las operaciones
  • PORTTYPE → Asocia los mensajes con las operaciones que los generan.
  • BINDING → Para especificar si el protocolo que vamos a usar es diferente a HTTP. Sería así: “http://schemas.smlsoap.org/soap/http (Si usamos http) o cualquier otro”
  • SERVICE → Especifica el Endpoint, es decir,los puertos y la dirección por donde lo publicas.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Diferencias entre WSDL1.1 y 2.0.

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

¿Elementos de seguridad en servicios web?

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

¿Qué se puede hacer con WS-SECURITY?

A
  • Se puede FIRMAR (XML signature)
  • Se puede ENCRIPTAR (XML encryption)
  • Se puede AUTENTICAR UsernameToken, BinarySecurityToken(X.509 certificate, SAML Token, Kerberos Ticket)
    Todo en la cabecera SOAP
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

REST usa los métodos de HTTP, para operar con las URI’s.

A
  • GET /**** → Solo para hacer consultas
  • DELETE /****→ Para eliminar recursos.
  • PUT /**** → Para editar un registro existente.
  • POST /**** → Para crear un nuevo registro.
  • PATCH /****→ Para editar partes concretas de un recurso.
  • HEAD /****→ Para obtener información sobre un recurso.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Que es HATEOAS?

A

Hypermedia as the Engine of Application State

Es una restricción de REST. Con HATEOAS, un cliente interactua con una aplicación web, que proporciona información de forma dinámica a través de hipermedia.

Al hacer una consulta, nos devuelve solo los datos que hemos pedido y si queremos ver más datos relacionados con este recurso, se especifican en un nodo llamado “ links ”.

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

En REST, ¿Donde se refleja la documentación de nuestra aplicación?

A

Se crearon diferentes lenguajes:
*. WADL
*. RAML
Pero los que se han quedado son:
SWAGGER / OPENAPI, en formato JSON o YAML y WSDL 2.0.

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

¿Qué es REST?

A

Es HTTP + JSON O XML
Significa Representational State Transfer o transferencia de representación de estado.
- Orientado a recursos
- Arquitectura Hipermedia (HaTEOAS)
- Sin Estado
- Varios EndPoints (URI’s)
- Verbos HTTP, mapeados con funcionalidades.
- POST, para crear
- PUT, para actualizar
- PATcH, actualización parcial.
- API de JAVA para servicios, JAX-RS
- Proveedores serían, RestEasy, Jersey, Restlet

REST es un tipo de arquitectura de desarrollo web que se apoya totalmente en HTTP, por lo que REST NO TIENE ESTADO, lo que significa que no recuerda lo que le hemos pasado hace unos minutos.

Nace de una tesis doctoral.

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

¿Principios fundamentales de REST?

A
  • Protocolo cliente - servidor, sin estado. HTTP
  • Operaciones bien definidas → VERBOS HTTP + RECURSOS
  • Sintaxis para identificar recursos → URI
  • Navegación hipermedia → HATEOAS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

¿Como está implementada la seguridad en REST?

A
  • OAuth2 → Se solicita autentificación a una web tercera. Authorization : Bearer 1azB475 (TOKEN). El número que devuelve OAUTH, es solo un número largo, que se guarda en el servidor, para autenticarte.
  • JWT → (Json Web Token ) También por terceros → Se envía en un encabezado HTTP con el nombre “Authorization: Bearer” → En base 64 y la estructura del JWT es Header, Payload, Signature. Se genera en el servidor y nos lo entrega firmado. Son tres partes separadas por puntos.
  • OpenID
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

¿Cual es la API de JAVA, para REST?

A

JAX-RS

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

¿Qué es GRAPH QL?

A

Es una tecnología de Facebook.
Nos devuelve, en tiempo de uso, solo los datos que especifica el cliente.

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

¿Qué tipo de separación tienen el cliente y el servidor?

A

Lógica.

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

¿Qué es un recurso en C/S?

A

Cualquier elemento.

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

¿Quién gestiona los recursos dentro de la arquitectura C/S?

A

El gestor de recursos.

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

¿Que funciones realiza el gestor de recursos?

A
  • Nombre de recursos
  • Mapeo de nombre a direcciones de comunicación.
  • Coordinación de accesos concurrentes sobre recursos.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

¿Qué protocolo nos ayuda a sincronizar la concurrencia?

A

NTP

Network Time Protocol

Usa UDP como capa de transporte.

Puerto 123

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

Concurrencia VS Paralelismo

A

CONCURRENCIA es la SOLICITUD de recursos de forma simultanea.

PARALELISMO es la ENTREGA de recursos de forma simultanea.

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

¿Existe algún sistema completamente estandarizado de C/S?

A

Si, DCE.

Distributed Computing Environment

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

Di dos tipos de MiddleWare

A

De aplicación: Ofrecen servicios entre el sistema operativo y las aplicaciones.
De integración: Más enfocado a comunicaciones, monitorización.

36
Q

¿Qué es Marshalling?

A
  • Cuando queremos intercambiar mensajes entre sistemas que usan diferentes lenguajes.
  • Proceso de ensamblado de datos de forma que puedan ser convenientemente transmitidos en un mensaje. Traducción de los valores locales a una representación externa.
  • Es lo que hacen los MIDDLEWARE.
  • Se puede decir también SERIALIZAR, pero es más antiguo.
37
Q

¿Qué es JAX-WS?

A

Java API for XML Web Services

Es una API para crear aplicaciones Java en XML, para servicios WEB SOAP y para Invocarlos.

38
Q

Aplicaciones que implementan JAX-WS y en consecuencia SOAP:

A
  • AXIS2
  • CXF
  • JBOSSWS
  • METRO
39
Q

¿Qué es MTOM y para qué se usa?

A
  • Es un método definido por el W3C, para el envío eficiente de datos binarios entre servicios web.
  • Para añadir documentos de forma externa al XML, en SOAP.
  • Introducido en la versión 1.2 del WS-I Basic Profile
  • Message Transmission Optimization Mechanism
  • MTOM se utiliza generalmente con XOP (XML-binary Optimized Packaging)
  • MIME (application/xop+xml)
40
Q

¿Qué es XML y para qué se utiliza?

A

EXtensible Markup Language

Provee, una forma sencilla y estandar, de codificar datos y texto para transportarlos entre sistemas, independientemente del software o el hardware y que no necesita casi de intervención humana.

41
Q

Un mensaje SOAP, se compone de:

A
  • Paradigma de mensajería de una dirección sin estado.
  • Su estructura es:
    • SOBRE (Envelope)→Es la raíz y es la que identifica al mensaje como tal. OBLIGATORIO
    • Header→Mecanismo de extensión. Compuesto por “Header Blocks”. OPCIONAL
    • Body→Contiene la información de la llamada y la respuesta. OBLIGATORIO
  • ERRORES SOAP FAULT. OPCIONAL.
  • Es Extensible
  • Neutral
  • Independiente
42
Q

Implementaciones de JAX-RS:

A
  • CXF
  • JERSEY
  • RESTEASY
  • RESTLET
43
Q

¿Qué es URI en REST?

A
  • La URI es la ruta de acceso a cada recurso.
  • Recursos son todos los archivos, carpetas, etc de una web.
  • Siempre, para cada recurso hay una única URI
  • Se ponen en plural
44
Q

Reglas para poner nombre a una URI en REST:

A
  • Los nombres de URI no deben implicar una acción, por lo tanto hay que evitar usar verbos en ellos. Esta uri estaría mal: /facturas/234/editar
  • Deben ser únicas, no debemos tener más de una URI para identificar un mismo recurso
  • Deben ser independientes del formato. Esta URI es incorrecta: /facturas/234.pdf
  • Deben manetener una jerarquía lógica
  • Los filtrados de información de un recurso no se hacen en la URI.
45
Q

¿Qué es lo más importante para la concurrencia?

A

La sincronización

46
Q

¿Como mejoramos la tolerancia a fallos?

A

Con redundancia.

47
Q

Tipología de C/S:

A

Una aplicación C/S se compone de varios procesos clientes y servidores que se pueden distribuir en una red.

Se necesita:

  • Separación de funciones
  • Encapsulación de servicios
  • Portabilidad
  • Modos de funcionamiento síncronos y asíncronos

Existe el modelo de tipología de Gartner Group.

48
Q

¿Qué dos tipos de clientes nos encontramos en C/S?

A
  1. Cliente ligero
  2. Cliente pesado
49
Q

¿Qué es RPC?

A

Remote Procedure Call

Tanto en el cliente como en el servidor, existe un módulo de código (o STUB), que transforma llamadas locales en remotas e invoca los procedimientos en el servidor.
Sirve para ejecutar una aplicación o comando que está en otra máquina remota, como si fuera en la nuestra.
Va sobre TCP.

50
Q

Ejemplos de RPC’s

A
  • RPC de Sun denominado ONC RPC (RFC 1057)
  • RPC de la Open Software Foundation denominado DCE/RPC
  • Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM.
51
Q

¿Qué es ORB?

A

Object Request Broker

Son componentes dedicados a solicitar mediante mensajes los objetos.

Necesitan del SO la MQI (Message Queue Interface)

52
Q

Nombra algún ORB peculiar:

A
  • Java RMI (Remote Method Invocation).
  • Es peculiar, por que no es compatible con CORBA.
  • Solo es para Java.
53
Q

¿Qué es un SERVICIO WEB?

A

Es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones en red.

OASIS y W3C son los responsables de la reglamentación.

54
Q

Implementaciones de servicios web:

A
  • SOAP → Con XML, WSDL, SOAP, etc…
  • REST → Con HTTP y JSON. Usa URI’s para los recursos.
55
Q

¿Qué es WS-I Basic Profile?

A
  • Web Service Interoperatibility
  • Es un perfil que engloba WSDL, UDDI y SOAP.
56
Q

¿Qué es un servicio web?

A

El W3C define un servicio web como:
Un servicio web es un sistema software diseñado para soportar la interacción máquina-a-máquina, a través de una red, de forma interoperable. Cuenta con una interfaz descrita en un formato procesable por un equipo informático (específicamente en WSDL), a través de la que es posible interactuar con el mismo mediante el intercambio de mensajes SOAP, típicamente transmitidos usando serialización XML sobre HTTP conjuntamente con otros estándares web.

57
Q

¿Qué es CIFRADO SIMÉTRICO?

A

Es cuando se usa cifrado con clave privada, lo que significa que se usa la misma clave para cifrar que para descifrar. Y tanto el emisor como el receptor se tienen que haber pasado la clave privada en algún momento.

58
Q

¿Qué es cifrado con CLAVE PÚBLICA?

A

En cada extremo tiene que haber dos claves, una privada y una pública.

La privada es secreta y la pública se puede difundir.

Se denomina CIFRADO ASIMÉTRICO.

59
Q

¿Qué cuatro restricciones define REST?

A
  • Identificación de recursos
  • Manipulación de recursos
  • Mensajes autodescriptivos
  • Hipermedia como motor del estado de la aplicación.
60
Q

¿Qué usa el Middleware para las traducciones?

A
  • Representational State Transfer (REST, Transferencia de Estado Representacional)
  • Web Services (Servicio web)
  • JavaScript Object Notation (JSON, notación de objeto de JavaScript)
  • Simple Object Access Protocol (SOAP, protocolo de acceso a objetos simples)
  • Enterprise Service Bus (ESB, bus de servicios de empresa)
  • Application Programming Interface (API, interfaz de programación de aplicaciones).
61
Q

Elementos básicos de CORBA:

A
  • ORB
  • IDL (Interface Definition Language)
62
Q

¿Qué es IIOP?

A

Es el protocolo que usa ORB, cuando detecta un objeto remoto y lo redirige hacia su ORB.
Significa Internet Inter Orb Protocol.

63
Q

Acrónimos de CORBA

A
  1. CORBAe (“CORBA for Embedded”). Integración de CORBA con sistemas integrados.
  2. CCM (CORBA Component Model). Framework de aplicación estándar para componentes CORBA.
  3. RFLEC (CORBA Reflection). Operaciones reflexivas sobre objetos CORBA.
  4. ZIOP (Zipped Inter ORB Protocol). Mecanismo de compresión para el protocolo GIOP. Este mecanismo proporciona una forma de que los servidores publiquen objetos que acepten peticiones comprimidas y que los clientes realicen invocaciones comprimidas.
  5. C2WSDL (CORBA to WSLD/SOAP). La especificación mapea un conjunto de construcciones IDL sobre WSDL.
  6. WSDL2C (WSDL/SOAP to CORBA). La especificación define el mapeo entre especificaciones WSDL con enlace SOAP (SOAP binding), y su correspondiente especificación de interfaz IDL.
64
Q

Diferencia principal entre XML-RPC y SOAP:

A

En XML-RPC, los parámetros se transmiten en un orden que hay que respetar.
En SOAP, los parámetros se identifican por el nombre, así que el orden no importa.

65
Q

SOAP vs SOA

A

SOAP: Simple Object Access Protocol
SOAP es un protocolo que define cómo dos objetos de diferentes procesos se pueden comunicar mediante intercambio de datos en XML.
Su estructura es el ENVELOP.
SOA:Service Oriented Architecture
SOA, es una arquitectura orientada a servicios.
Puede usar SOAP o REST.

66
Q

¿Qué son servicios WEB?

A

Es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones.

67
Q

¿Qué son los servicios WEB basados en SOAP?

A

Son aplicaciones independientes de la plataforma, que pueden ser fácilmente publicadas, localizadas e invocadas mediante protocolos web estándar.

68
Q

Concepto de integración de sistemas.

A

En muchos casos, uno o más organismos, tienen que integrar sus actuales sistemas heredados (legacy systems), con sistemas de nuevo desarrollo. Esta INTEGRACIÓN, se hace a través de los Middleware como MOM (Message Oriented Middleware)

69
Q

Tipos de middleware

A
  • MOM - Orientado a mensajes
  • RPC - Llamada a procedimientos remotos
  • Monitor de transacciones - TP
  • ORB - Solicitud o llamadas entre objetos
  • ESB - Integrador de servicios
  • API - Publicación de lógica de aplicación. REST vs SOAP.
70
Q

Características de Estaciones de mensajería:

A
  • Son los más básicos
  • Se usa en sistemas a integrar, con la MISMA ARQUITECTURA Y LENGUAJE.
  • Asisten solo en la gestión de la comunicación.
71
Q

Características de los motores de integración (MInt) en sistemas heredados:

A
  • Añaden interpretación y traducción de los mensajes transmitidos, para sistemas heterogéneos.
  • En todo nucleo de MInt siempre hay una EM (Estaciones de mensajería)
72
Q

Características de ESB:

A
  • Proporcionan total abstracción sobre el sistema en el que funcionan.
  • Ofrece SEGURIDAD, TRANSFORMACIÓN DE MENSAJES, CONVERSIÓN DE PROTOCOLOS, ADMINISTRACIÓN DE COLAS, PRIORIZACIÓN Y ENRUTAMIENTO.
73
Q

Formas de coordinación de servicios web:

A
  • Orquestación de servicios web
    Un ejemplo es : BPEL (Business Process Execution Language). Es centralizado y lo dirige el “DIRECTOR”.
  • Coreografía de servicios web, es DISTRIBUIDA. El estándar de referencia es WSCI (Web Services Choreography Interface) estandarizado por la W3C. Cada servicio se ve como una caja negra.
74
Q

¿Para qué se usa CORBA?

A

Para comunicar un servicio que está en un lenguaje, con otro que está en otro lenguaje diferente.

75
Q

¿Donde se pone la seguridad en SOAP, con WS-Security?

A

En la cabecera.

76
Q

¿Cual es el MIME de SOAP?

A

application/soap + xml

77
Q

JAXR

A

API que se usa para invocar un servidor que implemente UDDI.

78
Q

Confidencialidad en REST

A

Con TLS 1.3

79
Q

Protocolos modernos

A
  • gRPC, Google, que es más o menos “RPC” sobre HTTP/2. Usa PROTOCOL BUFFER, que envía el mensaje en formato Binario.
  • GraphQL, Facebook
80
Q

¿Qué es WS-Security?

A
  • Es una recomedación de seguridad para SOAP.
  • La estandarizó OASIS.
81
Q

¿Como se envía el JWT o el OAUTH?

A
  • En una cabecera HTTP, que se llama AUTORIZATION.
  • Se le pone en el AUTORIZATION, un PREFIJO al JWT o al OAUTH, que se llama BEARER.
82
Q

¿REST usa los códigos de estado de HTTP?

A

Si. A placer.

83
Q

¿Que es Protocol Buffer?

A
  • Lo usa GRPC, para llamadas a procedimientos remotos.
  • Va sobre HTTP/2
  • Contiene un mensaje de entrada, uno de salida.
  • Va acompañado del IDL, que contiene las operaciones.
84
Q

Implementaciones de GRAPH-QL:

A
  • Lighthouse, servidor para Laravel
  • Apollo Client, cliente para JavaScript
85
Q

¿En Gaph-QL que son Queries y Mutations?

A
  • Queries, son las consultas normales.
  • Mutations, son para altas, bajas y modificaciones de datos. O sea, todo lo que no sean Queries.
86
Q

REST vs RESTful

A
  • REST es la parte teórica
  • RESTFul es ya la aplicación creada a partir de la teoría.