• No se han encontrado resultados

Arquitectura de Presentación

N/A
N/A
Protected

Academic year: 2021

Share "Arquitectura de Presentación"

Copied!
27
0
0

Texto completo

(1)

Arquitectura de Proyectos de IT

Arquitectura de Presentación

Gastón Coco

Nicolás Passerini Jorge L García

(2)

¿Qué es Presentación?

 Es lo que permite al usuario interactuar con el

(3)

Problemas

 Su lógica puede ser muy compleja, más que la de

negocio a veces (muchas veces diría).

 Casos de uso simples tener problemas de:

Navegación

Múltiples formas de ser invocados Ingreso de datos (interfaz visual) – Mostrar resultados

 Es muy difícil hacer algo bonito, que sea usable,

(4)

¿Por qué es tan complejo?

 También hay problemas en el análisis

Es compleja porque cuesta separar las cuestiones de

negocio de las visuales.

– Al pensar en las pantallas uno se aleja del concepto /

dominio / negocio.

Distintos usuarios quieren hacer la misma tarea de

distintas formas

– Suele ser lo que más rápidamente cambia.

 Cuesta encontrar buenas abstracciones.

– Encontrar abstracciones

(5)

Secuencia Típica de Presentación

 Mostrar las distintas acciones a realizar.

 Inicio de un caso de uso.

 Ingreso de datos del usuario.

 Validación de los datos ingresados.

 Transformación de los datos del formato de

ingreso al formato de negocio.

 Invocación de la lógica de negocio.

 Transformación de los resultados.

 Manejo y presentación de los errores.

(6)

Decisiones a Tomar

1. ¿Cómo distribuirlo? ¿Cliente liviano o pesado?

2. ¿Quién controla el flujo de la aplicación?

3. ¿Cómo se estructura la navegación?

4. ¿Cómo se maneja el estado conversacional?

5. ¿Cómo se relaciona con la lógica de dominio?

(7)

1- Distribución de la Lógica

 ¿Por qué?

Muchos clientes = muchas máquinasLos usuarios están en distintos lugares

 ¿Dónde está la lógica?

Server side – Client side – Mix

(8)

1- Distribución de la Lógica (Cont.)

 Interfaces de usuario – Línea de comandoTerminalesCliente ServidorWeb – RIA

(9)

2- 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

(10)

3- 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

(11)

4- Estado conversacional

 Cliente

 En cada pedido

 Servidor (Session)

 Compartido

(12)

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

 Stateless – ServiciosProcesos  Stateful – Eventos – Objetos

(13)

6- ¿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

(14)

4 Visiones

 Orientado a la presentación

– RAD - Rapid Application Development

– Visual Basic

 Orientado a datos

– Hibernate, Struts.

 Orientado a servicios.

(15)

Otros Problemas (I)

 Navegabilidad

 Usabilidad

Drag & DropMáscaras

– Eventos disparados por el server

 Múltiples tareas simultáneas

(16)

Otros Problemas (II)

 User Session Management

 Internacionalización

 Validación

 Manejo de errores

– Cómo mostrarlos

(17)

Formas de desarrollar presentación

Visual

Programática

– Template – Componentes

Declarativa

Automática / Introspectiva

(18)

Ideas de Diseño

 MVC – MMVC – MVP – Model 2

 Morphic

 MDP (Model Driven Presentation)

(19)

Clientes pesados tradicionales

 AWT, Swing, SWT – Java

 .Net Desktop - VB6

 Delphi

 Dolphin – Smalltalk

(20)

Web

tradicionales

 PHP  JSP / Servlets  ASP  Cold Fusion  Perl Algunas herramientas  Struts – Stripes  Taglibs  XSL

(21)

Web + Components

 Tapestry

 JSF

 ASP .Net

(22)

Flujo Tradicional

Cliente Servidor

pedido de archivos, submit de formularios

HTMLs con javascript embebido, librerías de javascript, imágenes varias

(23)

Flujo RIA

Cliente Servidor

pedido de archivos,

pedido o envío de información

HTMLs simples, librerías de javascript, mapa de imágenes, información

(24)

Herramientas RIA

 Javascript + DHTML  Applets  ActiveX  AJAX  Flash

(25)

Plataformas RIA

 XUL (XML + Javascript + Stylesheets)

 Flex (Macromedia, MXML)

 Lazslo

 GWT

 Active Widgets

(26)

MDP (Model Driven Presentation)

 Naked Objects

 Ruby on Rails

 JRapid

(27)

Patrones de presentación

 Front Controller

 Application Controller

 Use Case Object

– Unit Of Work

 Filtros

 Templates

 View Helpers

Referencias

Documento similar

• Cuando un recinto esta codificado como mosaico de distintas asociaciones, mostrando porcentajes de ocupación distintos para cada parte de la asociación y para el total

Las familias encuentran especiales dificultades para hablar de ciertas cir- cunstancias que condujeron a la adopción de las que a veces se tiene cons- tancia, como

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2010 representan en todos los aspectos significativos la imagen fiel

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

Las declaraciones contenidas en esta presentación en relación con perspectivas del negocio de Inmobiliaria Manquehue, las proyecciones de operación, resultados financieros, el

Gracias a la puesta en valor de las capacidades tecnológicas y diferenciadoras de Airtificial, además de nuestra ejecución y estándares en cada uno de los sectores donde opera,

De non ser así, as facturas non poderán tramitarse para o pago, e a USC, a través do responsable de asuntos económicos do centro da USC que solicitou os seus servicios Rexeitará