Академический Документы
Профессиональный Документы
Культура Документы
(Estilos Arquitectnicos)
Diseo Arquitectnico
Arquitectura del Software
Diseo Arquitectnico
Estilos
Arquitectnicos
Frameworks (Marcos)
Patrones de Diseo
Bibliotecas / Componentes
Clases / Funciones
2
Diseo Arquitectnico
Estilos Arquitectnicos
Deconstructivismo
Art Deco
4
Estilos Arquitectnicos
Los ingenieros civiles, cuando tienen que construir un puente generalmente seleccionan un tipo de puente determinado que se adapte a las necesidades del contexto y del problema a resolver...
5
Estilos Arquitectnicos
Un estilo arquitectnico define una familia de sistemas (cierto tipo de sistemas) en trminos de patrones estructurales, de control, de comunicacin, etctera La arquitectura de un sistema de software puede basarse en uno (o en varios) modelos o estilos arquitectnicos bien conocidos
Fuente: Sommerville (Cap 11)
6
Estilos Arquitectnicos
Estilos Arquitectnicos
Para todas las arquitecturas (estilos arquitectnicos) mostrados a continuacin es necesario preguntarse:
Mantenibilidad
Facilidad de Prueba
Portabilidad
Disponibilidad
Reusabilidad
Escalabilidad
Modificabilidad
Extensibilidad
otras...
Estilos Arquitectnicos Una arquitectura monoltica describe una aplicacin en la que toda la funcionalidad del sistema (ej. acceso a datos, interfaz de usuario, lgica, etctera) est implementada y mezclada en una sola capa. Esto, en la gran mayora de los casos, no es una buena idea... Por qu?
Tip: Recuerdan el ejemplo del sistema de empaquetamiento de Sommerville y la discusin subsecuente?
Fuente: http://en.wikipedia.org/wiki/Monolithic_application
Repositorio
(Base de Datos, Sistema de Archivos, Memoria Compartida, etctera)
Aplicacin / Modulo 4
...
Aplicacin / Modulo N
Repositorio / Pizarron
11
Red
Cliente 2
Servidor 1
...
...
Cliente N
Servidor N
Cliente Servidor
12
Liviano: Lgica de la Aplicacin solamente del lado del servidor Pesado: Lgica de la Aplicacin parcial o totalmente del lado del cliente
13
14
15
Filtro 1
Filtro 4
Filtro 5
Filtro 2
Tuberas y Filtros
16
Tuberas y Filtros
17
Tuberas y Filtros
18
Interfaz
Capa 2
...
Capa N
19
Arquitectura (Ejemplo)
Capa de Presentacin (Interfaz Grfica de Usuario) (HTML, Swing, Qt, GTK, etctera)
Capa de Persistencia
BD
Servlets
CledaTags
Navegador WEB
Hibernate
Documentos
JDBC
BD
CledaCore
22
23
Programa Principal
Rutina 1
Rutina 2
Rutina 3
Rutina 1.1
Rutina 1.2
Rutina 2.1
Rutina 2.1
Rutina 3.1
Rutina 3.2
Control Centralizado
24
Control Centralizado
25
Subsistema 1
Subsistema 2
...
Subsistema N
Manejador de Eventos
El manejador de eventos se encarga de enviar los eventos generados a aquellos sistemas interesados en recibirlos
26
Programa a Interpretar
Hardware Simulado (CPU, dispositivos, etc) Mquina Virtual Hardware Real (CPU, dispositivos, memoria, etc)
27
28
29
+
Unix JVM Linux JVM Windows JVM Mac JVM Java Runtime
Nodo 1
Nodo 2
Nodo N
Red (Bus software) El nodo cliente utiliza (de forma transparente) los objetos que existe y estn corriendo en los dems nodos
Nodo Cliente
33
P4
P3
P9
P8
Cada uno de los pares descubre a sus otros pares y establecen conexiones al mismo nivel (no de forma jerrquica) cooperando para lograr un objetivo determinado
34
P3
P9
P8
Cada uno de los pares descubre a sus otros pares y establecen conexiones al mismo nivel (no de forma jerrquica) cooperando para lograr un objetivo determinado
35
Fuente: http://en.wikipedia.org/wiki/Plugin
36
Una estrategia basada en plugins hace que un sistema pueda ser fcilmente extendido y complementado por terceras partes
37
38
Estilos Arquitectnicos (Arquitecturas de Referencia) Normalmente se obtienen por medio del estudio de una clase de aplicacin (de un dominio en particular) Representan una arquitectura ideal que incluye todas las caractersticas que cierto tipo (clase) de sistema podra incorporar
39
Lecturas Recomendadas
Sommerville, Ingeniera del Software, Captulos 11, 12 y 13 (En ese orden de prioridades) Pressman, Ingeniera del Software, Captulo 10 Mary Shaw, David Garlan, Software Architecture Perspectives on an Emerging Discipline (Est en la biblioteca)
http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)
Patrones Arquitectnicos
40
Gracias
Gracias!
41