Capa de Presentación -...

27
Arquitectura de Proyectos de IT © 2005 Arquitectura de Presentación Jorge L García Tuesday, October 4, 2011

Transcript of Capa de Presentación -...

Page 1: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

Arquitectura de Proyectos de IT

© 2005

Arquitectura de Presentación

Jorge L García

Tuesday, October 4, 2011

Page 2: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

2 Arquitectura de Proyectos de IT2

¿Qué es Presentación?

Es lo que permite al usuario interactuar

con el modelo de dominio de la

aplicación (ui / gui)

Tuesday, October 4, 2011

Page 3: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

3 Arquitectura de Proyectos de IT2

Usabilidad

Fácil de aprender Fácil de usar Fácil de recordar Tolerante a errores Robusto Buena impresión (?)

La presentación es el punto de mayor impacto en la usabilidad.

Tuesday, October 4, 2011

Page 4: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

4 Arquitectura de Proyectos de IT3

¿Por qué es tan complejo?

Se mezcla con la lógica de negocio

Cada usuario es diferente

Cambian los contextos de uso

Cuesta encontrar buenas abstracciones

No suele ser parte del análisis

No suele haber alguien dedicado

Tuesday, October 4, 2011

Page 5: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

5 Arquitectura de Proyectos de IT3

Se mezcla con la lógica

“...Y cuando elijo el país, dependiendo si es Argentina u otro, debe validar si el CPA es correcto.”

Tuesday, October 4, 2011

Page 6: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

6 Arquitectura de Proyectos de IT3

Usuarios diferentes

Etnografía Customización Accesibilidad

Tuesday, October 4, 2011

Page 7: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

7 Arquitectura de Proyectos de IT3

Contexto de uso

Tuesday, October 4, 2011

Page 8: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

8 Arquitectura de Proyectos de IT3

Un poco de historia

Botones y luces Impresoras Línea de comando Terminales Cliente Servidor Engines Gráficos Web RIA

Tuesday, October 4, 2011

Page 9: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

9 Arquitectura de Proyectos de IT5

Decisiones a Tomar

1. ¿Cómo distribuirlo? 2. ¿Cliente liviano o pesado?3. ¿Quién controla el flujo de la aplicación?4. ¿Cómo se estructura la navegación?5. ¿Cómo se maneja el estado conversacional?6. ¿Cómo se relaciona con la lógica de dominio?7. ¿Dónde se integra la lógica?

Tuesday, October 4, 2011

Page 10: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

10 Arquitectura de Proyectos de IT6

1- Distribución

¿Por qué?– Muchos clientes = muchas máquinas– Los usuarios están en distintos lugares– Puedo separar la presentación para solucionarlo ¿O no?

La presentación puede ser condicionada por el despliegue

Tuesday, October 4, 2011

Page 11: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

11 Arquitectura de Proyectos de IT7

2- Cliente pesado y liviano

La decisión impacta básicamente en– Despliegue– Cercanía con el dominio– Ubicación de la lógica de negocio

Tuesday, October 4, 2011

Page 12: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

12 Arquitectura de Proyectos de IT8

3- Control de la Iniciativa User Initiative

– Pedido-Respuesta– Orientado a Eventos

Application Initiative– Usuario contesta preguntas– Wizard– Alarmas y eventos disparados por la aplicación

Combinada– Interactivo, Conversación– Continuation

Tuesday, October 4, 2011

Page 13: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

13 Arquitectura de Proyectos de IT9

4- Formas de Navegación

Pantallas y Formularios– Stateless– Terminal boba / Mainframe, Web Tradicional

Ventanas o Diálogos– Stateful / Wizards– Cliente – Servidor, RIA

Manipulación Directa– Objetos

Tuesday, October 4, 2011

Page 14: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

14 Arquitectura de Proyectos de IT10

5- Estado conversacional (sesión)

Cliente

En cada pedido

Servidor (Session)

Compartido

Caso de Uso (Flow)

Tuesday, October 4, 2011

Page 15: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

15 Arquitectura de Proyectos de IT11

6- Integración con el dominio de la aplicación

Stateless– Servicios– Procesos

Stateful– Eventos– Objetos

Tuesday, October 4, 2011

Page 16: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

16 Arquitectura de Proyectos de IT12

7- ¿Dónde se integra la lógica? Campo a campo

– Validaciones– Máscaras– Pickers y otros controles más elaborados

Por formulario o pantalla– Lo más utilizado– Más cerca de la tecnología, a veces menos conceptual

Por caso de uso– Ejecución de un caso de uso de negocio

Tuesday, October 4, 2011

Page 17: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

17 Arquitectura de Proyectos de IT16

Formas de desarrollar presentación

Visual

Programática– Template– Componentes

Declarativa

Automática / Introspectiva

Tuesday, October 4, 2011

Page 18: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

18 Arquitectura de Proyectos de IT17

Ideas de Diseño y patrones

MVC – MVP Morphic Model Driven Presentation (MDP) Templates Components SPA Single Page Application

Tuesday, October 4, 2011

Page 19: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

19 Arquitectura de Proyectos de IT18

Clientes pesados tradicionales

AWT, Swing, SWT – Java

.Net Desktop - VB6

Delphi

Dolphin – Smalltalk

Tuesday, October 4, 2011

Page 20: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

20 Arquitectura de Proyectos de IT19

Web tradicionales

PHP JSP / Servlets ASP Cold Fusion Perl

Algunas herramientas Struts – Stripes Taglibs XSL

Tuesday, October 4, 2011

Page 21: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

21 Arquitectura de Proyectos de IT20

Web + Components

Tapestry

JSF

ASP .Net

Web Objects

Tuesday, October 4, 2011

Page 22: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

22 Arquitectura de Proyectos de IT21

Herramientas RIA

Javascript + DHTML

Applets

ActiveX

AJAX y Web Sockets

Flash

SVG (gráfico de vectores escalares) y Canvas

Tuesday, October 4, 2011

Page 23: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

23 Arquitectura de Proyectos de IT22

Plataformas RIA

XUL (XML + Javascript + Stylesheets)

Flex (Macromedia, MXML), Lazslo, Air

GWT

HTML5

Java FX, Silverlight (.NET)

Tuesday, October 4, 2011

Page 24: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

24 Arquitectura de Proyectos de IT23

MDP (Model Driven Presentation)

Naked Objects

Ruby on Rails

Tuesday, October 4, 2011

Page 25: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

25 Arquitectura de Proyectos de IT13

Otros Problemas (I)

Usabilidad limitada– Drag & Drop– Máscaras– Eventos disparados por el server

Múltiples tareas simultáneas

Transacciones

Tuesday, October 4, 2011

Page 26: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

26 Arquitectura de Proyectos de IT14

Otros Problemas (II)

Seguridad

Validación

Manejo de errores– Cómo mostrarlos– Múltiples errores simultáneos

Unit Testing de la UI

Tuesday, October 4, 2011

Page 27: Capa de Presentación - apit.wdfiles.comapit.wdfiles.com/local--files/start/03_apit_presentacion2011c2.pdf · – Ejecución de un caso de uso de negocio Tuesday, October 4, 2011.

27 Arquitectura de Proyectos de IT15

Otros Problemas (III)

Navegabilidad

Múltiples formas de invocar funciones

User Session Management

Internacionalización

Tuesday, October 4, 2011