Título: Sistema de Validaciones Unificadas Marco de Trabajo: PROYECTO GRADO Área de desarrollo: Ingenieria de Software Autor: Leonardo Mena Contacto: leomena@montevideo.com.uy Día: LUNES Hora: 13:00:00 Palabras Claves: validaciones,reglas,unificar, java, j2ee Resumen: Autores: Elena Rendo (mrendo@gmail.com) Roberdo Almada (viro@f86.com) Tutor: Leonardo Mena (leomena@montevideo.com.uy) ************************************************* Sistema de Validaciones Unificadas El siguiente resumen describe el trabajo realizado en el marco del Proyecto Final de la carrera Licenciatura en Informática del Universitario Autónomo del Sur. Introducción a la problemática Cualquier sistema informático debe realizar la validación de los datos de entrada al mismo para verificar que se está en las hipótesis esperadas por la aplicación. Actualmente se han popularizado los sistemas con arquitectura en múltiples capas, con una capa de negocios que puede ser accedida desde múltiples tipos de clientes (Web, de escritorio, inalámbricos, etc). En estos sistemas, y en particular con el acceso Web, es práctica común realizar estos controles de validación no solo en el servidor (capa de negocios) lo cual resulta imperativo dado que es la entrada última a la lógica del negocio, sino también en el cliente, que por razones de performance se prefiere que resuelva al menos algunas de estas validaciones localmente, dando una mejor experiencia al usuario. Dado este escenario es usual ver que, siendo común el uso de distintos lenguajes de programación para el servidor y sus clientes (notablemente para el caso de acceso Web), se duplique el esfuerzo de programación de estas validaciones, una por cada lenguaje involucrado. Esta duplicación de código, que responde a las mismas reglas lógicas, genera no solamente el problema del esfuerzo extra en términos de programación, sino también, y tal vez más importante, el problema de mantener sincronizados ambos conjuntos de reglas a lo largo del tiempo. Objetivo del proyecto El objetivo del proyecto era resolver la problemática en el caso de las aplicaciones Web, debiéndose brindar dicha solución al menos para servidores desarrollados en el lenguaje Java y clientes Web (navegadores) que usaran JavaScript en páginas HTML o JSP (Java Server Pages). Solución propuesta La solución consistió en relevar los tipos de validaciones que se querían, los tipos de datos y funciones que ellas implicaban, abstraerlas en un metalenguaje (implementado con xml) que permitiera expresar en forma independiente de los lenguajes concretos dichas reglas y finalmente un traductor que fuera capaz de tomar esa entrada y generar dichas validaciones en múltiples lenguajes de salida. Conclusión Se logró desarrollar un sistema, altamente configurable, que logra mediante un conjunto único de reglas de validación expresadas mediante un metalenguaje (xml), generar código, no solamente para el lenguaje Java y JavaScript inicialmente propuestos, sino para cualquier lenguaje que pueda implementar las funciones básicas y procesar sus tipos de datos (C#, VBScript, etc). El sistema es capaz de analizar páginas HTML (o JSP o ASP), extrayendo automáticamente los campos de formularios, de forma que puedan estar disponibles para la generación de las reglas de validación. Además es extensible con un mínimo esfuerzo en sus tipos de datos y funciones. Finalmente también se desarrolló una interface (web) para interactuar con el mismo (ingresar páginas web a validar, recoger fuentes generadas, etc). |
Ultima modificacion 5 de Octubre 2004 16:30 |