misión crítica en aplicaciones web: prácticas y experiencias ing. sebastián c. cardello...

23
Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello [email protected]

Upload: amadis-osorio

Post on 23-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Misión Crítica en Aplicaciones Web: Prácticas y Experiencias

Ing. Sebastián C. Cardello

[email protected]

Page 2: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Agenda

Introducción

Relevamiento y Planificación

Genexus

Tunning

Analizando la Aplicación

Page 3: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Introducción – Misión Crítica

Características:

Disponibilidad

Tiempo de Respuesta

Capacidad Operativa

Consistencia

Usabilidad

“Conjunto de operaciones esenciales para que una organización cumpla su meta diariamente”

Page 4: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Nuestro Caso Testigo

MeSAS: Sistema de Administración de Piezas Administrativas del Gob. de Mendoza, Rep. Argentina.

Tecnología: Genexus 8 (Java Gen.) + Tomcat 5.0 (Linux) + DB2 UDB for Iseries (OS400/V5R4)

Estadísticas (Agosto 2006)Usuarios: 2500 aproxSesiones Concurrentes en AppServer: 400 aproxBase de Datos: 40GbVisitantes Distintos x Día (Prom.): 1438 (1556 Visitas Distintas al Mes)Visitas: 31814 (20,44 Visitas/Visitante)Páginas Servidas: 1790825 (56,29 Páginas/Visitas)Tráfico Generado: 15,40 GB

Page 5: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Relevamiento y Planificación

Arquitectura

Infraestructura

Usuario

Page 6: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Genexus

Trabajando con Datos

Consistencia y Manipulación

Obtención y Navegación

Administración

Interfaz

Diseño

Control y Seguridad

Usabilidad y Navegabilidad

Interactividad y Tiempo de Respuesta

Page 7: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Consistencia y Manipulación

Administrar Correctamente la LWU.

Page 8: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Obtención y Navegación

Objetivo: Optimizar Recursos y Tiempo.

Búsquedas “planas”.

Usar Condicionales (CCC)

Procesar datos en el DBMS.

Page 9: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Administración

Hecho: Todo sistemas que manipula volumenes altos y concurrente de ingreso de datos requerirá mantenimiento de los mismos.

Solución: Pattern.

Page 10: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Diseño

Diseño no necesariamente es diseño gráfico.

Themes y CSS.

Optimizar área de trabajo.

Tunning de la pantalla del Navegador (CCC).

Header y Footer proporcionales a la aplicación.

Page 11: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Control y Seguridad

Explotar el “Client Side Validation”.

Agregar funcionalidad JavaScript cuando sea necesaria (JsEvents)

Ejemplo: el “atrapador de Double Click”.

Login Time Out.

Page 12: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Usabilidad y Navegabilidad

Guiar la operatoria del Usuario, para acortar la distancia en “clicks”.

Interfaz Inteligente.

Recent Links y Recently Used

Impresión directa a impresora en Web.

Formularios Cómodos

Access Keys (CCC)

Edit Box por defecto.

Page 13: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Interactividad y Tiempo de Respuesta

AJAX: Interactividad vs. Performance (CCC).

“Síndrome de la Búsqueda Cero”.

Evitar los Record Counts.

Page 14: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Tuning

De la aplicación desarrollada con Genexus.

Del servidor de aplicaciones.

Del DBMS.

Page 15: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

De la aplicación desarrollada con Genexus

Table Cache. (CCC)

Pooling de Conexiones.

Tamaño.

Reciclado.

Cursor 2Cursor 1

Pool de Conexiones

Conexión 1

Page 16: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Del servidor de aplicaciones

Ciertas configuraciones básicas son independiente del AppServer elegido.

Clustering y Carga Balanceada

Cluster Vertical vs. Cluster Horizontal.

Diversas metodología de balance de carga.

LB App

AS1 AS2AS1

AS1

S1

S2

S3

Page 17: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Del DBMS

Los DBMS son piezas de software altamente configurables: se recomienda un DBA.

Configuraciones Básicas

Manejo de los hilos de atención.

Manejo de las conexiones.

Cache y Buffers.

Page 18: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Analizando la aplicación

Análisis previos a puesta en producción

Análisis de Stress

Análisis posteriores a puesta en producción

Análisis Web estadísticos

Análisis de datos

Page 19: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Análisis de Stress

Permite probar la estabilidad y rendimiento frente a una simulación de carga.

Orientados a una operación en particular.

Implican mucho trabajo si se pretenden simular entornos muy reales.

Page 20: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Análisis Web Estadísticos

Nos permiten conocer hábitos de uso del sistema, con alto nivel de desagregación.

Fácil de integrar con las aplicaciones, y no requieren mantenimiento.

Una buena alternativa: AwStats.

Page 21: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Análisis de Datos

Nos permite encontrar cuellos de botellas en la adquisición y manipulación de datos.

Existen aplicaciones Front End que simplifican la lectura y comprensión.

Page 22: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

¿Preguntas?

Page 23: Misión Crítica en Aplicaciones Web: Prácticas y Experiencias Ing. Sebastián C. Cardello scardello@acpsistemas.com.ar

Más Información

Conferencias relacionadas:

Probando performance y escalabilidad -> Disminuyendo riesgos y mejorando dimensionamiento - Ballroom C, 20/09/06, 11:45

Ing. Sebastián C. Cardello, [email protected]

¡Muchas Gracias!