SlideShare una empresa de Scribd logo
1 de 35
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
 Un aspecto muy importante en arquitectura del software son los patrones tanto
de diseño como de arquitectura
 Los complementan los estilos arquitectónicos
 Ambos se preocupan de los stakeholders
 Los estilos favorecen al tratamiento estructural, la investigación, la teoría
 Los patrones están más cerca del diseño, la práctica, el proceso, el código
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
 Un estilo describe una clase de arquitectura o piezas de la misma.
 Los estilos se pueden reutilizar en situaciones semejantes en el futuro.
 Desde que surgió la arquitectura del software se generalizó la arquitectura cliente
– servidor, posteriormente entró en auge las arquitecturas en capas y las basadas
en componentes y más recientemente las basadas en recursos y servicios
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
Cada estilo describe una categoría de sistemas que incluye
1. Un conjunto de componentes (una base de datos o módulos de computo) que
realizan una función requerida por el sistema
2. Un conjunto de conectores que permiten la comunicación, coordinación y
cooperación entre los componentes
3. Restricciones que definen como se integran los componentes para formar el
sistema
4. Modelos semánticos que permiten que un diseñador entienda las propiedades
generales del sistema al analizar las propiedades conocidas de sus partes.
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
Cuando definimos una arquitectura, la tipificamos y la distinguimos, pero existen
preguntas generales?
 Cuáles son las arquitecturas alternativas?
 La arquitectura elegida abarca todo un contexto?
 La arquitectura elegida es una variante incluida en un conjunto más amplio?
 En que magnitud contrasta con las otras alternativas?
 Cuántas formas podría adoptar?
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
 No solo es cuestión clasificatoria. Optar por una forma arquitectura tiene un valor
distintivo.
 Los estilos se manifiestan en la arquitectura teórica descriptiva; los partidarios de
los estilos se definen como arquitectos.

 Los que se agrupan en torno a patrones se confunden con ingenieros o
diseñadores, incluso con programadores sistemáticos o analistas de software.
 Ambos con mayor o menor grado participan abarcando la Arquitectura del
Software.

 Los estilos se encuentran en el centro de la arquitectura constituyen su escencia.
 Los patrones de arquitectura están claramente dentro de la disciplina, no así los
patrones de diseño.
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
Se establece que una arquitectura se define mediante la afirmación:
Arquitectura del Software = Elementos, Forma y Razón.
- Elementos:
procesamiento:
datos:
conexión:

Suministra la transformación de los datos
Contiene la información a procesar
Llamadas a procedimientos, mensajes, etc.

- Forma: las propiedades y relaciones entre los elementos.
- Razón: motivación para la elección de elementos y sus formas.
Por tanto un estilo arquitectónico es una abstracción de tipos de elementos y
aspectos formales a partir de arquitecturas específicas.
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
 Conjunto de reglas de diseño que identifica las clases de componentes y
conectores que se pueden utilizar para componer el sistema o subsistema junto
con las restricciones locales o globales de la forma en que la composición se lleva
a cabo
Componentes: sistemas encapsulados indicando la forma de empaquetado y
la forma en que interactúan con otros componentes.
Conectores:
los procesos interactúan por medio de protocolos de
transferencia de mensajes o por flujo de datos, etc.
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
 Estilo arquitectónico es una descripción del patrón de los datos y la interacción de
control entre los componentes, ligada a una descripción informal de los beneficios
e inconvenientes del uso del estilo.
 Los estilos son entidades que ocurren en un nivel sumamente abstracto y
puramente arquitectónico.
DISEÑO DE LA ARQUITECTURA
ESTILOS ARQUITECTONICOS
Catalogo de estilos:
 Arquitectura centrada en datos (arquitecturas de pizarra, Data Warehouse)
 Arquitectura de flujo de datos (Tuberías y filtros, proceso secuencial en lotes)
 Arquitecturas de llamada y retorno (llamadas a procedimientos remotos, Modelo
Vista Controlador)
 Arquitecturas orientadas a objetos
 Arquitecturas orientadas a aspecto

 Arquitecturas orientadas a servicios (SOA)
 Arquitecturas estratificadas
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN DATOS
Se fundamenta en el almacenamiento de
datos (archivos o bases de datos) al que
acceden otros componentes que realizan
acciones sobre la los datos.

El cliente accede al repositorio central.

Repositorio pasivo: El software cliente accede a los datos independientemente de los
cambios de los datos o de las acciones del software de otro cliente.
Repositorio pizarrón: el repositorio envía notificaciones a los clientes cuando los
datos de su interés cambian, siendo por tanto un ente activo.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN DATOS
Arquitectura en pizarra:
Imagine un número de estudiantes que están escribiendo en la pizarra al mismo
tiempo tratando de resolver un problema.
Y si le añadimos un maestro que primero le pide a cada estudiante lo que quiere
escribir en la pizarra y decide qué estudiante tiene la mejor idea. Y cuando el
estudiante haya terminado, el proceso se repite.
Esta es la idea detrás de la arquitectura en pizarra. Los estudiantes se llaman
fuentes de conocimiento. El profesor se denomina “intérprete de comandos de
control”
En la Arquitectura en Pizarra varios subsistemas especializados pueden reunir sus
conocimientos para construir una posible solución parcial o aproximada.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN DATOS
Arquitectura en pizarra:
La idea detrás de la Arquitectura de Pizarra es una colección de programas
independientes que trabajan conjuntamente en una estructura de datos común.
Cada programa especializado trabaja para la solución de una parte específica de la
tarea general, y todos los programas trabajan juntos en la solución total.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN DATOS
Arquitectura en pizarra:
Fuente de conocimiento. La fuente de conocimiento es un componente que se añade
a la solución del problema. Puede ser cualquier cosa que se lee de un cierto nivel de
pizarra, y propone una modificación a los componentes de la pizarra.

Pizarra. Es la estructura de datos común de las fuentes de conocimiento. Es capaz de
representar a todos los estados de algún espacio del problema. Contiene varios
niveles de descripción con respecto al espacio del problema.
Intérprete de comandos de control. Determina que fuente de conocimiento tiene la
oportunidad de cambiar la pizarra. En cada ejecución, identifica los cambios a la
pizarra, activa las fuentes de conocimiento apropiadas, selecciona una de estas y la
ejecuta.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN DATOS
Almacén de datos:
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN DATOS
Almacén de datos:
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:
 Enfatiza la reutilización y la modificabilidad
 Adecuada para sistemas con trasformaciones de datos en pasos sucesivos (cuando
los datos de entrada se transforman en datos de salida mediante una serie de
componentes para el cálculo o la manipulación. )

 Ejemplos: arquitecturas de tuberías y filtros y las de proceso secuencial en lotes
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Tuberías y filtros
 Una tubería (pipeline) es una arquitectura que conecta componentes
computacionales (filtros) a través de los conectores (pipes) y las comunicaciones
se ejecutan como un flujo.
Filtro

Filtro

Filtro

Filtro

Filtro
Filtro

Tuberías

Filtro

Filtro

Filtro

Filtro
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Tuberías y filtros
 Los filtros no necesariamente realizan únicamente tareas de filtrado sino que
ejecutan formas variables de transformación

 Esta diseñado para esperar la entrada de datos con cierta forma y producir su
salida (al siguiente filtro) de una forma específica. (no es necesario que el filtro
conozca el funcionamiento de los filtros vecinos.


La aplicación típica es un procesamiento clásico de datos:

-

El cliente hace un requerimiento
El requerimiento se valida
Un web Service toma el objeto de la base de datos
Este objeto se convierte en html
Se efectúa la representación en pantalla
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Tuberías y filtros
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Tuberías y filtros
Ejemplo: Unix
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Tuberías y filtros
Ejemplo: Compiladores
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Tuberías y filtros
Este estilo se podría usar cuando:
 Se puede especificar la secuencia de un número conocido de pasos
 No se requiere esperar la respuesta asincrónica de cada paso
 Se busca que todos los componentes de abajo sean capaces de inspeccionar y
actuar sobre los datos que vienen de arriba (no viceversa).
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Tuberías y filtros
Ventajas:






Simple de entender e implementar
Facilidad de mantenimiento y mejora
Facilidad de diagnostico
Fuerza un procesamiento secuencial
Ejecución concurrente

Desventajas:





Demasiado simplista
No maneja condicionales, bucles y otras lógicas de control de flujo
No apto para situaciones interactivas
Problemas de rendimiento (los datos se transmiten de forma completa)
DISEÑO DE LA ARQUITECTURA
ARQUITECTURA CENTRADA EN FLUJO DE DATOS:

Estilo secuencial por lotes
En el estilo secuencial por lotes (batch sequential) los componentes son
programas independientes; el supuesto es que cada paso se ejecuta hasta
completarse antes que se inicie el paso siguiente.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS DE LLAMADA Y RETORNO:

Con esta arquitectura se obtiene una estructura de programa que resulta
relativamente fácil de modificar y cambiar de tamaño.
Existen dos subestilos:
Arquitectura de programa principal/subprograma:
Esta estructura de programa clásica separa la función en una jerarquía de
control donde un programa “principal” invoca a varios componentes de
programa, que a su vez pueden invocar a otros componentes.
Arquitectura de llamada a procedimiento remoto:
Los componentes de una arquitectura de programa principal/subprograma se
distribuyen entre varias computadoras de una red.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS DE LLAMADA Y RETORNO:

Arquitectura de programa principal/subprograma:
La programación procedimental precede a la programación orientada a objetos.
La llamada a procedimiento convencional es una llamada en el mismo sistema
en el que se invoca y se llama a un procedimiento local.
 Un procedimiento o función es una estructura de control que proporciona la
abstracción a una acción.
 La acción de una función se invoca a través de una llamada a función.
 Para usar diferentes variables una llamada a función debe tener argumentos
 El valor o referencia de cada argumento se pasa a la función.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS DE LLAMADA Y RETORNO:

Programa
Principal

Subprograma
controlador
Subprograma
de aplicación

Subprograma
controlador
Subprograma Subprograma
de aplicación de aplicación

Subprograma
de aplicación

Subprograma
controlador
Subprograma
de aplicación

Subprograma
de aplicación

Subprograma
de aplicación
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS DE LLAMADA Y RETORNO:

Arquitectura de llamada a procedimiento remoto:
El objetivo de RPC es extender a los sistemas distribuidos el mecanismo de
llamadas a procedimientos y subrutinas de los lenguajes de programación.
RPC está basado en el modelo cliente - servidor
RPC permite que un proceso localizado en una máquina pueda ejecutar código
localizado en otra máquina remota, sin preocuparse por la comunicación entre
ambas.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS DE LLAMADA Y RETORNO:

Arquitectura de llamada a procedimiento remoto:
En el modelo de llamada a procedimiento remoto, un proceso realiza una
llamada a procedimiento de otro proceso que posiblemente este localizado
remotamente.

 Los datos se pasan a través de argumentos.
 Cuando un proceso recibe una llamada, se ejecuta la acción codificada en el
procedimiento.
 Se notifica la finalización de la llamada al proceso que lo invoca
 Si existe un valor de retorno se envía desde el proceso invocado
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS DE LLAMADA Y RETORNO:

Arquitectura de llamada a procedimiento remoto:
En RPC, todos los parámetros que se utilicen en las llamadas han de ser pasados
por valor; y no por referencia, ya que ambos procedimientos se ejecutan en
espacios de memoria diferentes.

Para que estos parámetros puedan ser enviados a través de la red, es necesario
que sean serializables, es decir, convertibles en una corriente de bytes.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS ORIENTADAS A OBJETOS:

Los componentes de un sistema encapsulan los datos y las operaciones que
deben aplicarse para manipular los datos. La comunicación y coordinación entre
los componentes se consigue mediante el paso de mensajes.
Los componentes de este estilo son
los objetos, o más bien instancias de
los tipos de dato abstractos.
Los objetos representan una clase de
componentes llamados managers,
debido a que son responsables de
preservar la integridad de su propia
representación.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS ORIENTADAS A OBJETOS:

• Los componentes del estilo se basan en principios OO: encapsulamiento,
herencia y polimorfismo. Son asimismo las unidades de modelado, diseño e
implementación, y los objetos y sus interacciones son el centro de las
incumbencias en el diseño de la arquitectura y en la estructura de la aplicación.
• Las interfaces están separadas de las implementaciones. En general la
distribución de objetos es transparente, y no importa si los objetos son locales o
remotos.
• Restricciones: una interfaz pueda ser implementada por múltiples clases. Los
componentes y objetos interactúan a través de invocaciones de funciones y
procedimientos.
Hay muchas variantes del estilo; algunos sistemas, por ejemplo, admiten que los
objetos sean tareas concurrentes; otros permiten que los objetos posean
múltiples interfaces.
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS EN CAPAS:

Hay varias capas definidas, cada una de ellas realiza operaciones que se acercan
progresivamente al conjunto de instrucciones de la máquina.
En la capa externa los componentes sirven a las operaciones de interfaz del
usuario.

En la capa interna los componentes sirven como interfaz con el sistema
operativo.
Las capas intermedias proporcionan servicios de utilería y de SW de aplicaciones
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS EN CAPAS:

Módulos

Capa de la
interfaz de
usuario
Capa de la
Aplicación

Capa de
Utilerías
Capa
Centra
l
DISEÑO DE LA ARQUITECTURA
ARQUITECTURAS EN CAPAS:

Ventajas
 Facilita la descomposición del problema en varios niveles de abstracción.
 Soporta fácilmente la evolución del sistema, los cambios sólo afectan a las
capas vecinas
 Se pueden cambiar las implementaciones respetando las interfaces con las
capas adyacentes
Desventajas
 No todos los sistemas pueden estructurarse en capas
 A menudo es difícil encontrar la separación en capas adecuadas

Más contenido relacionado

La actualidad más candente

Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de softwareYaskelly Yedra
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)Marco Antonio Perez Montero
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositóriorehoscript
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwarepaoaboytes
 
Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Shelisse De la Cruz
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Julicamargo
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemaUniversidad Tecnológica
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De NegocioKudos S.A.S
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosAngel Morocho
 
DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSUDEC
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionalesAngel Minga
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)cgviviana
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físicoerrroman
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 

La actualidad más candente (20)

Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)
 
Arquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositórioArquitecturas de pizarra o repositório
Arquitecturas de pizarra o repositório
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De Negocio
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
DESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOSDESARROLLO DE PROTOTIPOS
DESARROLLO DE PROTOTIPOS
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionales
 
Modelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiralModelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiral
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físico
 
UML
UMLUML
UML
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 

Similar a 2 2 estilos arquitectonicos

Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-IntroducciónLuis Fernando Aguas Bucheli
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegueAnálisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegueGianfrancoEduardoBra
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónicoDamián Rotta
 
Capitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webCapitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webgabiar1708
 
Desarrollo De Software Para Internet
Desarrollo De Software Para InternetDesarrollo De Software Para Internet
Desarrollo De Software Para Internetsamgeo
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 

Similar a 2 2 estilos arquitectonicos (20)

Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Diseño
DiseñoDiseño
Diseño
 
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegueAnálisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
 
6t
6t6t
6t
 
Patrones
PatronesPatrones
Patrones
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Sistemas I (II Bimestre)
Sistemas I (II Bimestre)Sistemas I (II Bimestre)
Sistemas I (II Bimestre)
 
Capitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_webCapitulo 3 arquitecturas_de_desarrollo_web
Capitulo 3 arquitecturas_de_desarrollo_web
 
Arquitectura. de Software. en ambientes distribuidos.
Arquitectura. de Software. en ambientes distribuidos.Arquitectura. de Software. en ambientes distribuidos.
Arquitectura. de Software. en ambientes distribuidos.
 
Desarrollo De Software Para Internet
Desarrollo De Software Para InternetDesarrollo De Software Para Internet
Desarrollo De Software Para Internet
 
Unidad 4. diseno del sistema
Unidad 4. diseno del sistemaUnidad 4. diseno del sistema
Unidad 4. diseno del sistema
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 

Más de landeta_p

4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologiaslandeta_p
 
2 diseño de la arquitectura
2 diseño de la arquitectura2 diseño de la arquitectura
2 diseño de la arquitecturalandeta_p
 
1 4 estandares
1 4 estandares1 4 estandares
1 4 estandareslandeta_p
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
1_1 Introduccion
1_1 Introduccion1_1 Introduccion
1_1 Introduccionlandeta_p
 

Más de landeta_p (7)

4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologias
 
3 2 bpm
3 2 bpm3 2 bpm
3 2 bpm
 
3 1 mde mda
3 1 mde mda3 1 mde mda
3 1 mde mda
 
2 diseño de la arquitectura
2 diseño de la arquitectura2 diseño de la arquitectura
2 diseño de la arquitectura
 
1 4 estandares
1 4 estandares1 4 estandares
1 4 estandares
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
1_1 Introduccion
1_1 Introduccion1_1 Introduccion
1_1 Introduccion
 

Último

BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 

Último (20)

BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 

2 2 estilos arquitectonicos

  • 1. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS  Un aspecto muy importante en arquitectura del software son los patrones tanto de diseño como de arquitectura  Los complementan los estilos arquitectónicos  Ambos se preocupan de los stakeholders  Los estilos favorecen al tratamiento estructural, la investigación, la teoría  Los patrones están más cerca del diseño, la práctica, el proceso, el código
  • 2. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS  Un estilo describe una clase de arquitectura o piezas de la misma.  Los estilos se pueden reutilizar en situaciones semejantes en el futuro.  Desde que surgió la arquitectura del software se generalizó la arquitectura cliente – servidor, posteriormente entró en auge las arquitecturas en capas y las basadas en componentes y más recientemente las basadas en recursos y servicios
  • 3. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS Cada estilo describe una categoría de sistemas que incluye 1. Un conjunto de componentes (una base de datos o módulos de computo) que realizan una función requerida por el sistema 2. Un conjunto de conectores que permiten la comunicación, coordinación y cooperación entre los componentes 3. Restricciones que definen como se integran los componentes para formar el sistema 4. Modelos semánticos que permiten que un diseñador entienda las propiedades generales del sistema al analizar las propiedades conocidas de sus partes.
  • 4. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS Cuando definimos una arquitectura, la tipificamos y la distinguimos, pero existen preguntas generales?  Cuáles son las arquitecturas alternativas?  La arquitectura elegida abarca todo un contexto?  La arquitectura elegida es una variante incluida en un conjunto más amplio?  En que magnitud contrasta con las otras alternativas?  Cuántas formas podría adoptar?
  • 5. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS  No solo es cuestión clasificatoria. Optar por una forma arquitectura tiene un valor distintivo.  Los estilos se manifiestan en la arquitectura teórica descriptiva; los partidarios de los estilos se definen como arquitectos.  Los que se agrupan en torno a patrones se confunden con ingenieros o diseñadores, incluso con programadores sistemáticos o analistas de software.  Ambos con mayor o menor grado participan abarcando la Arquitectura del Software.  Los estilos se encuentran en el centro de la arquitectura constituyen su escencia.  Los patrones de arquitectura están claramente dentro de la disciplina, no así los patrones de diseño.
  • 6. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS Se establece que una arquitectura se define mediante la afirmación: Arquitectura del Software = Elementos, Forma y Razón. - Elementos: procesamiento: datos: conexión: Suministra la transformación de los datos Contiene la información a procesar Llamadas a procedimientos, mensajes, etc. - Forma: las propiedades y relaciones entre los elementos. - Razón: motivación para la elección de elementos y sus formas. Por tanto un estilo arquitectónico es una abstracción de tipos de elementos y aspectos formales a partir de arquitecturas específicas.
  • 7. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS  Conjunto de reglas de diseño que identifica las clases de componentes y conectores que se pueden utilizar para componer el sistema o subsistema junto con las restricciones locales o globales de la forma en que la composición se lleva a cabo Componentes: sistemas encapsulados indicando la forma de empaquetado y la forma en que interactúan con otros componentes. Conectores: los procesos interactúan por medio de protocolos de transferencia de mensajes o por flujo de datos, etc.
  • 8. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS  Estilo arquitectónico es una descripción del patrón de los datos y la interacción de control entre los componentes, ligada a una descripción informal de los beneficios e inconvenientes del uso del estilo.  Los estilos son entidades que ocurren en un nivel sumamente abstracto y puramente arquitectónico.
  • 9. DISEÑO DE LA ARQUITECTURA ESTILOS ARQUITECTONICOS Catalogo de estilos:  Arquitectura centrada en datos (arquitecturas de pizarra, Data Warehouse)  Arquitectura de flujo de datos (Tuberías y filtros, proceso secuencial en lotes)  Arquitecturas de llamada y retorno (llamadas a procedimientos remotos, Modelo Vista Controlador)  Arquitecturas orientadas a objetos  Arquitecturas orientadas a aspecto  Arquitecturas orientadas a servicios (SOA)  Arquitecturas estratificadas
  • 10. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN DATOS Se fundamenta en el almacenamiento de datos (archivos o bases de datos) al que acceden otros componentes que realizan acciones sobre la los datos. El cliente accede al repositorio central. Repositorio pasivo: El software cliente accede a los datos independientemente de los cambios de los datos o de las acciones del software de otro cliente. Repositorio pizarrón: el repositorio envía notificaciones a los clientes cuando los datos de su interés cambian, siendo por tanto un ente activo.
  • 11. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN DATOS Arquitectura en pizarra: Imagine un número de estudiantes que están escribiendo en la pizarra al mismo tiempo tratando de resolver un problema. Y si le añadimos un maestro que primero le pide a cada estudiante lo que quiere escribir en la pizarra y decide qué estudiante tiene la mejor idea. Y cuando el estudiante haya terminado, el proceso se repite. Esta es la idea detrás de la arquitectura en pizarra. Los estudiantes se llaman fuentes de conocimiento. El profesor se denomina “intérprete de comandos de control” En la Arquitectura en Pizarra varios subsistemas especializados pueden reunir sus conocimientos para construir una posible solución parcial o aproximada.
  • 12. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN DATOS Arquitectura en pizarra: La idea detrás de la Arquitectura de Pizarra es una colección de programas independientes que trabajan conjuntamente en una estructura de datos común. Cada programa especializado trabaja para la solución de una parte específica de la tarea general, y todos los programas trabajan juntos en la solución total.
  • 13. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN DATOS Arquitectura en pizarra: Fuente de conocimiento. La fuente de conocimiento es un componente que se añade a la solución del problema. Puede ser cualquier cosa que se lee de un cierto nivel de pizarra, y propone una modificación a los componentes de la pizarra. Pizarra. Es la estructura de datos común de las fuentes de conocimiento. Es capaz de representar a todos los estados de algún espacio del problema. Contiene varios niveles de descripción con respecto al espacio del problema. Intérprete de comandos de control. Determina que fuente de conocimiento tiene la oportunidad de cambiar la pizarra. En cada ejecución, identifica los cambios a la pizarra, activa las fuentes de conocimiento apropiadas, selecciona una de estas y la ejecuta.
  • 14. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN DATOS Almacén de datos:
  • 15. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN DATOS Almacén de datos:
  • 16. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS:  Enfatiza la reutilización y la modificabilidad  Adecuada para sistemas con trasformaciones de datos en pasos sucesivos (cuando los datos de entrada se transforman en datos de salida mediante una serie de componentes para el cálculo o la manipulación. )  Ejemplos: arquitecturas de tuberías y filtros y las de proceso secuencial en lotes
  • 17. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Tuberías y filtros  Una tubería (pipeline) es una arquitectura que conecta componentes computacionales (filtros) a través de los conectores (pipes) y las comunicaciones se ejecutan como un flujo. Filtro Filtro Filtro Filtro Filtro Filtro Tuberías Filtro Filtro Filtro Filtro
  • 18. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Tuberías y filtros  Los filtros no necesariamente realizan únicamente tareas de filtrado sino que ejecutan formas variables de transformación  Esta diseñado para esperar la entrada de datos con cierta forma y producir su salida (al siguiente filtro) de una forma específica. (no es necesario que el filtro conozca el funcionamiento de los filtros vecinos.  La aplicación típica es un procesamiento clásico de datos: - El cliente hace un requerimiento El requerimiento se valida Un web Service toma el objeto de la base de datos Este objeto se convierte en html Se efectúa la representación en pantalla
  • 19. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Tuberías y filtros
  • 20. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Tuberías y filtros Ejemplo: Unix
  • 21. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Tuberías y filtros Ejemplo: Compiladores
  • 22. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Tuberías y filtros Este estilo se podría usar cuando:  Se puede especificar la secuencia de un número conocido de pasos  No se requiere esperar la respuesta asincrónica de cada paso  Se busca que todos los componentes de abajo sean capaces de inspeccionar y actuar sobre los datos que vienen de arriba (no viceversa).
  • 23. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Tuberías y filtros Ventajas:      Simple de entender e implementar Facilidad de mantenimiento y mejora Facilidad de diagnostico Fuerza un procesamiento secuencial Ejecución concurrente Desventajas:     Demasiado simplista No maneja condicionales, bucles y otras lógicas de control de flujo No apto para situaciones interactivas Problemas de rendimiento (los datos se transmiten de forma completa)
  • 24. DISEÑO DE LA ARQUITECTURA ARQUITECTURA CENTRADA EN FLUJO DE DATOS: Estilo secuencial por lotes En el estilo secuencial por lotes (batch sequential) los componentes son programas independientes; el supuesto es que cada paso se ejecuta hasta completarse antes que se inicie el paso siguiente.
  • 25. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS DE LLAMADA Y RETORNO: Con esta arquitectura se obtiene una estructura de programa que resulta relativamente fácil de modificar y cambiar de tamaño. Existen dos subestilos: Arquitectura de programa principal/subprograma: Esta estructura de programa clásica separa la función en una jerarquía de control donde un programa “principal” invoca a varios componentes de programa, que a su vez pueden invocar a otros componentes. Arquitectura de llamada a procedimiento remoto: Los componentes de una arquitectura de programa principal/subprograma se distribuyen entre varias computadoras de una red.
  • 26. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS DE LLAMADA Y RETORNO: Arquitectura de programa principal/subprograma: La programación procedimental precede a la programación orientada a objetos. La llamada a procedimiento convencional es una llamada en el mismo sistema en el que se invoca y se llama a un procedimiento local.  Un procedimiento o función es una estructura de control que proporciona la abstracción a una acción.  La acción de una función se invoca a través de una llamada a función.  Para usar diferentes variables una llamada a función debe tener argumentos  El valor o referencia de cada argumento se pasa a la función.
  • 27. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS DE LLAMADA Y RETORNO: Programa Principal Subprograma controlador Subprograma de aplicación Subprograma controlador Subprograma Subprograma de aplicación de aplicación Subprograma de aplicación Subprograma controlador Subprograma de aplicación Subprograma de aplicación Subprograma de aplicación
  • 28. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS DE LLAMADA Y RETORNO: Arquitectura de llamada a procedimiento remoto: El objetivo de RPC es extender a los sistemas distribuidos el mecanismo de llamadas a procedimientos y subrutinas de los lenguajes de programación. RPC está basado en el modelo cliente - servidor RPC permite que un proceso localizado en una máquina pueda ejecutar código localizado en otra máquina remota, sin preocuparse por la comunicación entre ambas.
  • 29. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS DE LLAMADA Y RETORNO: Arquitectura de llamada a procedimiento remoto: En el modelo de llamada a procedimiento remoto, un proceso realiza una llamada a procedimiento de otro proceso que posiblemente este localizado remotamente.  Los datos se pasan a través de argumentos.  Cuando un proceso recibe una llamada, se ejecuta la acción codificada en el procedimiento.  Se notifica la finalización de la llamada al proceso que lo invoca  Si existe un valor de retorno se envía desde el proceso invocado
  • 30. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS DE LLAMADA Y RETORNO: Arquitectura de llamada a procedimiento remoto: En RPC, todos los parámetros que se utilicen en las llamadas han de ser pasados por valor; y no por referencia, ya que ambos procedimientos se ejecutan en espacios de memoria diferentes. Para que estos parámetros puedan ser enviados a través de la red, es necesario que sean serializables, es decir, convertibles en una corriente de bytes.
  • 31. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS ORIENTADAS A OBJETOS: Los componentes de un sistema encapsulan los datos y las operaciones que deben aplicarse para manipular los datos. La comunicación y coordinación entre los componentes se consigue mediante el paso de mensajes. Los componentes de este estilo son los objetos, o más bien instancias de los tipos de dato abstractos. Los objetos representan una clase de componentes llamados managers, debido a que son responsables de preservar la integridad de su propia representación.
  • 32. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS ORIENTADAS A OBJETOS: • Los componentes del estilo se basan en principios OO: encapsulamiento, herencia y polimorfismo. Son asimismo las unidades de modelado, diseño e implementación, y los objetos y sus interacciones son el centro de las incumbencias en el diseño de la arquitectura y en la estructura de la aplicación. • Las interfaces están separadas de las implementaciones. En general la distribución de objetos es transparente, y no importa si los objetos son locales o remotos. • Restricciones: una interfaz pueda ser implementada por múltiples clases. Los componentes y objetos interactúan a través de invocaciones de funciones y procedimientos. Hay muchas variantes del estilo; algunos sistemas, por ejemplo, admiten que los objetos sean tareas concurrentes; otros permiten que los objetos posean múltiples interfaces.
  • 33. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS EN CAPAS: Hay varias capas definidas, cada una de ellas realiza operaciones que se acercan progresivamente al conjunto de instrucciones de la máquina. En la capa externa los componentes sirven a las operaciones de interfaz del usuario. En la capa interna los componentes sirven como interfaz con el sistema operativo. Las capas intermedias proporcionan servicios de utilería y de SW de aplicaciones
  • 34. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS EN CAPAS: Módulos Capa de la interfaz de usuario Capa de la Aplicación Capa de Utilerías Capa Centra l
  • 35. DISEÑO DE LA ARQUITECTURA ARQUITECTURAS EN CAPAS: Ventajas  Facilita la descomposición del problema en varios niveles de abstracción.  Soporta fácilmente la evolución del sistema, los cambios sólo afectan a las capas vecinas  Se pueden cambiar las implementaciones respetando las interfaces con las capas adyacentes Desventajas  No todos los sistemas pueden estructurarse en capas  A menudo es difícil encontrar la separación en capas adecuadas