Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus...
Transcript of Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus...
![Page 1: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/1.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Integración
Jose Emilio Labra GayoCurso 2019/20
![Page 2: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/2.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Integración
Integración de aplicaciones
Gran reto de la informática
![Page 3: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/3.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Integración
Estilos de integraciónTransferencia de ficheros
Base de datos compartida
Invocación Procedimiento Remotos
Mensajería
Event log
TopologíasHub & Spoke, Bus
Arquitecturas orientadas a serviciosWS-*, REST
Microservicios
Serverless
![Page 4: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/4.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Transferencia de ficherosBase de datos compartidaInvocación procedimiento remotoMensajeríaEvent log
![Page 5: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/5.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Transferencia de ficheros
Una aplicación genera un fichero de datos que es
consumido por otra
Una de las soluciones más comunes
AplicaciónA
Exporta
Fichero
AplicaciónB
Importa
![Page 6: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/6.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Transferencia de ficheros
Ventajas
Bajo acoplamientoIndependencia entre
aplicación A y B
Facilita depuración Se pueden analizar datos
del fichero
AplicaciónA
Exporta
Fichero
AplicaciónB
Importa
ProblemasAcordar formato de fichero común
Puede aumentar acoplamiento
Coordinación
Una vez enviado el fichero, la aplicación B puede modificarlo ¡2 ficheros!
Suele requerir intervención manual
![Page 7: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/7.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Base de datos compartida
Las aplicaciones almacenan sus datos en una
base de datos común
AplicaciónC
Base de datos
AplicaciónA
AplicaciónB
![Page 8: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/8.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Base de datos compartida
Ventajas
Datos siempre disponibles
Todo el mundo accede a la misma información
Consistencia
Formato familiar
SQL para todo?Aplicación
C
Base de datos
AplicaciónA
AplicaciónB
![Page 9: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/9.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Base de datos compartida
ProblemasEl esquema de la base de datos puede variar
Requiere esquema común para todas las aplicacionesFuente de problemas y conflictos
Necesidad de paquetes externos (acceso BD común)
Rendimiento y escalabilidadBase de datos como cuello de botella
SincronizaciónProblema con bases de datos distribuidas
Escalabilidad
NoSQL ?
![Page 10: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/10.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Base de datos compartida
Variaciones
Data warehousing: Base de datos utilizada para
análisis de datos e informes
ETL: proceso basado en tres fases
Extracción: Obtención de fuentes heterogéneas
Transformación: Procesado de los datos
Carga (Load): Almacenamiento en base de datos
compartida
![Page 11: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/11.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Invocación procedimiento remoto
Una aplicación invoca una función de otra
aplicación que puede estar en otra máquina
En la invocación puede pasar parámetros
Obtiene una respuesta
Gran variedad de aplicaciones
RPC, RMI, CORBA, .Net Remoting, ...
Servicios web, ...
AplicaciónA S
tub
función
Sk
ele
ton
AplicaciónBrespuesta
![Page 12: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/12.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Invocación procedimiento remoto
Ventajas
Encapsulación de implementación
Múltiples interfaces para la misma información
Se pueden ofrecer distintas representaciones
Modelo familiar para desarrolladores
Similar a llamar a un método
AplicaciónA S
tub
función
Sk
ele
ton
AplicaciónBrespuesta
![Page 13: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/13.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Invocación procedimiento remoto
Problemas
Falsa sensación de sencillez
Procedimiento remoto Procedimiento
8 falacias de computación distribuida
Invocaciones mediante sincronización
Aumenta acoplamiento entre aplicaciones
La red es fiableLa latencia es ceroEl ancho de banda es infinitoLa red es seguraLa topología no cambiaHay un administradorEl coste de transporte es ceroLa red es homogénea
8 falacias computación distribuida
AplicaciónA S
tub
función
Sk
ele
ton
AplicaciónBrespuesta
![Page 14: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/14.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Invocación procedimiento remoto
Nuevas revisiones: gRPC
Propuesta de Google (https://grpc.io/)
Marco de aplicaciones de mensajería de alto
rendimiento
Basado en http/2
![Page 15: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/15.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Mensajería
Múltiples aplicaciones independientes se
comunican enviando mensajes a un canal
Comunicación asíncrona
Las aplicaciones envían mensajes y continúan
ejecutándose
AplicaciónC
AplicaciónA
AplicaciónB
Canal de mensajería
![Page 16: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/16.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Mensajería
VentajasBajo acoplamiento
Aplicaciones independientes
entre sí
Comunicación asíncrona
Las aplicaciones continúan la
ejecución
Encapsulación
Sólo se expone el tipo de mensajes
AplicaciónC
AplicaciónA
AplicaciónB
Canal de mensajería
Problemas
Complejidad de implementación
Comunicación asíncrona
Transformación de datos
Adaptación formato de mensajes
Diferentes topologías
![Page 17: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/17.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Hub & Spoke
Bus
![Page 18: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/18.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Hub & Spoke (central/radial)
Relacionado con patrón BrókerHub = Bróker centralizado de mensajes
Se encarga de la integración
Hub ó BrokerMáquina integración
central
Aplicación 4Aplicación 3
Aplicación 2Aplicación 1
![Page 19: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/19.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Bus
Cada aplicación contiene su máquina de
integración
Estilo Publish/Subscribe
Bus - Esqueleto de mensajería
Aplicación 1
Aplicación 3 Aplicación 4
Aplicación 2
Adaptador y máquina integración
Adaptador y máquina integración
Adaptador y máquina integración
Adaptador y máquina integración
![Page 20: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/20.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Bus
ESB - Enterprise Service Bus
Define un esqueleto (backbone) de mensajería
Conversión de protocolos
Transformación de formatos
Enrutamiento
Proporciona un API para desarrollar servicios
MOM (Message Oriented Middleware)
![Page 21: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/21.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
SOA - Service Oriented Architectures
WS-*
REST
Microservicios
Serverless
![Page 22: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/22.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
SOA
SOA = Service Oriented Architecture
Los servicios están definidos mediante un interfaz
Internet
Servicio 2
Interfaz
Servicio 3
Interfaz
Servicio 1
Interfaz
![Page 23: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/23.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
SOA
Elementos
Proveedor : Proporciona el servicio
Consumidor: Realiza peticiones al servicio
Mensajes: Información intercambiada
Contrato o interfaz: Descripción de la funcioanlidad
ofrecida por el servicio
Terminal: Ubicación del servicio
Política: Acuerdos de gobierno del servicio
Seguridad, rendimiento, etc.
![Page 24: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/24.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
SOA
Restriccciones
Consumidor de servicio
Servicio
Política
TerminalEndpoint
ContratoInterfaz
Mensajes
se adhiere a
enlaza con
comprende
envía/recibe
gobernado por
expone
implementa
envía/recibe
Fuente: SOA Patterns, A. Rottem Gal Oz
sirve
describe
![Page 25: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/25.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
SOA
VentajasIndependencia de lenguaje y
plataformaInteroperabilidad
Utilización de estándares
Acoplamiento débilDescentralizadoReusabilidadEscalabilidad
Comunicación uno-a-uno frente uno-a-muchos
Mantenimiento sistemas legacyAñadir una capa de servicios
web
ProblemasEficiencia.
Puede no ser necesario en:Entornos muy homogéneos,
tiempo real, ...
Exposición abiertaRiesgo de exponer API al
exteriorSeguridadComposición de servicios
![Page 26: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/26.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
SOA
Variantes:
WS-*
REST
![Page 27: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/27.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
Modelo WS-* = Conjunto de especificaciones
SOAP, WSDL, UDDI, etc....
Propuesto por W3c, OASIS, WS-I, etc.
Objetivo: Implementación SOA de referencia
![Page 28: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/28.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
![Page 29: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/29.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
HTTP
UDDI
petición SOAP (XML)
respuesta SOAP (XML)Implementación
servicio Web
Consumidorservicio Web
![Page 30: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/30.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
SOAP
SOAPSOAP
SOAP
Internet
Conversión deMonedas
Facturación
Gestión deUsuarios
SOAPXML
Aplicacióndel usuario
Ecosistema de servicios Web
![Page 31: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/31.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
SOAPDefine el formato de los mensajes y varios enlaces con
protocolos
Originalmente Simple Object Access Protocol
Evolución
Desarrollado a partir de XML-RPC
SOAP 1.0 (1999), 1.1 (2000), 1.2 (2007)
Participación inicial de Microsoft
Adopción posterior de IBM, Sun, etc.
Bastante aceptación industrial
![Page 32: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/32.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
Envelope
Body
Header
Header Key
Header Key
Esquema de SOAP
![Page 33: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/33.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
Ejemplo de SOAP sobre HTTP
POST /Suma/Service1.asmx HTTP/1.1 Host: localhostContent-Type: text/xml; charset=utf-8 Content-Length: longitod del mensajeSOAPAction: "http://tempuri.org/suma" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <suma xmlns="http://tempuri.org/">
<a>3</a> <b>2</b>
</suma> </soap:Body> </soap:Envelope>
POST ?
![Page 34: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/34.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
VentajasEspecificaciones
realizadas por comunidadW3c, OASIS, etc.
Adopción industrialImplementaciones
Visión integral de servicios web
Numerosas extensiones:Seguridad, orquestación,
coreografía, etc.
ProblemasNo todas las
especificaciones están madurasSobre-especificación
Falta de implementaciones
Abuso del estilo RPCInterfaz no uniforme
No se sigue arquitectura HTTPMétodos GET/POST
sobrecargados
![Page 35: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/35.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
WS-*
SOAP en la práctica
Numerosas aplicaciones utilizan SOAP
Ejemplo: eBay (50mill. transacciones SOAP al día)
Pero…algunos servicios web populares dejaron de
ofrecer soporte SOAP
Ejemplos: Amazon, Google, etc.
![Page 36: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/36.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
REST
REST = REpresentational State Transfer Estilo de arquitectura
Origen: Tesis doctoral de Roy T Fielding (2000)
Inspirado en la arquitectura de la Web (HTTP/1.1)
![Page 37: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/37.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
RESTREST - Representational State Transfer
Transferencia de representación de estado
InternetHTTP
Recurso 1
GET, PUT, POST, DELETE
Recurso 2
GET, PUT,POST, DELETE
Aplicación
![Page 38: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/38.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
REST
Conjunto de restriccionesRecursos con interfaz uniforme
Identificables mediante URIsSe devuelven representaciones de los recursosSin estadoInterfaces genéricos
Conjunto acciones: GET, PUT, POST, DELETE
REST = estilo de arquitecturaVarios niveles de adopción:
RESTful
Híbrido REST-RPC
![Page 39: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/39.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
REST
En capas
Cliente-servidorSin estado
Caché
Servidor replicado
Interfaz uniformeIdentificación de recursos (URIs)
Manipulación de representaciones de recursos
Mensajes auto-descriptivos (tipos MIME)
Enlaces a otros recursos (HATEOAS)
Código bajo demanda (opcional)
![Page 40: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/40.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
REST
Interfaz uniforme:Conjunto de operaciones limitado
GET, PUT, POST, DELETE
Conjunto limitado de tipos de contenidosEn HTTP se identifican mediante tipos MIME: XML , HTML...
Método En Bases de datos Función Segura? Idempotente?
PUT Create/Update Crear/actualizar No SI
POST Update Crea/actualiza
subordinado
No No
GET Retrieve Consultar recurso Si Si
DELETE Delete Eliminar recurso No Si
Seguro = No modifica los datos del servidorIdempotente = El efecto de ejecutarlo n-veces es el mismo que el de ejecutarlo 1 vez
![Page 41: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/41.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
REST
Protocolo cliente/servidor sin estado
Estado gestionado por el cliente
HATEOAS (Hypermedia As The Engine of Application State)
Respuestas devuelven URIs a opciones disponibles
Peticiones sucesivas de recursos
Ejemplo: Gestión de alumnos1.- Obtener lista de alumnos
GET http://ejemplo.com/alumnosDevuelve lista de URIs de alumnos
2.- Obtener información de ese alumnoGET http://ejemplo.com/alumnos/id2324
3.- Actualizar información de ese alumnoPUT http://ejemplo.com/alumnos/id2324
![Page 42: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/42.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
REST
VentajasCliente/Servidor
Separación de responsabilidades
Acoplamiento débil
Interfaz uniformeFacilita comprensión
Desarrollo independiente
Escalabilidad
Mejora tiempos de respuesta
Menor carga en red (caché)Ahorro de ancho de banda
Problemas
REST mal entendido
Uso de JSON o XML sin más
Servicios Web sin contrato ni descripción
REST con estilo RPC
Dificultades para incorporar otros requisitos
Seguridad, transacciones, composición, etc.
![Page 43: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/43.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
REST como estilo compuesto
LayersCliente
Servidor
Sin estado
REST
ServidorReplicado
Interfazuniforme
CachéCódigo
bajo demanda
(opcional)
![Page 44: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/44.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Arquitectura basada en servicios
Estilo arquitectónico pragmático basado en SOA
Interfaz de usuario
servicio
componente
componente
Base
datos
componente
componente
servicio
componente
componente
componente
componente
servicio
componente
componente
componente
componente
![Page 45: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/45.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Arquitectura basada en serviciosElementos
Servicios = Unidades desplegadas
independientemente
Normalmente formados por varios componentes
El interfaz de usuario accede a servicios de forma
remota (Internet)
Base de datos
![Page 46: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/46.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Service based architecture
Restricciones
Cada servicio es desplegado de forma independiente
Servicios pueden ser grandes
Interfaz de usuario puede dividirse (varias
topologías)
Base de datos compartida por cada servicio
![Page 47: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/47.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Arquitectura basada en serviciosVentajas
Modularidad de desarrollo
Servicios independientes
Diversidad tecnológica
Cada servicio puede
implementarse con
tecnologías y lenguajes
diferentes
Time to market
Varios frameworks disponibles
Disponibilidad
Fiabilidad
RetosEscalabilidad (particionado base datos)
Evolución de servicios
Difícil adaptación al cambio
Servicios como monolitos
Ley de Conway
Equipos de base de datos, interfaz de usuario, desarrolladores...
![Page 48: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/48.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
Aplicaciones complejas se dividen en
componentes, llamados servicios
Cada servicio = bloque de construcción pequeño
Altamente desacoplados
Enfocados a hacer una pequeña tarea
Diferencia respecto a SOA
En SOA servicios de diferentes aplicaciones
Microservicios pertenecen a una misma aplicación
http://martinfowler.com/articles/microservices.html
![Page 49: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/49.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
Diagrama
Peticiones
clientes
Peticiones
clientes
Peticiones
clientes
CapaAPI
servicio
módulo
módulo
Base
datos
servicio
módulo
módulo
Base
datos
servicio
módulo
módulo
Base
datos
servicio
módulo
módulo
Base
datos
servicio
módulo
módulo
Base
datos
![Page 50: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/50.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservices
Elementos
Component desplegado = Servicio + base datos
Servicio puede contener varios módulos
Capa API (opcional) es un proxy o servicio de
nombrado
![Page 51: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/51.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
Restricciones
Servicios distribuidos
Contexto definido (bouded context):
Cada servicio modela un dominio o flujo de trabajo
Aislamiento de datos
Independencia:
No hay mediador u
orquestador
![Page 52: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/52.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios y escalabilidad
Aplicación monolíticaToda funcionalidad en un solo proceso
...escalabilidad mediante replicación del monolitoen diferentes servidores
Microservicios: Cada funcionalidad distribuidaen un microservicio
...escalabilidad mediante distribución de servicios en servidores y replicación
![Page 53: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/53.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
Gestión de datos descentralizada
![Page 54: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/54.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
Ley de Conway en aplicación tradicional
Equipos especializados(en silos)
EspecialistasMiddleware
EspecialistasInterfazUsuario
DBAs
...lleva a arquitecturas basadas en silosDebido a la Ley de Conway
![Page 55: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/55.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
Ley de Conway con microservicios: Equipos
basados en funcionalidad
Organizados alrededor de las capacidadesDebido a la Ley de Conway
Equipos multidisciplinaresFuncionalidad cruzada
![Page 56: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/56.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
VentajasModularización del
desarrolloReusabilidad del
microservicioDesarrollo y despliegue
independienteEscalabilidadDescentralización
Independencia de tecnologías concretasCada servicio puede
desarrollarse con un lenguaje y una tecnología diferentes
Diversidad tecnológica
http://martinfowler.com/articles/microservice-trade-offs.html
Problemas/retosGestión de muchos microservicios
Demasiados microservicios = antipatrón (nanoservicios)
Garantizar la consistencia de la aplicación
Complejidad de desarrolloSistemas distribuidos son difíciles
de gestionarAparecen nuevos problemas:
latencia, formato de mensajes, balance de carga, tolerancia a fallos, etc.
Pruebas y despliegueComplejidad operacional
Deterioro estructural
![Page 57: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/57.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Deterioro estructural microservicios
Dependencias de código entre microservicios
Demasiadas librerías compartidas
Demasiada comunicación entre servicios
Demasiadas peticiones de orquestación
Agregación de microservicios
Acoplamiento de la base de datos
Vídeo: Analyzing architecture (microservices)https://www.youtube.com/watch?v=U7s7Hb6GZCU
![Page 58: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/58.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Microservicios
Variantes
Arquitectura de sistemas auto-contenidos
Self contained Systems (SCS) Architecture
Separación de funcionalidad en muchos sistemas
independientes
https://scs-architecture.org/
Cada Sistema auto-contenido contiene lógica y datos
![Page 59: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/59.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Arquitectura Serverless
También conocido como:Function as a service (FaaS)
Backend as a service (BaaS)
Aplicaciones dependen de servicios de terceras partes
Los desarrolladores no tienen que preocuparse de los servidoresEscalabilidad automática
Clientes ricosAplicaciones Single Page, Aplicaciones móviles
Ejemplos: AWS Lambda, Google Cloud Functions, Ms Azure Functions
https://en.wikipedia.org/wiki/Serverless_computing
![Page 60: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/60.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o
Arquitectura Serverless
Ventajas
Escalabilidad
Disponibilidad
Rendimiento
Costes reducidos
Costes operacionales
Sólo se paga por los
recursos
computacionales
requeridos
Time to market reducido
Retos
Dependencia de un vendedor
Vendor lock-in
Incompatibilidad entre soluciones de diferentes vendedores
Seguridad
Latencia de arranque
Pruebas de integración
Monitorización/depuración
![Page 61: Presentación de PowerPoint€¦ · Mensajería Event log Topologías Hub & Spoke, Bus Arquitecturas orientadas a servicios WS-*, REST ... El coste de transporte es cero La red es](https://reader034.fdocuments.net/reader034/viewer/2022052018/6030c28e5927b172a64bb33f/html5/thumbnails/61.jpg)
Arquitectura del SoftwareE
sc
ue
la d
e I
ng
en
ier
ía I
nfo
rm
áti
ca
Un
ive
rsid
ad
de
Ov
ied
o