Please enable JavaScript.
Coggle requires JavaScript to display documents.
Estilos y patrones arquitectónicos de software Daniel Gutierrez, image,…
Estilos y patrones arquitectónicos de software
Daniel Gutierrez
principios clave
El futuro producto basado en ella contenga todos los
Requisitos funcionales y no funcionales del cliente
Debe intentar predecir todos los riesgos posibles que se pueden proyectar al sistema en el futuro
La arquitectura debe prepararse manteniendo la visión de que el sistema de software debe ser flexible para
incorporar cambios futuros y requisitos de mantenimiento
Debe soportar la utilización óptima de los recursos del sistema.
Sólo debe explicar cómo lograr los requisitos del cliente.
No debe revelar ningún detalle de implementación.
Beneficios
descubrir fácilmente las áreas propensas a riesgos en el sistema. Y así puede reducir el impacto y el costo asociado con el riesgo
Uno puede reutilizar fácilmente los componentes desarrollados en un sistema en el otro sistema
Ayuda a estimar los requisitos de recursos del dominio de la solución.
Puede mejorar fácilmente la calidad del sistema, y tener un producto con todos los atributos
Muestra cómo construir el sistema, por lo tanto, puede informarnos sobre el comportamiento del sistema
Estilos arquitectonicos
Mensajes
Asynchronous messaging
Publish-subscribe
Event-driven
Representa el sistema en términos de generación, procesamiento, monitoreo y terminación de Eventos que pueden ocurrir en un sistema
Estado
dispositivos de detección
sensores
capas lógicas
Canal de evento
transferir el evento desde su origen al consumidor de eventos
TCP/IP
Formato XML
Motor de procesamiento de eventos
Este es el lugar donde los eventos se procesan y se generan respuestas apropiadas con respecto al evento
Generador de eventos
Responsable de la generación del evento
Click en el mouse
Presionar una tecla
Actividad posterior impulsada por eventos
consecuencias de los eventos
Sistemas adaptables
Reflection
Microkernel
Plug-ins
Sistema distribuido
Space based architecture
Peer-to-peer
Client-server
componentes
servidor
Acepta la solicitud del cliente, realiza el procesamiento, reúne la información requerida, genera la solución para la demanda del cliente y envía la solución generada al cliente proceso
servidor de impresión
servidor de base de datos
web
servidor
servidor de chat
servidor FTP
Medio de comunicación de cliente y servidor
Define la ruta por la que cliente y servidor
comunicarse entre sí
Intranet
red Bluetooth
Internet
cliente
solicitante del servicio o información
navegador
cliente de chat en línea
Cliente de correo electrónico
Puntos a tener en cuenta
Un servidor puede acercarse a otro servidor para atender al cliente
El cliente necesita saber la dirección del servidor para enviar la solicitud, pero el servidor no necesita saber sobre la
Ubicación del cliente.
El cliente puede convertirse en servidor y el servidor puede convertirse en cliente
Ventaja
servicio rápido
Desventaja
agujeros de seguridad
agujeros de rendimiento
si el servidor falla, todo el sistema dejaría de funcionar
Shared nothing architecture
Broker
Representational state transfer
Service-oriented
Estructuras
Pipes and filters
Filtro se refiere al elemento de procesamiento y las tuberías se utilizan para conectar filtros
Puede hacer un buffer intermedio para gestionar el flujo de información
Es una arquitectura de software unidireccional
Todos los filtros pueden ejecutarse.al mismo tiempo y pueden distribuirse en diferentes sistemas
Ventaja
Los filtros independientes pueden funcionar simultáneamente
Esta arquitectura se utiliza para acelerar el procesamiento, ya que se realizan múltiples procesamientos al mismo tiempo.
en varios filtros.
Desventaja
Los filtros están débilmente acoplados entre sí ya que no intercambian su estado.
Monolithic application based
Component-based
Se divide el sistema en algunos componentes lógicos o físicos con interfaces bien definidas
funcionalidad
recursos
datos
paquetes
Tipos de componentes
Componentes disponibles en el mercado
Componentes disponibles en la biblioteca de terceros
Nuevo componente
La biblioteca necesita desarrollarse desde cero.
Componentes total o parcialmente experimentados
Componentes disponibles en la biblioteca de la organización,
que se ha utilizado en el desarrollo de varios sistemas
Ventaja
Facilidad de reutilización
Alta cohesión, bajo acomplamiento
fácil encontrar componente erróneo
Layered
Agrupa las responsabilidades del software en varias capas poco acopladas
Se divide en
Capa empresarial
Incorpora la lógica de negocio del sistema
Capa de infraestructura
Incorpora servicios de datos, servicios de redes y otros servicios de infraestructura
Capa de presentación
funcionalidades de la interfaz de usuario
Tener en cuenta
Aplicaciones externos pueden utilizar directamente el
Servicios de capa empresarial
modelo OSI
La capa de red
es responsable de la entrega de datos de host a host
Él realiza el enrutamiento de paquetes de un nodo al siguiente
Transporte
es responsable de la entrega de los datos de proceso a proceso.
Datos
se representa en forma de marcos
La capa de sesión
responsable de la sesión.
gestión para un usuario
realiza control de diálogo y sincronización con la ayuda de puntos de control
La capa de presentación
responsable del cifrado, traducción y compresión de los datos
Enlace de datos
La capa es responsable de la entrega de datos de nodo a nodo localmente
Realiza control de flujo y errores local
Capa de aplicación
incorpora servicios de usuario
TCP/IP
Memoria compartida
Estilo pizarra
Usa varias fuentes de conocimientos para resolver un problema
Todas las demás fuentes de conocimiento modifican
o amplía la solución dada por una fuente de conocimiento anterior
El shell de control se utiliza para coordinar y gestionar las actividades. de las fuentes de conocimiento para que no puedan crear ningún error
ventajas
la escalabilidad, es decir, la fuente de conocimiento se puede agregar o eliminar fácilmente del sistema
Las fuentes de conocimiento son independientes entre sí y por lo tanto pueden funcionar. simultáneamente
desventaja
Dificultad para determinar cuándo detener el proceso de búsqueda de soluciones
Centrado en datos
Basado en reglas
Sistemas modernos
Multi-tenancy Architecture
Architecture for Big-Data
Architecture for Grid Computing
Clouding Computing
componentes
Plataforma backend
Almacenar datos en Internet o en la nube a la que pueden acceder los clientes de la nube
Entrega basada en la nube
sAAS
SOFTWARE BAJO DEMANDA
instalar y mantener diversos software en su nube que están disponibles para que los clientes de la nube ejecuten sus tareas
Responsabilidades
Actualización de licencia
Instalación de software
Actualización periódica del software.
Mantenimiento del software
estilos para implementarlos
Múltiple
Arrendamiento
Arrendamiento flexible
capacidad de alojar una única instancia de una solución de software que sirve a múltiples clientes
Inquilino se refiere a clientes de la nube
3 more items...
Instancia única
Instancia múltiple
Plataforma como servicio (PaaS)
los proveedores de la nube brindan desarrollo, informática y
entorno de pruebas para los clientes de la nube
ventajas
el cliente puede desarrollar software
facilita
cliente brindándole instalaciones completas de prueba, implementación y configuración
reducción del esfuerzo en la construcción, mantenimiento y actualización del entorno de desarrollo
ejemplos
Apprenda
Cloud Foundry
Google App Engine
Infraestructura como servicio (IaaS)
los proveedores de nube brindan servicios de infraestructura de TI bajo demanda
servidores
máquinas físicas o virtuales
firewall
almacenamiento
ejemplo
Linode
almacenamiento Zadara
Google Drive
Plataforma front-end
incluye clientes en la nube que pueden ser cualquier software o hardware
sistema operativo (ANDROID)
Tableta
teléfono
RED
Arquitectura para Big Data
es un conjunto de datos enorme y complejo, por lo que es difícil de procesar y gestionar con los sistemas existentes
dimensiones
velocidad
variedad
volumen
almacenamiento y procesamiento de big data
marco Hadoop
DFS (Sistema de archivos distribuido Hadoop) y Map Reduce
Es un sistema de archivos
que divide la gran cantidad de datos en fragmentos y los replica tres veces con fines de confiabilida
El tamaño predeterminado de los fragmentos es 64 MB y la replicación se realiza tres veces
Arquitectura de la computación Grid
Las computadoras en la red pueden estar débilmente acopladas, ser heterogéneas y
geográficamente distante
CAPAS
Recurso físico
Servidor, sensor, almacenamiento, catálogo,
recurso computacional
Recurso lógico
istema de archivos distribuido, clúster de computadoras
Fabric Layer
proporciona recursos e interfaces necesarios para acceder a los recursos en la red
Capa de conectividad
Esta capa se ocupa de cómo se comunicarán entre sí las diferentes computadoras o nodos de la red
Capa de recursos
ara cada recurso individual que controla y
gestionar su iniciación, seguimiento, control, negociación, pago y operación
GRIS (Servicios de información de recursos de Grid)
Grid FTP
GRAM (Gestión de acceso y recursos de Grid)
Capa Colectiva:
Él
proporciona diferentes tipos de servicios como gestión de replicación de datos, servicios de metadatos, servicios de directorio
MDS (Servicios de directorio y monitoreo)
servicios de programación
servicios de intermediación como MPICH y CAS