Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.
Producido por:
Martín Córdova y Asociados C.A.
www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Guía del Programador
Última actualización: 2017-04-26
Contenido
Sumario ............................................................................................................................ 2
Introducción ...................................................................................................................... 2
Arquitectura de software ..................................................................................................... 3
Modelo general de la arquitectura MVC ............................................................................... 3
El estilo MVC de Dinámica ................................................................................................. 4
El mecanismo de procesamiento de solicitudes HTTP ......................................................... 5
Orientación del diseño ................................................................................................... 6
Principios generales del diseño ....................................................................................... 7
Estructura de clases ......................................................................................................... 8
Clases básicas .............................................................................................................. 8
Clases de tipo Output (View) .......................................................................................... 9
Clases de tipo Transaction (Model) ................................................................................ 10
Clases utilitarias ......................................................................................................... 10
Puntos de extensión frecuentes .................................................................................... 11
Funcionamiento del framework ........................................................................................... 12
El Controller .................................................................................................................. 12
Programación declarativa con config.xml .......................................................................... 14
El Model ..................................................................................................................... 14
El View ...................................................................................................................... 16
Validación de parámetros del request ............................................................................... 17
Generación declarativa de respuestas ............................................................................... 19
Generación de reportes simples en PDF ......................................................................... 19
Exportación a Excel ..................................................................................................... 19
Exportar BLOBs de la base de datos hacia el browser ...................................................... 20
El modelo de persistencia de Dinámica ............................................................................. 21
El lado cliente – el mecanismo Ajax .................................................................................... 25
Facilidades del framework ................................................................................................. 27
Implicaciones técnicas de Dinámica .................................................................................... 30
Herencia vs. Reflexión .................................................................................................... 30
Creación eficiente de objetos ........................................................................................... 30
Diseño que favorece la extensión y el mantenimiento ......................................................... 30
Entonación básica del servidor (Tomcat 7) ........................................................................... 32
Aproveche la compresión GZIP con Tomcat 7 .................................................................... 32
Aproveche el caché de recursos de Tomcat ....................................................................... 32
Entonación de la JVM ..................................................................................................... 32
Guía del Programador
Página 1 de 32
Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.
Producido por:
Martín Córdova y Asociados C.A.
www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Sumario
Este documento explica en detalle el funcionamiento interno del framework Dinámica, su
arquitectura y facilidades. Es una guía fundamental para el programador que desea tener un
conocimiento cabal del framework, y también es un elemento básico en la documentación de
aplicaciones web basadas en Dinámica, en tanto que explica la arquitectura que subyace a estas a
aplicaciones. En este sentido se recomienda utilizar este documento como un entregable principal
en sus proyectos basados en Dinámica.
Introducción
El framework Dinámica es un conjunto de componentes, herramientas y técnicas para construir
aplicaciones web 2.0 (ajax) basadas en Java/J2EE usando únicamente el API de Servlets. Es
liviano, eficiente y muy fácil de usar. Se obtienen resultados sofisticados en minutos gracias al
estilo único de construcción de software y a una amplia colección de plantillas de módulos
prefabricados. Es un framework orientado específicamente a la construcción de aplicaciones de
negocios, con énfasis en la productividad y la calidad. Hace gala de un enfoque muy pragmático
de construcción de software, fuertemente integrado con el entorno de programación Eclipse.
Es rico en contenido, con una amplia base de documentación original (más de 40 PDFs) que
explican cada aspecto del framework, además de todo el código y herramientas que incorpora. Es
software libre –licencia LGPL- escrito 100% en Java, por lo tanto portable.
Dinámica es una propuesta de ingeniería de software completa, no solo abarca el proceso de
programación, sino que también incorpora facilidades para el control de las aplicaciones antes y
después del pase a producción, tales como la generación automática de documentación y scripts
de configuración, manejo centralizado de errores con auto-notificaciones por email, trazas de
rendimiento transparentes al programador, servicios de seguridad, servicios de diagnóstico del
proceso, trazas de auditoria declarativas, plugins para Eclipse, etc. La profundidad de Dinámica va
mucho más allá de ser solo un enfoque de programación rápida.
Guía del Programador
Página 2 de 32
Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.
Producido por:
Martín Córdova y Asociados C.A.
www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caracas/Venezuela
Arquitectura de software
El diseño de Dinámica se basa en una implementación flexible y novedosa de la arquitectura
Model-View-Controller (MVC), que además de mantener el ordenamiento modular con una estricta
separación de tareas también promueve
la productividad mediante un mecanismo de
programación declarativa. En Dinámica a menudo no es necesario programar, sino declarar
mediante un archivo de configuración lo que se quiere hacer. En aquellos casos donde la
programación es requerida, a menudo solo es necesario escribir una pequeña clase que
representara el modelo y que por norma extiende a alguna de las clases base del framework,
heredando cuantiosa funcionalidad y simplificando su trabajo.
La arquitectura MVC es muy adecuada para aplicaciones web escritas con lenguajes orientados a
objetos, como Java. Dinámica le añade un toque especial a esta arquitectura que ayuda a
minimizar el esfuerzo de programación y permite incorporar cambios de manera rápida y flexible,
facilitando el mantenimiento, que es una de las principales fuentes de costos en el proceso de
producción de software.
Modelo general de la arquitectura MVC
Envía
request
HTTP
Browser
Envía
respuesta
El Controller coordina la ejecución
del Model y del View para lograr
un output dados los inputs
Controller
View
Model
El view
consume data
publicada por el
Model
El Model ejecuta la
lógica de negocios
contra la BD y
publica un resultado
Lado
Cliente
Lado
Servidor
DBMS
En la arquitectura MVC los requests o peticiones de un cliente son atendidos por un módulo
central coordinador de toda la actividad, el Controller, este módulo se encarga de invocar al
módulo Model que se encarga de ejecutar la lógica de negocios mediante accesos a la base de
datos, publica la data resultante, y luego el Controller invoca al módulo View para que se
encargue de consumir esta data y genere una salida, sea una página HTML, un documento XML o
Guía del Programador
Página 3 de 32
Dinámica
Framework para desarrollo fácil
de aplicaciones web con JavaTM y Ajax.
En producción desde el año 2004.
Producido por:
Martín Córdova y Asociados C.A.
www.martincordova.com -
[email protected]
RIF J-31134803-4 - Caraca
Comentarios de: Guía del programador - Dinámica framework Java para web (0)
No hay comentarios