Está en la página 1de 26

ARQUITECTURA DE SOFTWARE

Patrones Arquitectónicos.

Por:
EDWIN ENRIQUE VELÉZ JARAMILLO

Corporación Universitaria Remington


Ingeniería de Sistemas
Arquitectura de Software
Medellín - 2020
ARQUITECTURA DE SOFTWARE
Introducción.

En esta presentación identificaremos algunos patrones


de la arquitectura de software, en donde hablaremos
de sus componentes, representación gráfica,
ventajas, desventajas y se mostrara un ejemplo en
donde se aplica cada patrón explicado.

Aquí hablaremos de los patrones arquitectónicos


Cliente – Servidor, Modelo entre capas y Arquitectura
Web.
ARQUITECTURA DE SOFTWARE
Que es?

La arquitectura de un sistema de software puede


basarse en uno (o en varios) modelos o estilos
arquitectónicos bien conocidos.

Un estilo arquitectónico define una familia de sistemas


(cierto tipo de sistemas) en términos de patrones
estructurales, de control, de comunicación, etc.
ARQUITECTURA DE SOFTWARE
Cliente – Servidor

Este modelo es uno de los principales usados en


muchísimos servicios y protocolos de Internet, por lo
que para todos aquellos que quieren aprender más
sobre la web y cómo funciona, entender el concepto
de modelo cliente servidor se vuelve algo
indispensable.

La arquitectura cliente servidor tiene dos partes


claramente diferenciadas, por un lado la parte del
servidor y por otro la parte de cliente.
ARQUITECTURA DE SOFTWARE
Componentes Cliente – Servidor

• Red: Conjunto de clientes, servidores y base de


datos unidos de manera física o no física en el que
existen protocolos de transmisión de información.
• Cliente: Demandante de servicios, este cliente
puede ser un ordenador, también una aplicación de
informática, que requieren información proveniente
de la red para funcionar.
• Servidor: Hace referencia a un proveedor de
servicios, este servidor a su vez puede ser un
ordenador o una aplicación informática la cual envía
información a los demás agentes de la red.
ARQUITECTURA DE SOFTWARE
Componentes Cliente – Servidor

• Protocolo: Conjunto de normas o reglas y pasos


establecidos de manera clara y concreta sobre el
flujo de información en una red estructurada.
• Servicios: Conjunto de información que busca
responder las necesidades de un cliente, donde
esta información pueden ser mail, música,
mensajes simples entre software, videos, etc.
• Base de datos: Son bancos de información
ordenada, categorizada y clasificada que forman
parte de la red, que son sitios de almacenaje para
la utilización de los servidores y también
directamente de los clientes.
ARQUITECTURA DE SOFTWARE
Gráfica Cliente – Servidor

Fuente:
http://www.codecompiling.net/files/slides/IS_clase_08_estilos_arquitectonicos.pdf
ARQUITECTURA DE SOFTWARE
Ventajas Cliente – Servidor

• Facilita la integración entre diferentes sistemas y


comparte información permitiendo por ejemplo que
las máquinas ya existentes puedan ser utilizadas
mediante una interfaz más amigable para el usuario.
• Al favorecer el uso de las interfaz de gráficas
interactivas, los sistemas construidos bajo este
esquema tienen una mayor interacción con el
usuario.
• La estructura modular facilita de más la integración
de nuevas tecnologías y el crecimiento de la
infraestructura computacional favoreciendo así la
estabilidad de las soluciones.
ARQUITECTURA DE SOFTWARE
Ventajas Cliente – Servidor

• El modelo cliente servidor permite además


proporcionar a las diferentes áreas de una empresa
generar un orden de trabajo en donde cada sector
puede trabajar en su área pero accediendo al
mismo servidor e información que los demás sin
generar conflictos. Esto es de gran utilidad ya que
si ponemos como ejemplo una empresa con varios
empleados al momento de trabajar es importante
que todos puedan hacerlo en simultáneo.
ARQUITECTURA DE SOFTWARE
Desventajas Cliente – Servidor

• Requiere habilidad para que un servidor sea


reparado. Por ejemplo si un problema ocurre en la
red, se requiere de alguien con un amplio de esta
para poder repararla en su totalidad para así dejar
que la información y el correcto funcionamiento siga
su flujo.
• Otro problema es la seguridad, el hecho que se
comparte canales de información entre servidores y
clientes requieren que estas pasen por procesos de
validación, es decir protocolos de seguridad que
pueden tener algún tipo de puerta abierta
permitiendo que se generen daños físicos, amenazas
o ataques de malware.
ARQUITECTURA DE SOFTWARE
Desventajas Cliente – Servidor

• Este modelo representa una limitación importante


en cuanto a los costos económicos debido a que
estos servidores son computadoras de alto nivel
con un hardware y software específicos para poder
dar un correcto funcionamiento a nuestras
aplicaciones. Algo importante a destacar es que no
solo es caro a la hora de solucionar problemas
como mencionamos antes, sino que también tiene
un costo elevado para reemplazar componentes
que estén averiados.
ARQUITECTURA DE SOFTWARE
Ejemplos Cliente – Servidor

• Navegar una web funciona basándonos en un cliente


web (navegador) y un servidor web como Apache,
Nginx o LiteSpeed
• Protocolo FTP, se utiliza un cliente de FTP (como
Filezilla) para conectar a un servidor FTP (como Pure-
FTPD, Proftpd, etc)
• Juegos en red: existen clientes que permiten a
jugadores online jugar desde sus casas conectándose
a servidores de juegos remotos.
• Servidor de Correo: donde clientes de correo
consultan el correo al servidor de correo remoto, tanto
desde móvil o una computadora de escritorio o laptop.
ARQUITECTURA DE SOFTWARE
Modelo entre Capas

La arquitectura entre capas es una de la más


fuertemente adoptadas por los desarrolladores.

Una capa representa un aspecto lógico a tratar como


una unidad propia con sus objetivos funcionales
claramente definidos, sus dependencias y sus
colaboraciones hacia el sistema.
ARQUITECTURA DE SOFTWARE
Componentes Modelo entre Capas

• Capa de Presentación: Referente a la interacción


entre el usuario y el software. Puede ser tan
simple como un menú basado en líneas de
comando o tan complejo como una aplicación
basada en formas. Su principal responsabilidad es
mostrar información al usuario, interpretar los
comandos de este y realizar algunas validaciones
simples de los datos ingresados.
ARQUITECTURA DE SOFTWARE
Componentes Modelo entre Capas

• Capa de Reglas de Negocio (Empresarial): También


denominada Lógica de Dominio, esta capa contiene
la funcionalidad que implementa la aplicación.
Involucra cálculos basados en la información dada
por el usuario y datos almacenados y validaciones.
Controla la ejecución de la capa de acceso a datos y
servicios externos. Se puede diseñar la lógica de la
capa de negocios para uso directo por parte de
componentes de presentación o su encapsulamiento
como servicio y llamada a través de una interfaz de
servicios que coordina la conversación con los
clientes del servicio o invoca cualquier flujo o
componente de negocio.
ARQUITECTURA DE SOFTWARE
Componentes Modelo entre Capas

• Capa de Datos: Esta capa contiene la lógica de


comunicación con otros sistemas que llevan a cabo
tareas por la aplicación. Estos pueden ser
monitores transaccionales, otras aplicaciones,
sistemas de mensajerías, etc. Para el caso de
aplicaciones empresariales, generalmente esta
representado por una base de datos, que es
responsable por el almacenamiento persistente de
información. Esta capa debe abstraer
completamente a las capas superiores (negocio) del
dialecto utilizado para comunicarse con los
repositorios de datos (PL/SQL, Transact-SQL, etc.).
ARQUITECTURA DE SOFTWARE
Gráfica Modelo entre Capas

Fuente: https://www.docirs.cl/arquitectura_tres_capas.htm
ARQUITECTURA DE SOFTWARE
Ventajas Modelo entre Capas

• Permite aislar los cambios a nivel de capa, o a


capas adyacentes.
• Permite sustituir capas completas siempre que se
mantenga su interfaz.
• Permite introducir redundancia por niveles para
incrementar la fiabilidad.
• Permite fácilmente la portabilidad y el soporte
multi-plataforma/protocolo.
ARQUITECTURA DE SOFTWARE
Desventajas Modelo entre Capas

• Puede ser difícil realizar una división “limpia” en


capas.
• Puede ser necesaria comunicación entre capas no
adyacentes.
• Puede haber problemas de rendimiento debido a los
múltiples niveles que debe atravesar una petición.
ARQUITECTURA DE SOFTWARE
Ejemplos Modelo entre Capas

• Aplicativos WEB.
• Aplicativos empresariales.
• Aplicativos Bancarios.
ARQUITECTURA DE SOFTWARE
Arquitectura WEB

El diseño y la arquitectura de información de las


páginas web es el resultado de la actividad de
clasificar, describir, estructurar y etiquetar los
contenidos del sitio. Si bien no es percibida
directamente por el usuario, tiene un claro impacto en
la usabilidad y éxito del sitio web (Shelley, 2009).
Nielsen (2003) define el concepto de usabilidad, como
el atributo de calidad que mide la facilidad en el uso
de las interfaces.
ARQUITECTURA DE SOFTWARE
Componentes Arquitectura WEB

• Un servidor Web
El servidor Web distribuye páginas de información
formateada a los clientes que las solicitan.
• Una conexión de red
En la cual se usa el protocolo HTTP para realizar las
peticiones.
• Uno o más clientes
Browsers o navegadores que se conectan desde
cualquier punto.
ARQUITECTURA DE SOFTWARE
Gráfica WEB

Fuente: https://www.redalyc.org/pdf/206/20645903004.pdf
ARQUITECTURA DE SOFTWARE
Ventajas y Desventajas Arquitectura
WEB

• En opinión personal, las ventajas y desventajas


dependen del patrón con el que se complemente la
arquitectura web
ARQUITECTURA DE SOFTWARE
Referencias.

Gutierrez, D. (2011). ARQUITECTURA DE SOFTWARE (Estilos Arquitectónicos)


Web:
http://www.codecompiling.net/files/slides/IS_clase_08_estilos_arquitectonicos.
pdf

Lizama, O. Kindley, G. Jeria, J. (2016). Redes de computadores Arquitectura


Cliente – Servidor
Web:http://profesores.elo.utfsm.cl/~agv/elo322/1s16/projects/reports/Proyect
o%20Cliente%20-%20Servidor.pdf

Schiaffarino, A. (2019). Modelo Cliente – Servidor


Web: https://blog.infranetworking.com/modelo-cliente-servidor/

Cardacci, D. (2015). ARQUITECTURA DE SOFTWARE ACADÉMICA


PARA LA COMPRENSIÓN DEL DESARROLLO
DE SOFTWARE EN CAPAS
Web: https://www.econstor.eu/bitstream/10419/130825/1/837816424.pdf

25
ARQUITECTURA DE SOFTWARE
Referencias.

Arevalo, M. (2010). Introducción al Patrón de Arquitectura por Capas


Web: https://arevalomaria.wordpress.com/2010/12/02/introduccion-al-patron-
de-arquitectura-por-capas/

Leyva, K. Alarcón, L. Ortegón, L. (2016). Exploración del diseño y


arquitectura web.
Web: https://www.redalyc.org/pdf/206/20645903004.pdf

26

También podría gustarte