6 - Arquitecturas

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 39

ARQUITECTURAS

MODELADO DE SOFTWARE
CONCEPTO DE ARQUITECTURA

 Describe la estructura y las relaciones de todos los elementos de TI de una organización. Se descompone
en arquitectura de información, arquitectura de sistemas de información y arquitectura de servicios
tecnológicos.
ARQUITECTURA SOA

 La arquitectura orientada a los servicios (SOA) es un tipo de diseño de software que permite reutilizar sus
elementos gracias a las interfaces de servicios que se comunican a través de una red con un lenguaje común
SOA

 La arquitectura orientada a los servicios (SOA) es un tipo de diseño de software que permite reutilizar sus
elementos gracias a las interfaces de servicios que se comunican a través de una red con un lenguaje común.
 Un servicio es una unidad autónoma de una o más funciones del software diseñada para realizar una tarea
específica, como recuperar cierta información o ejecutar una operación. Contiene las integraciones de datos
y código que se necesitan para llevar a cabo una función empresarial completa y diferenciada. Se puede
acceder a él de forma remota e interactuar con él o actualizarlo de manera independiente.

En otras palabras, la SOA integra los elementos del software que se implementan y se mantienen por
separado, y permite que se comuniquen entre sí y trabajen en conjunto para formar aplicaciones de software
en distintos sistemas.
ARQUITECTURA
SOA
BUS DE SERVICIO

 BUS DE SERVICIO: Enterprise Service Bus


(ESB) permite el enrutado de mensajes

Cuando una empresa usa un ESB la aplicación


que requiere un servicio de otro servicio web no
la llama directamente, sino que lo hace
mediante el bus. El bus está programado para
hacer llegar la invocación deseada a la
aplicación de destino.
 Un ESB también proporciona equilibrio de carga
en el que se pueden crear copias de múltiples
copias de un componente para mejorar el
rendimiento. También puede proporcionar
soporte si un componente o sus recursos
fallan.26 feb 2018
EJEMPLO
ARQUITECTURA DE MICROSERVICIOS

 ¿Qué es una arquitectura por microservicios?


 Una arquitectura de microservicios consta de una colección de servicios autónomos y pequeños. Cada uno
de servicio es independiente y debe implementar una funcionalidad de negocio individual dentro de un
contexto delimitado.
Diseño
del microservicio
 Interactuar con el cliente del servicio
(capa interfaz o presentación). Aquí
agrupamos las clases y métodos que
conforman el API del servicio web.
 Ejecutar procesamientos y aplicar reglas
de negocio. Estas son clases que tienen la
«sabiduría» o conocimiento sobre la
lógica de lo que hace el servicio web.
Algunos llaman a estas clases,
«servicios«
 Acceso a datos. Son las clases que se
encargan de almacenar y extraer la
información de un repositorio. Algunos
las llaman Repository o Data Access
Object (DAO)
API
¿Qué significa API? Es el acrónimo de Application Programming Interface, o en español, Interfaz de Programación de Aplicaciones. Se puede definir como una interfaz que favorece la comunicación entre dos sistemas o plataformas diferentes,
permitiendo agregar diversas funciones a sitios web y aplicaciones
MICROSERVICIOS

Son pequeños componentes distribuidos en nuestro sistema, donde cada componente va exponer una
funcionalidad al resto del sistema, de tal forma que el sistema se modulariza a través de estos
servicios independientes, nuestros clientes  o los propios servicios van a consumir estas funcionalidades entre
ellos, es común que cada uno de estos micro servicios tenga de manera independiente su base de datos, uno de
estos retos de esta arquitectura es como sincronizar estos datos o intercomunicar estos servicios.
Es común cuando se tienen microservicios que se tenga algún tipo de conexión entre ellas, ya sea directa es
decir que un servicio depende de otro.
 RELACIÓN INDIRECTA:  En donde los
servicios se comunican a través de eventos con
un bus de eventos
Cliente

Servicio de Servicio de
Servicio de usuarios Servicio de Pagos
Ejemplo
Productos Logística
 Es cuando tenemos múltiples aplicaciones distribuidas y
replicaciones.

REPLICACIÓN: La replicación de datos


funciona copiando datos de una ubicación a otra, por ejemplo,
entre dos hosts locales en la misma ubicación o en ubicaciones
diferentes. Por ejemplo, la duplicación de la base de datos en el
almacenamiento se copia de un sistema de dispositivo de
almacenamiento a otro.

¿Cuándo usar una arquitectura de microservicios?


Arquitectura Monolítica

Este tipo de arquitectura se caracteriza por: Los


programas son fáciles de desarrollar. El despliegue y la
ejecución del software son muy sencillos. El costo de
desarrollo es bajo en comparación con otras
arquitecturas.

El Software se estructura de forma que todos los aspectos


funcionales del mismo quedan acoplados y sujetos en un mismo
programa
El estilo arquitectónico monolítico consiste en crear una aplicación autosuficiente que contenga
absolutamente toda la funcionalidad necesaria para realizar la tarea para la cual fue diseñada, sin contar
con dependencias externas que complementen su funcionalidad.
Arquitectura
Monolítica
Arquitectura en capas N-Capas
Lo desacoplado se vuelve a integrar en la misma capa por
comodidad

Una arquitectura de n niveles divide
una aplicación en capas lógicas y
niveles físicos. Las capas son una
forma de separar responsabilidades y
administrar dependencias. Cada capa
tiene una responsabilidad específica.
Una capa superior puede utilizar los
servicios de una capa inferior, pero no al
revés.
EJEMPLO
ARQUITECTURA EN CAPAS

La arquitectura en capas consta en dividir la aplicación


en capas, con la intención de que cada capa tenga un rol
muy definido, como podría ser, una capa de presentación
(UI), una capa de reglas de negocio (servicios) y
una capa de acceso a datos (DAO), sin embargo, este
estilo arquitectónico no define cuantas capas ...
ARQUITECTURA EN CAPAS
¿Qué es la
arquitectura Onion?

 Está es la forma en la que se


suele representar
la arquitectura onion. A
grandes rasgos se trata de
una arquitectura multicapa
construida en torno a un
modelo de dominio
independiente de todo lo
demás. Las dependencias van
hacia el centro, por lo que todo
depende de ese modelo de
dominio.
ARQUITECTURA EN CAPAS EXAGONAL

 La arquitectura hexagonal es una arquitectura del software en la que se busca es separar el


core lógico de la aplicación, dejarlo en el centro totalmente aislado del exterior, del cliente y de
otras interacciones. En la misma tenemos adaptadores, puertos, el core lógico y adaptadores y
puertos secundarios.

NOTA: CORE LÓGICO: Core. Un núcleo de procesador (o simplemente "núcleo") es un individuo


procesador dentro de un CPU. Muchas computadoras hoy tienen multi-core procesadores, lo que
significa que la CPU contiene más de un núcleo. Durante muchos años, las CPU de las
computadoras solo tenían un núcleo único.
ARQUITECTURA EN CAPAS EXAGONAL

 Para resumir, la arquitectura hexagonal


es un enfoque utilizado para dividir la
aplicación en partes internas y externas.
Están conectados a través de puertos
(expuestos por el interior) y adaptadores
(implementados por el exterior). Por lo
tanto, al aplicar este enfoque, el código
de caso de uso central permanece intacto
y puede servir para múltiples canales,
soportando diferentes protocolos.
También ayuda a hacer la aplicación fácil
de probar. Tampoco esta bien
implementar todas las funcionalidades de
esta manera deberíamos ser selectivos.
ARQUITECTECTU EXAGONAL

Los adaptadores actúan de capa que sirve para transformar la comunicación entre actores externos y la
lógica de la aplicación de forma que ambas dos quedan independientes. 
 ADAPTADORES PRIMARIOS Y SECUNDARIOS:

ADAPTADORES PRIMARIOS: Los adaptadores primarios vendrían a ser los controladores que se


comunican con el cliente, con el exterior, y reciben las peticiones. Estos adaptadores usan, y no
implementan, los puertos primarios para acceder al core lógico de la aplicación.
ADAPTADORES SECUNDARIOS:
EXAGONAL

 El rol de los puertos y adaptadores es convertir la petición y las respuestas a medida que entran del mundo
exterior. Este proceso de reconversión permite a la aplicación a recibir peticiones y enviar respuestas a
cualquier numero de tecnología exterior sin tener que saber nada de ellas. Permite reemplazar un adaptador
por una implementación diferente que forme la misma interface.

https://www.youtube.com/watch?v=tK9gFakpIDo
Comparación
ARQUITECTURA CLIENTE SERVIDOR

 Una arquitectura de servidor describe la configuración detallada de cada servidor e incluye:


Hardware que se necesita para cada servidor. Sistema operativo que se necesita para cada servidor.
Software que se necesita.
 Cliente-servidor es una relación en la cual un programa (el cliente) solicita un servicio o recurso de otro
programa (el servidor). 
 A principios del siglo pasado, la etiqueta cliente-servidor se usó para distinguir la computación distribuida
por computadoras personales (PC) del modelo de computación monolítico y centralizado utilizado por los
mainframes. Hoy en día, las transacciones informáticas en las que el servidor cumple una solicitud realizada
por un cliente son muy comunes y el modelo cliente-servidor se ha convertido en una de las ideas centrales
de la informática en red. 
CLIENTE -
SERVIDOR

 Cliente Pasivo, Servidor Pasivo:
Tanto el cliente como
el Servidor simplemente pasan
información. Ejemplo: Gateways
de comunicaciones
VoIP. Cliente Pasivo, Servidor A
ctivo: El Servidor realiza todo el
trabajo de procesado y
el cliente simplemente presenta
los datos.
CLIESNTE – SERVIDOR 

 Es una manera en la cual permite


comunicarse a dos aplicaciones distintas
, es utilizada en muchas aplicaciones
modernas.
Cliente- servidor
ARQUITECTU
RA
DISTRIBUIDA
ARQUITECTUR
A DE
DISTRIBUIDO

 Una arquitectura distribuida se
caracteriza por proporcionar una mayor
velocidad en el procesamiento. Por
ejemplo, si se realiza una consulta a una
base de datos, los procedimientos se
dividen entre los distintos nodos,
obteniendo una respuesta mucho más
rápida que si se realiza con un único
nodo.
 Un sistema distribuido es
un sistema en el que los componentes
hardware o software se encuentran en
computadores unidos mediante una red.
Los S. O. para sistemas
distribuidos han tenido importantes
desarrollos, pero todavía existe un largo
camino por recorrer.
ARQUITECTURA DISTRIBUIDA

 Normalmente esta arquitectura se utiliza en las siguientes situaciones: o Cuando se requiera


mucho procesamiento de datos en la aplicación. o En aplicaciones donde la funcionalidad este en
constante cambio. o Cuando los procesos no están relativamente muy relacionados con los datos.
https://www.youtube.com/watch?
v=Ef_bf8sHj7E
Liga importante capas soa

 http://icomparable.blogspot.com/2009/01/capas-del-modelo-conceptual-de-soa.html

También podría gustarte