Patrones Arquitectónicos de Software

Documentos relacionados
Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

Estilos Arquitectónicos

Introducción a los patrones de Software

Estilos Arquitectónicos

DISEÑO ARQUITECTURA DEL SOFTWARE

El patrón de arquitectura n-capas con orientación al dominio como solución en el diseño de aplicaciones empresariales. Tecnología y Desarrollo RESUMEN

M. C. Felipe Santiago Espinosa

Diseño arquitectónico 1ª edición (2002)

octubre de 2007 Arquitectura de Software

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

Tipos de Diseño. Ing. Elizabeth Guerrero V.

TablOVA: Herramienta generadora de OVA para las consultas SQL

Arquitectura de Software

2.5 DISEÑO ARQUITECTONICO

Patrones. Maestría en Ingeniería de Software

Arquitecturas de Software

ARQUITECTURAS DE SOFTWARE

Arquitectura de Software III: Elaboración. Contenido del curso. III: Elaboración

1 Software de una computadora 2 Sistemas operativos 3 Manejo avanzado y programación en ms-dos 4 Lenguajes de programación

MVC. Modelo Vista - Controlador

Ingeniería de Software Arquitectura y Diseño [2]

Modelo de Desarrollo en Capas para VB. NET

Arquitectura de Proyectos en IT

Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1. Historia de revisiones

Metodologías para Sistemas Multi-agente

Metodología Métrica v. 3.0

SISTEMAS DE INFORMACIÓN II TEORÍA

Planeador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software

Sistemas Distribuidos

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor

Ingeniería de Sistemas. Objetivos. Que es un Sistema? Tópicos. Ingeniería de Software y Sistemas. Problemas con la Ingeniería de Sistemas

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

Capítulo III: MARCO METODOLÓGICO

Arquitectura Software. Laura M. Castro D4.15

PATRONES DE DISEÑO FRAMEWORKS

Tema 1: Patrones Arquitectónicos

Guía del Curso Analista Programador Java: Business Apps Expert

Curso: Diseño Orientado a Objetos Patrones de Diseño

Pattern Oriented Software Architecture. Whole-Part. Jamir Antonio Avila Mojica César Julio Bustacara Medina. Patrones de Software

Intuitivamente es el proceso que se trata de formular y evaluar una solución para un problema dado

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS

Ingeniería Informática

METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS

Tema 1: Introducción al vídeo IP 1.1. Qué es un sistema de CCTV? Componentes de un sistema de CCTV clásico 1.2. Qué es el vídeo IP?

Estilos Arquitectónicos

Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise

Sistemas de Información Gerencial

Tema I: Introducción a las bases de datos. Curso Introducción a las bases de datos.

Conceptos y Estructuras de Sistemas Operativos

Introducción al aprendizaje automático Arquitectura de agente que aprende. Aprendizaje Automático TC3020

3.4 MODELADO DEL SISTEMA

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

BASES DE DATOS DISTRIBUIDAS

Maestría en Ingeniería

IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNO INTERNET, INTRANET Y EXTRANET

CARRERA DE INGENIERIA DE SISTEMAS

Sistemas Operativos. Introducción. Tema 6

Clase 2: Arquitectura de Software

Arquitectura de Software: Estilos y Patrones

Arquitectura de Aplicaciones Empresariales. Lic. Esteban Cesar Calabria 2007

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software

Big Data Analytics & IBM BIG INSIGHT

Diseño Estructurado. Diseños eran los antes. Lic. Ariel Trellini 28/07/2015

Introducción a la Programación en C

Comunicación a través de la red

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño.

Comunicación a través de la red

Postgrado en Redes Locales: Instalación y Monitorización

ASI. Análisis del Sistema de Información

PROYECTO DOCENTE ASIGNATURA: "Desarrollo de Aplicaciones Distribuidas"

Introducción a los Sistemas Operativos y Redes. Clase 2: Topologías de Redes

Taller de Sistemas de Información 1. Clase 2 Sistemas de información Arquitectura

Aspectos Generales de la Interacción Humano Computador(IHC)

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

INTRODUCCION AL DISEÑO EDUCATIVO Andrea Paola Leal Rivero. La Academia al servicio de la Vida

Tema 1: Introducción a J2EE

1. Cuál es el objetivo del Estudio de Viabilidad del Sistema? garantice la viabilidad del sistema. b. Un marco. alternativas. actual.

Bases de datos 1. Teórico: Introducción

GRADO EN INGENIERÍA DE TECNOLOGÍAS DE TELECOMUNICACIÓN Primer curso Segundo curso Tercer curso Cuarto curso 1-C 2-C 1-C 2-C 1-C 2-C 1-C 2-C

Aplica para todas las sedes de la Universidad de Santander.

Transcripción:

Jaime Eduardo Arias Almeida Néstor Raúl Cárdenas Pinzón Pontificia Universidad Javeriana - Cali Marzo 18 de 2010

Tabla de Contenido 1 Definición Consideraciones 2 Layers Pipes and Filters Blackboard 3 Broker 4 Model-View-Controller Presentation-Abstration-Control 5 Microkernel Reflection

Definición Consideraciones Especificación de la estructura fundamental de una aplicación Referencia a una propiedad específica global del sistema Conjunto de subsistemas con responsabilidades y relaciones entre si

Consideraciones Definición Consideraciones La selección de un patrón arquitectónico debe estar basada en las propiedades generales de la aplicación y los requerimientos no funcionales Es util explorar diferentes alternativas antes de decidir un patrón arquitectónico específico Muchos sistemas no pueden ser estructurados de acuerdo a un unico patrón arquitectónico, por lo cual se hace necesaria la combinación de diferentes patrones La selección de un patrón arquitectónico es solo el primer paso en el diseño de la arquitectura de un sistema de software

Layers Pipes and Filters Blackboard Evita la creación innecesaria de componentes u objetos. Realiza la descomposición controlada de tareas globales en subtareas que cooperan entre si Algunos Pasos Definición correcta de los requerimientos Definición de la arquitectura en un alto nivel División del sistema en bloques

Layers Layers Pipes and Filters Blackboard Describen el principio más generalizado de la subdivisión de la arquitectura Estructura aplicaciones que pueden descomponerse en grupos de subtareas. Cada grupo de subtareas está en un nivel particular de abstracción

Pipes and Filters Layers Pipes and Filters Blackboard Es el menos utilizado Provee una estructura para sistemas que procesan un flujo de datos Cada paso del proceso se encapsula en un componente denominado filter Los datos se pasan a tráves de pipes entre filters adyacentes La combinacion de filters y pipes permite la contrucción de sistemas relacionados

Blackboard Layers Pipes and Filters Blackboard Utilizado en la comunidad de inteligencia artificial Util para problemas con una solución no determinista Algunos subsistemas especializados reunen sus responsabilidades para construir una posible solución parcial o aproximada

Broker Completa infraestructura para aplicaciones distribuidas Los patrones Pipes and Filters y Microkernel utilizan secundariamente este patrón Ventajas Económico Escalabilidad y rendimiento Fiabilidad Desventajas Los sistemas distribuidos necesitan radicalmente software diferente al de los sistemas centralizados

Broker Broker Estructura software de sistemas distribuidos con componentes desacoplados que interactuan por invocaciones de servicio remoto Un componente broken es responsable de coordinar las comunicaciones(solicitud de reenvio, transmisión de resultados y excepciones)

Model-View-Controller Presentation-Abstration-Control Soporta la estructuración de sistemas de software con interacción Humano - Computador Modificaciones en la GUI sin interferir con la funcionalidad Estándares diferentes, especificaciones del cliente, metáforas look and feel,características del negocio

Model-View-Controller Model-View-Controller Presentation-Abstration-Control La misma información presentada de manera diferente Muestra los cambios inmediatamente tanto en la interface como en en el funcionamiento Cambios fáciles en tiempo real Soporta diferentes estándares de look and feel Model Contenido, funcionalidad y datos Es independiente de la representación de los datos de salida y del comportamiento de los datos de entrada Provee funciones para que cada View extraiga datos

Model-View-Controller Model-View-Controller Presentation-Abstration-Control View Muestra informción al usuario Obtiene los datos del Model Pueden existir varios View para un Model Cada View tiene un Controller asociado Controller Maneja el ingreso de datos por parte del usuario Garantiza la consistencia entre la interface y el modelo

Presentation-Abstration-Control Model-View-Controller Presentation-Abstration-Control No es tan usado como el Model-View-Controller pero es útil en aplicaciones con subsistemas independientes Jerarquía de agente cooperativos Tareas específicas de funcionalidad Separa la interacción humano-computador de funcionalidad y otros agentes.

Presentation-Abstration-Control Model-View-Controller Presentation-Abstration-Control Presentación Comportamiento visual del agente Abstracción Mantiene los datos del modelo y provee operaciones de funcionalidad Control Conecta la presentación y la abstacción de cada agente Realiza la comunicación con otros agentes

Microkernel Reflection Soporta la extensión de aplicaciones y su adaptación a nuevas tecnologías Soporta el cambio de los requerimientos funcionales Diferentes versiones de sistema operativo GUI Estándares de plataformas hardware

Microkernel Microkernel Reflection Separa la funcionalidad básica del sistema de las funcionalidades externas y especificaciones del cliente Servidor externo. Comunicación con cliente Adaptador Servidor interno. Comunicación con el microkernel

Reflection Microkernel Reflection Provee un mecanismo para cambiar estructura y comportamiento del sistema dinámicamente. Meta Nivel Da al SW conocimiento de su estructura y comportamiento Compuesto por Meta objetos con estructuras, tipo, algoritmos y llamado de funciones. Base Nivel Define aplicaciones lógicas y utiliza a los Meta objetos para mantener la independencia de los aspectos que pueden cambiar Los niveles Base se comunican a través de Meta objetos, los cuales tienen funcionalidades independientes del código base

Referencias Microkernel Reflection Pattern-Oriented Software Architecture BUSCHMANN, Frank; MEUNIER, Regine; ROHNERT, Hans; SOMMERLAD, Peter; STAL, Michael. Pattern-Oriented Software Architecture. England: John Willey and Sons Ltd. (1996). Vol 1. p. 25-220