SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
María Eugenia Valencia
Dpto. Ciencias de la Computación
Arquitectura multicapas orientadas a objetos
Descomposición de la capa de la lógica de aplicaciones:
• Objetos del dominio.
• Servicios.
Presentación TPDVApplet
Lógica de
aplicaciones
Pago
Interfaz de la
Base de datos
Venta
Generador de
reportes
Conceptos del
dominio
Servicios
Almacenamiento Base de Datos
María Eugenia Valencia
Dpto. Ciencias de la Computación
Motivos para usar arquitectura multicapas
• Aislamiento de la lógica de aplicaciones en componentes
independientes susceptibles de reutilizarse después en
otros sistemas.
• Distribución de las capas en varios nodos físicos de
computo y en varios procesos. Esto puede mejorar el
desempeño, la coordinación y el compartir la
información
en un sistema de cliente-servidor.
María Eugenia Valencia
Dpto. Ciencias de la Computación
• Asignación de los dise;adores para que construyan
determinadas capas; por ejemplo, un equipo que trabaje
exclusivamente en la capa de presentación. Y así se
brinda soporte a los conocimientos especializados en las
habilidades de desarrollo y también a la capacidad de
realizar actividades simultaneas en equipo.
Motivos para usar arquitectura multicapas
María Eugenia Valencia
Dpto. Ciencias de la Computación
Representación de la Arquitectura con
Paquetes UML
Paquetes en UML Diagrama de paquetes de la
arquitectura
Conceptos de dominio
VentasElementos básicos
Almacenamiento Base de datos
Presentación
Presentación
Lógica de
aplicaciones
Dominio
Servicios
María Eugenia Valencia
Dpto. Ciencias de la Computación
Ejemplo de paquetes y de dependencias
Capa de servicios
de alto nivel
orientada a
objetos
Capa de servicios
de bajo nivel
(orientados a
objetos y no
orientados a
objetos)
Reportes
Presentación1
Dominio
Interfaz de base
de datos relacional Comunicación
Interfaz de base
de datos orientada
a objetos
Esquemas de aplicaciones
y bibliotecas de soportes2
Base de datos
relacional
Base de datos
orientada a objetos
Ejemplos:
1. Applets de Java,
documentos y vistas MFC
VisualParts de VisualAge
2.JDK, MFC,STL
María Eugenia Valencia
Dpto. Ciencias de la Computación
Identificación de los Paquetes
Agrupe los elementos en 1 paquete así:
Agrupe los elementos para ofrecer en un paquete un
servicio común (o una familia de servicios relacionados),
con un nivel relativamente alto de acoplamiento y
colaboración.
En cierto nivel de abstracción, se vera el paquete como
muy cohesivo (tiene responsabilidades estrechamente
relacionadas).
En cambio, habrá relativamente bajo acoplamiento y
colaboración entre los elementos de diferentes paquetes.
María Eugenia Valencia
Dpto. Ciencias de la Computación
Estratos y particiones
Dominio
Elementos básicos Ventas Productos
Servicios
Interfaz de base
de datos relacional
Comunicación
Interfaz de base
de datos orientada
a objetos
Reportes
Estratos verticales
Particiones horizontales
María Eugenia Valencia
Dpto. Ciencias de la Computación
Visibilidad entre las clases de paquetes
La visibilidad a las clases en diferentes paquetes conforman
típicamente el siguiente patrón:
• Acceso a los paquetes del dominio. • Acceso a los paquetes de servicios.
• Acceso a los paquetes de presentación.
Dominio
Visibilidad de muchas clases
a partir de otros paquetes.
Venta Pago Catalogo de
productos
Descripción de
Producto
...
...
...
...
...
...
...
...
Interfaz de BDR
Visibilidad de una o de unas cuantas
clases en cada paquete de servicios.
FachadaBD Broker Proxy
...
...
Seguridad
Fachada de
seguridad
Usuario
...
...
obtener(id)
Objeto
guardar(Objeto)
...
agregarUsuario
(usuario)...
... ...
María Eugenia Valencia
Dpto. Ciencias de la Computación
Interfaz de los paquetes de servicios:
El patrón fachada
Fachada
Contexto/problema
Se requiere una interfaz común y unificada para un
conjunto heterogéneo de interfaces, un subsistema por
ejemplo. ¿Qué hacer?
Solución
Definir una clase individual que unifique la interfaz y le
asigne la responsabilidad de colaborar con el subsistema.
María Eugenia Valencia
Dpto. Ciencias de la Computación
Sin visibilidad directa respecto a la ventanas:
el patrón de Separación Modelo-Vista
Separación Modelo-Vista
Contexto/problema
Conviene desacoplar los objetos dominio (modelos) y las
ventanas (vistas), a fin de brindar soporte a un mayor reuso
de los objetos dominio y reducir al mínimo el impacto que los
cambios de la interfaz tienen en ellos. ¿Qué hacer?
Solución
Definir las clases de dominio (modelo) para que no
tengan acoplamiento ni visibilidad directa respecto a la
clases ventana (vista) y para que los datos de la
aplicación y de la funcionalidad se conserven en las
clases de dominio, no en las de ventana.
María Eugenia Valencia
Dpto. Ciencias de la Computación
Comparación entre la conformidad y la violación
del patrón Separación Modelo-Vista
Capa de presentación (vista)
:TPDV
1:introducirProducto(cup,cant)
Bien.
Mensajes de la capa de vista a la de
presentación. Soporta la separacion
modelo-vista
Capa de dominio (modelo)
:TPDV
1:presentarMensaje(mens)
Mal.
No es conveniente enviar mensajes ni
realizar el acoplamiento de la capa de
modelo a la de vista.
María Eugenia Valencia
Dpto. Ciencias de la Computación
La comunicación indirecta en un sistema
El patrón Publicar-Suscribir
Publicar-Suscribir
Contexto/problema
Un cambio de estado (un evento) ocurre dentro de un
editor del evento y otros objetos dependen de él
(suscriptores del evento). Pero el Editor no debería
tener conocimiento de sus Suscriptores.¿Qué hacer?
Solución
Defina un sistema de notificación de eventos para que el
Editor pueda notificarlos indirectamente a los
Suscriptores.
María Eugenia Valencia
Dpto. Ciencias de la Computación
Publicar-Suscribir con notificación de los
eventos
v:ventanadeVenta :AdministradordeEventos
crear( ) 1:suscribir(v,unMensaje,”nuevo impuesto”
Un “mensaje” o
“Metodo” del objeto
:Venta :AdministradordeEventos
ajustarImpuesto( ) 1:Eventose;al(“nuevo impuesto”)
v:VentanadeVenta
1.1:unMensaje()
María Eugenia Valencia
Dpto. Ciencias de la Computación
Coordinadores de las aplicaciones
Es una clase que tiene la responsabilidad de mediar entre
la capa de interfaz y la del dominio.
Oprime botón
Cajero
:Vistade Venta
:DocumentodeVenta
:TPDV :Venta
alIntroducirProducto()
“asociacion”
1:introducirProducto(cup,cant)
“asociacion”
1.1:introducirProducto(cup,cant)
Presentación
Coordinador de
aplicaciones
Dominio
“asociacion”
“asociacion”
“asociacion”
María Eugenia Valencia
Dpto. Ciencias de la Computación
Coordinadores de las aplicaciones (cont.)
Oprime botón
Cajero
:EsquemadeVentas
:CoordinadordeTPDV
:TPDV
alIntroducirProducto()
“asociacion”
1:introducirProducto(cup,cant)
“asociacion”
1.1:introducirProducto(cup,cant)
Presentación
Coordinador de
aplicaciones
Dominio
Subclase del esquema
(Frame) de java.
Creada por el coordinador TPDV
Envia eventos al coordinador de
aplicaciones, que a su vez puede
enviarlos al controlador de la capa
de dominio (TPDV, por ejemplo).
El coordinador de aplicaciones
de Java que crea las ventanas
(por ejemplo, los objetos Frame
y Dialog) y que media entre la
capa de ventanas y la de dominio

Más contenido relacionado

La actualidad más candente

Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .NetJorge Ercoli
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layersMatias Yima
 
PROGRAMACION POR CAPAS-UNT
PROGRAMACION POR CAPAS-UNTPROGRAMACION POR CAPAS-UNT
PROGRAMACION POR CAPAS-UNTNew Break Crew
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capasKevin Barja
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en CapasHelenSaravia
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capas03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capasWalter Moo Guzmán
 
Aplicaciones Distribuídas
Aplicaciones DistribuídasAplicaciones Distribuídas
Aplicaciones DistribuídasJavierialv
 
comunicacion de sistemas distribuidos
comunicacion de sistemas distribuidoscomunicacion de sistemas distribuidos
comunicacion de sistemas distribuidoscarlosrolo
 
Arquitectura Multinivel
Arquitectura MultinivelArquitectura Multinivel
Arquitectura Multinivelurumisama
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasanibalsmit
 

La actualidad más candente (19)

Programacion por capas
Programacion por capasProgramacion por capas
Programacion por capas
 
Clase002
Clase002Clase002
Clase002
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .Net
 
Programando en capas
Programando en capasProgramando en capas
Programando en capas
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layers
 
PROGRAMACION POR CAPAS-UNT
PROGRAMACION POR CAPAS-UNTPROGRAMACION POR CAPAS-UNT
PROGRAMACION POR CAPAS-UNT
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
Patron de Arquitectura Broker
Patron de Arquitectura BrokerPatron de Arquitectura Broker
Patron de Arquitectura Broker
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capas
 
Arquitectura en capas
Arquitectura en capasArquitectura en capas
Arquitectura en capas
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en Capas
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capas03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capas
 
Aplicaciones Distribuídas
Aplicaciones DistribuídasAplicaciones Distribuídas
Aplicaciones Distribuídas
 
Laboratorio iii
Laboratorio iiiLaboratorio iii
Laboratorio iii
 
comunicacion de sistemas distribuidos
comunicacion de sistemas distribuidoscomunicacion de sistemas distribuidos
comunicacion de sistemas distribuidos
 
Lab Tr5 Multicapa
Lab Tr5 MulticapaLab Tr5 Multicapa
Lab Tr5 Multicapa
 
Arquitectura Multinivel
Arquitectura MultinivelArquitectura Multinivel
Arquitectura Multinivel
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
 

Destacado

Users técnico pc - jpr504 - 15
Users   técnico pc - jpr504 - 15Users   técnico pc - jpr504 - 15
Users técnico pc - jpr504 - 15xavazquez
 
Users técnico pc - jpr504 - 17
Users   técnico pc - jpr504 - 17Users   técnico pc - jpr504 - 17
Users técnico pc - jpr504 - 17xavazquez
 
Autoscan network 94764811-analisis-de-redes
 Autoscan network 94764811-analisis-de-redes Autoscan network 94764811-analisis-de-redes
Autoscan network 94764811-analisis-de-redesxavazquez
 
A1.introduccion
A1.introduccionA1.introduccion
A1.introduccionxavazquez
 
6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivas
6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivas6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivas
6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivasxavazquez
 
Interesante importancia del backup 212025973-documento-guia-de-backup-baja
Interesante importancia del backup 212025973-documento-guia-de-backup-bajaInteresante importancia del backup 212025973-documento-guia-de-backup-baja
Interesante importancia del backup 212025973-documento-guia-de-backup-bajaxavazquez
 
Vip genial powerpoint con ataques basicos 143806649-hacking-etico
Vip genial powerpoint con ataques basicos 143806649-hacking-eticoVip genial powerpoint con ataques basicos 143806649-hacking-etico
Vip genial powerpoint con ataques basicos 143806649-hacking-eticoxavazquez
 
02 seguridad
02   seguridad02   seguridad
02 seguridadxavazquez
 
Users técnico pc - jpr504 - 20
Users   técnico pc - jpr504 - 20Users   técnico pc - jpr504 - 20
Users técnico pc - jpr504 - 20xavazquez
 
Users técnico pc - jpr504 - 19
Users   técnico pc - jpr504 - 19Users   técnico pc - jpr504 - 19
Users técnico pc - jpr504 - 19xavazquez
 
Users técnico pc - jpr504 - 16
Users   técnico pc - jpr504 - 16Users   técnico pc - jpr504 - 16
Users técnico pc - jpr504 - 16xavazquez
 
03 optimizacion
03   optimizacion03   optimizacion
03 optimizacionxavazquez
 
Users técnico pc - jpr504 - 14
Users   técnico pc - jpr504 - 14Users   técnico pc - jpr504 - 14
Users técnico pc - jpr504 - 14xavazquez
 
Servicio tecnico pc
Servicio tecnico pcServicio tecnico pc
Servicio tecnico pcmunivilca
 
04 diagnostico
04   diagnostico04   diagnostico
04 diagnosticoxavazquez
 
Users técnico pc - jpr504 - 13
Users   técnico pc - jpr504 - 13Users   técnico pc - jpr504 - 13
Users técnico pc - jpr504 - 13xavazquez
 

Destacado (16)

Users técnico pc - jpr504 - 15
Users   técnico pc - jpr504 - 15Users   técnico pc - jpr504 - 15
Users técnico pc - jpr504 - 15
 
Users técnico pc - jpr504 - 17
Users   técnico pc - jpr504 - 17Users   técnico pc - jpr504 - 17
Users técnico pc - jpr504 - 17
 
Autoscan network 94764811-analisis-de-redes
 Autoscan network 94764811-analisis-de-redes Autoscan network 94764811-analisis-de-redes
Autoscan network 94764811-analisis-de-redes
 
A1.introduccion
A1.introduccionA1.introduccion
A1.introduccion
 
6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivas
6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivas6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivas
6306548 recomendaciones-para-hacer-una-presentacion-de-diapositivas
 
Interesante importancia del backup 212025973-documento-guia-de-backup-baja
Interesante importancia del backup 212025973-documento-guia-de-backup-bajaInteresante importancia del backup 212025973-documento-guia-de-backup-baja
Interesante importancia del backup 212025973-documento-guia-de-backup-baja
 
Vip genial powerpoint con ataques basicos 143806649-hacking-etico
Vip genial powerpoint con ataques basicos 143806649-hacking-eticoVip genial powerpoint con ataques basicos 143806649-hacking-etico
Vip genial powerpoint con ataques basicos 143806649-hacking-etico
 
02 seguridad
02   seguridad02   seguridad
02 seguridad
 
Users técnico pc - jpr504 - 20
Users   técnico pc - jpr504 - 20Users   técnico pc - jpr504 - 20
Users técnico pc - jpr504 - 20
 
Users técnico pc - jpr504 - 19
Users   técnico pc - jpr504 - 19Users   técnico pc - jpr504 - 19
Users técnico pc - jpr504 - 19
 
Users técnico pc - jpr504 - 16
Users   técnico pc - jpr504 - 16Users   técnico pc - jpr504 - 16
Users técnico pc - jpr504 - 16
 
03 optimizacion
03   optimizacion03   optimizacion
03 optimizacion
 
Users técnico pc - jpr504 - 14
Users   técnico pc - jpr504 - 14Users   técnico pc - jpr504 - 14
Users técnico pc - jpr504 - 14
 
Servicio tecnico pc
Servicio tecnico pcServicio tecnico pc
Servicio tecnico pc
 
04 diagnostico
04   diagnostico04   diagnostico
04 diagnostico
 
Users técnico pc - jpr504 - 13
Users   técnico pc - jpr504 - 13Users   técnico pc - jpr504 - 13
Users técnico pc - jpr504 - 13
 

Similar a Arquitec a13

Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Avanet
 
Programacion por capas
Programacion por capasProgramacion por capas
Programacion por capasJosue Lopez
 
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...Juan Pablo Bustos Thames
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.castlellanos
 
Cliente servidor1
Cliente servidor1Cliente servidor1
Cliente servidor1Sara Amores
 
Programación en capass
Programación en capassProgramación en capass
Programación en capassPatricia Reyna
 
Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017TAPIA SILVA EVELINA
 
Unidad 4
Unidad 4Unidad 4
Unidad 4mi casa
 
Cliente servidoryj
Cliente servidoryjCliente servidoryj
Cliente servidoryjyoshimaryj
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Flex Camp 2008. Ricardo Poblete
Flex Camp 2008. Ricardo PobleteFlex Camp 2008. Ricardo Poblete
Flex Camp 2008. Ricardo Pobleteripoblet
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Mariagequito
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Mariagequito
 

Similar a Arquitec a13 (20)

Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)
 
Programacion por capas
Programacion por capasProgramacion por capas
Programacion por capas
 
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
Visibilidad. Paquetes, Estratos y Particiones. Diagramas de Estado y de Activ...
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
 
N-CAPAS EN VISUAL NET
N-CAPAS EN VISUAL NETN-CAPAS EN VISUAL NET
N-CAPAS EN VISUAL NET
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
 
Cliente servidor1
Cliente servidor1Cliente servidor1
Cliente servidor1
 
Programación en capass
Programación en capassProgramación en capass
Programación en capass
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Cliente servidoryj
Cliente servidoryjCliente servidoryj
Cliente servidoryj
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Flex Camp 2008. Ricardo Poblete
Flex Camp 2008. Ricardo PobleteFlex Camp 2008. Ricardo Poblete
Flex Camp 2008. Ricardo Poblete
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Maria
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Maria
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 

Más de xavazquez

Users técnico pc - jpr504 - 24
Users   técnico pc - jpr504 - 24Users   técnico pc - jpr504 - 24
Users técnico pc - jpr504 - 24xavazquez
 
Users técnico pc - jpr504 - 23
Users   técnico pc - jpr504 - 23Users   técnico pc - jpr504 - 23
Users técnico pc - jpr504 - 23xavazquez
 
Users técnico pc - jpr504 - 22
Users   técnico pc - jpr504 - 22Users   técnico pc - jpr504 - 22
Users técnico pc - jpr504 - 22xavazquez
 
Users técnico pc - jpr504 - 21
Users   técnico pc - jpr504 - 21Users   técnico pc - jpr504 - 21
Users técnico pc - jpr504 - 21xavazquez
 
Users técnico pc - jpr504 - 18
Users   técnico pc - jpr504 - 18Users   técnico pc - jpr504 - 18
Users técnico pc - jpr504 - 18xavazquez
 
Users técnico pc - jpr504 - 12
Users   técnico pc - jpr504 - 12Users   técnico pc - jpr504 - 12
Users técnico pc - jpr504 - 12xavazquez
 
Users técnico pc - jpr504 - 11
Users   técnico pc - jpr504 - 11Users   técnico pc - jpr504 - 11
Users técnico pc - jpr504 - 11xavazquez
 
Users técnico pc - jpr504 - 10
Users   técnico pc - jpr504 - 10Users   técnico pc - jpr504 - 10
Users técnico pc - jpr504 - 10xavazquez
 
Users técnico pc - jpr504 - 09
Users   técnico pc - jpr504 - 09Users   técnico pc - jpr504 - 09
Users técnico pc - jpr504 - 09xavazquez
 
Users técnico pc - jpr504 - 08
Users   técnico pc - jpr504 - 08Users   técnico pc - jpr504 - 08
Users técnico pc - jpr504 - 08xavazquez
 
Users técnico pc - jpr504 - 07
Users   técnico pc - jpr504 - 07Users   técnico pc - jpr504 - 07
Users técnico pc - jpr504 - 07xavazquez
 
Users técnico pc - jpr504 - 06
Users   técnico pc - jpr504 - 06Users   técnico pc - jpr504 - 06
Users técnico pc - jpr504 - 06xavazquez
 
Users técnico pc - jpr504 - 05
Users   técnico pc - jpr504 - 05Users   técnico pc - jpr504 - 05
Users técnico pc - jpr504 - 05xavazquez
 
Users técnico pc - jpr504 - 04
Users   técnico pc - jpr504 - 04Users   técnico pc - jpr504 - 04
Users técnico pc - jpr504 - 04xavazquez
 
Users técnico pc - jpr504 - 03
Users   técnico pc - jpr504 - 03Users   técnico pc - jpr504 - 03
Users técnico pc - jpr504 - 03xavazquez
 
V ip imprimir-genial-trabajo averias christian romero
V ip imprimir-genial-trabajo averias christian romeroV ip imprimir-genial-trabajo averias christian romero
V ip imprimir-genial-trabajo averias christian romeroxavazquez
 
Manual users hardware
Manual users   hardwareManual users   hardware
Manual users hardwarexavazquez
 
Manual users fuego en las entrañas-reparar monitores crt
Manual users   fuego en las entrañas-reparar monitores crtManual users   fuego en las entrañas-reparar monitores crt
Manual users fuego en las entrañas-reparar monitores crtxavazquez
 
190613506 manual-users-la-camara-digital
190613506 manual-users-la-camara-digital190613506 manual-users-la-camara-digital
190613506 manual-users-la-camara-digitalxavazquez
 
Vip opc imprimir pero antiguo armado de equipos - seguridad -
Vip opc imprimir pero antiguo armado de equipos - seguridad -Vip opc imprimir pero antiguo armado de equipos - seguridad -
Vip opc imprimir pero antiguo armado de equipos - seguridad -xavazquez
 

Más de xavazquez (20)

Users técnico pc - jpr504 - 24
Users   técnico pc - jpr504 - 24Users   técnico pc - jpr504 - 24
Users técnico pc - jpr504 - 24
 
Users técnico pc - jpr504 - 23
Users   técnico pc - jpr504 - 23Users   técnico pc - jpr504 - 23
Users técnico pc - jpr504 - 23
 
Users técnico pc - jpr504 - 22
Users   técnico pc - jpr504 - 22Users   técnico pc - jpr504 - 22
Users técnico pc - jpr504 - 22
 
Users técnico pc - jpr504 - 21
Users   técnico pc - jpr504 - 21Users   técnico pc - jpr504 - 21
Users técnico pc - jpr504 - 21
 
Users técnico pc - jpr504 - 18
Users   técnico pc - jpr504 - 18Users   técnico pc - jpr504 - 18
Users técnico pc - jpr504 - 18
 
Users técnico pc - jpr504 - 12
Users   técnico pc - jpr504 - 12Users   técnico pc - jpr504 - 12
Users técnico pc - jpr504 - 12
 
Users técnico pc - jpr504 - 11
Users   técnico pc - jpr504 - 11Users   técnico pc - jpr504 - 11
Users técnico pc - jpr504 - 11
 
Users técnico pc - jpr504 - 10
Users   técnico pc - jpr504 - 10Users   técnico pc - jpr504 - 10
Users técnico pc - jpr504 - 10
 
Users técnico pc - jpr504 - 09
Users   técnico pc - jpr504 - 09Users   técnico pc - jpr504 - 09
Users técnico pc - jpr504 - 09
 
Users técnico pc - jpr504 - 08
Users   técnico pc - jpr504 - 08Users   técnico pc - jpr504 - 08
Users técnico pc - jpr504 - 08
 
Users técnico pc - jpr504 - 07
Users   técnico pc - jpr504 - 07Users   técnico pc - jpr504 - 07
Users técnico pc - jpr504 - 07
 
Users técnico pc - jpr504 - 06
Users   técnico pc - jpr504 - 06Users   técnico pc - jpr504 - 06
Users técnico pc - jpr504 - 06
 
Users técnico pc - jpr504 - 05
Users   técnico pc - jpr504 - 05Users   técnico pc - jpr504 - 05
Users técnico pc - jpr504 - 05
 
Users técnico pc - jpr504 - 04
Users   técnico pc - jpr504 - 04Users   técnico pc - jpr504 - 04
Users técnico pc - jpr504 - 04
 
Users técnico pc - jpr504 - 03
Users   técnico pc - jpr504 - 03Users   técnico pc - jpr504 - 03
Users técnico pc - jpr504 - 03
 
V ip imprimir-genial-trabajo averias christian romero
V ip imprimir-genial-trabajo averias christian romeroV ip imprimir-genial-trabajo averias christian romero
V ip imprimir-genial-trabajo averias christian romero
 
Manual users hardware
Manual users   hardwareManual users   hardware
Manual users hardware
 
Manual users fuego en las entrañas-reparar monitores crt
Manual users   fuego en las entrañas-reparar monitores crtManual users   fuego en las entrañas-reparar monitores crt
Manual users fuego en las entrañas-reparar monitores crt
 
190613506 manual-users-la-camara-digital
190613506 manual-users-la-camara-digital190613506 manual-users-la-camara-digital
190613506 manual-users-la-camara-digital
 
Vip opc imprimir pero antiguo armado de equipos - seguridad -
Vip opc imprimir pero antiguo armado de equipos - seguridad -Vip opc imprimir pero antiguo armado de equipos - seguridad -
Vip opc imprimir pero antiguo armado de equipos - seguridad -
 

Arquitec a13

  • 1. María Eugenia Valencia Dpto. Ciencias de la Computación Arquitectura multicapas orientadas a objetos Descomposición de la capa de la lógica de aplicaciones: • Objetos del dominio. • Servicios. Presentación TPDVApplet Lógica de aplicaciones Pago Interfaz de la Base de datos Venta Generador de reportes Conceptos del dominio Servicios Almacenamiento Base de Datos
  • 2. María Eugenia Valencia Dpto. Ciencias de la Computación Motivos para usar arquitectura multicapas • Aislamiento de la lógica de aplicaciones en componentes independientes susceptibles de reutilizarse después en otros sistemas. • Distribución de las capas en varios nodos físicos de computo y en varios procesos. Esto puede mejorar el desempeño, la coordinación y el compartir la información en un sistema de cliente-servidor.
  • 3. María Eugenia Valencia Dpto. Ciencias de la Computación • Asignación de los dise;adores para que construyan determinadas capas; por ejemplo, un equipo que trabaje exclusivamente en la capa de presentación. Y así se brinda soporte a los conocimientos especializados en las habilidades de desarrollo y también a la capacidad de realizar actividades simultaneas en equipo. Motivos para usar arquitectura multicapas
  • 4. María Eugenia Valencia Dpto. Ciencias de la Computación Representación de la Arquitectura con Paquetes UML Paquetes en UML Diagrama de paquetes de la arquitectura Conceptos de dominio VentasElementos básicos Almacenamiento Base de datos Presentación Presentación Lógica de aplicaciones Dominio Servicios
  • 5. María Eugenia Valencia Dpto. Ciencias de la Computación Ejemplo de paquetes y de dependencias Capa de servicios de alto nivel orientada a objetos Capa de servicios de bajo nivel (orientados a objetos y no orientados a objetos) Reportes Presentación1 Dominio Interfaz de base de datos relacional Comunicación Interfaz de base de datos orientada a objetos Esquemas de aplicaciones y bibliotecas de soportes2 Base de datos relacional Base de datos orientada a objetos Ejemplos: 1. Applets de Java, documentos y vistas MFC VisualParts de VisualAge 2.JDK, MFC,STL
  • 6. María Eugenia Valencia Dpto. Ciencias de la Computación Identificación de los Paquetes Agrupe los elementos en 1 paquete así: Agrupe los elementos para ofrecer en un paquete un servicio común (o una familia de servicios relacionados), con un nivel relativamente alto de acoplamiento y colaboración. En cierto nivel de abstracción, se vera el paquete como muy cohesivo (tiene responsabilidades estrechamente relacionadas). En cambio, habrá relativamente bajo acoplamiento y colaboración entre los elementos de diferentes paquetes.
  • 7. María Eugenia Valencia Dpto. Ciencias de la Computación Estratos y particiones Dominio Elementos básicos Ventas Productos Servicios Interfaz de base de datos relacional Comunicación Interfaz de base de datos orientada a objetos Reportes Estratos verticales Particiones horizontales
  • 8. María Eugenia Valencia Dpto. Ciencias de la Computación Visibilidad entre las clases de paquetes La visibilidad a las clases en diferentes paquetes conforman típicamente el siguiente patrón: • Acceso a los paquetes del dominio. • Acceso a los paquetes de servicios. • Acceso a los paquetes de presentación. Dominio Visibilidad de muchas clases a partir de otros paquetes. Venta Pago Catalogo de productos Descripción de Producto ... ... ... ... ... ... ... ... Interfaz de BDR Visibilidad de una o de unas cuantas clases en cada paquete de servicios. FachadaBD Broker Proxy ... ... Seguridad Fachada de seguridad Usuario ... ... obtener(id) Objeto guardar(Objeto) ... agregarUsuario (usuario)... ... ...
  • 9. María Eugenia Valencia Dpto. Ciencias de la Computación Interfaz de los paquetes de servicios: El patrón fachada Fachada Contexto/problema Se requiere una interfaz común y unificada para un conjunto heterogéneo de interfaces, un subsistema por ejemplo. ¿Qué hacer? Solución Definir una clase individual que unifique la interfaz y le asigne la responsabilidad de colaborar con el subsistema.
  • 10. María Eugenia Valencia Dpto. Ciencias de la Computación Sin visibilidad directa respecto a la ventanas: el patrón de Separación Modelo-Vista Separación Modelo-Vista Contexto/problema Conviene desacoplar los objetos dominio (modelos) y las ventanas (vistas), a fin de brindar soporte a un mayor reuso de los objetos dominio y reducir al mínimo el impacto que los cambios de la interfaz tienen en ellos. ¿Qué hacer? Solución Definir las clases de dominio (modelo) para que no tengan acoplamiento ni visibilidad directa respecto a la clases ventana (vista) y para que los datos de la aplicación y de la funcionalidad se conserven en las clases de dominio, no en las de ventana.
  • 11. María Eugenia Valencia Dpto. Ciencias de la Computación Comparación entre la conformidad y la violación del patrón Separación Modelo-Vista Capa de presentación (vista) :TPDV 1:introducirProducto(cup,cant) Bien. Mensajes de la capa de vista a la de presentación. Soporta la separacion modelo-vista Capa de dominio (modelo) :TPDV 1:presentarMensaje(mens) Mal. No es conveniente enviar mensajes ni realizar el acoplamiento de la capa de modelo a la de vista.
  • 12. María Eugenia Valencia Dpto. Ciencias de la Computación La comunicación indirecta en un sistema El patrón Publicar-Suscribir Publicar-Suscribir Contexto/problema Un cambio de estado (un evento) ocurre dentro de un editor del evento y otros objetos dependen de él (suscriptores del evento). Pero el Editor no debería tener conocimiento de sus Suscriptores.¿Qué hacer? Solución Defina un sistema de notificación de eventos para que el Editor pueda notificarlos indirectamente a los Suscriptores.
  • 13. María Eugenia Valencia Dpto. Ciencias de la Computación Publicar-Suscribir con notificación de los eventos v:ventanadeVenta :AdministradordeEventos crear( ) 1:suscribir(v,unMensaje,”nuevo impuesto” Un “mensaje” o “Metodo” del objeto :Venta :AdministradordeEventos ajustarImpuesto( ) 1:Eventose;al(“nuevo impuesto”) v:VentanadeVenta 1.1:unMensaje()
  • 14. María Eugenia Valencia Dpto. Ciencias de la Computación Coordinadores de las aplicaciones Es una clase que tiene la responsabilidad de mediar entre la capa de interfaz y la del dominio. Oprime botón Cajero :Vistade Venta :DocumentodeVenta :TPDV :Venta alIntroducirProducto() “asociacion” 1:introducirProducto(cup,cant) “asociacion” 1.1:introducirProducto(cup,cant) Presentación Coordinador de aplicaciones Dominio “asociacion” “asociacion” “asociacion”
  • 15. María Eugenia Valencia Dpto. Ciencias de la Computación Coordinadores de las aplicaciones (cont.) Oprime botón Cajero :EsquemadeVentas :CoordinadordeTPDV :TPDV alIntroducirProducto() “asociacion” 1:introducirProducto(cup,cant) “asociacion” 1.1:introducirProducto(cup,cant) Presentación Coordinador de aplicaciones Dominio Subclase del esquema (Frame) de java. Creada por el coordinador TPDV Envia eventos al coordinador de aplicaciones, que a su vez puede enviarlos al controlador de la capa de dominio (TPDV, por ejemplo). El coordinador de aplicaciones de Java que crea las ventanas (por ejemplo, los objetos Frame y Dialog) y que media entre la capa de ventanas y la de dominio