13.07.2015 Views

Sistema informático para la gestión dinámica y personalizada de ...

Sistema informático para la gestión dinámica y personalizada de ...

Sistema informático para la gestión dinámica y personalizada de ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta2.5.2.3 Flexibilidad y Extensibilidad <strong>de</strong>l Producto <strong>de</strong> ReportePara aumentar el grado <strong>de</strong> flexibilidad a <strong>la</strong> herramienta, una vez creada <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>, será posible<strong>la</strong> asignación <strong>de</strong> esta a una opción <strong>de</strong> menú don<strong>de</strong> pueda acce<strong>de</strong>rse <strong>para</strong> obtener el reporte.A<strong>de</strong>más, cada p<strong>la</strong>ntil<strong>la</strong> creada podrá localizarse en el repositorio <strong>para</strong> realizársele trabajos <strong>de</strong>mantenimiento en caso que sea necesario.El repositorio, como almacén <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s, ha <strong>de</strong> permitir <strong>la</strong> redistribución <strong>de</strong> los reportes, sumodificación o eliminación. El trabajo con el repositorio constituye también <strong>la</strong> c<strong>la</strong>ve <strong>para</strong> <strong>la</strong>reusabilidad <strong>de</strong> los esquemas <strong>de</strong> reportes. Al disponerse <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s realizadas, es posibleexportar los reportes a otros formatos que permitan ser utilizados por otras herramientas, lo quetributa directamente a <strong>la</strong> extensibilidad <strong>de</strong>l reporte como producto in<strong>de</strong>pendiente <strong>de</strong> <strong>la</strong>aplicación.Para <strong>la</strong> creación <strong>de</strong> opciones que menú a <strong>la</strong>s que se asignen los reportes creados <strong>para</strong> suejecución, se han seleccionado <strong>la</strong>s bibliotecas jc<strong>la</strong>sslib y BCEL. El<strong>la</strong>s permiten modificarficheros <strong>de</strong> java compi<strong>la</strong>dos (.c<strong>la</strong>ss), por lo que si se orienta <strong>la</strong> <strong>gestión</strong> hacia <strong>de</strong>l byteco<strong>de</strong> que<strong>de</strong>fine <strong>la</strong> interfaz gráfica, es posible alterar<strong>la</strong> añadiendo entradas que incorporen nuevasfuncionalida<strong>de</strong>s, en este caso <strong>de</strong>stinadas a <strong>la</strong> ejecución <strong>de</strong> reportes.La c<strong>la</strong>se principal <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong>l byteco<strong>de</strong> en los ficheros compi<strong>la</strong>dos <strong>de</strong> Java esJavaC<strong>la</strong>ss, perteneciente al paquete org.apache.bcel.c<strong>la</strong>ssfile <strong>de</strong> <strong>la</strong> biblioteca BCEL. La mismapermite cargar un fichero .c<strong>la</strong>ss y gestionar su estructura. Con el uso <strong>de</strong> <strong>la</strong> c<strong>la</strong>se ConstantPoolse podrán obtener los elementos que componen el .c<strong>la</strong>ss <strong>para</strong>, por medio <strong>de</strong> <strong>la</strong> c<strong>la</strong>seConstantPoolGen proponer una estructura genérica que finalmente se entregará a JavaC<strong>la</strong>ss,<strong>la</strong> cual sup<strong>la</strong>ntará el viejo fichero por el nuevo.La c<strong>la</strong>se que gestiona los campos genéricos <strong>de</strong>l fichero .c<strong>la</strong>ss se nombra FieldGen. La mismapue<strong>de</strong> utilizarse <strong>para</strong> adicionar nuevos campos al fichero. Otra c<strong>la</strong>se que permitirá gestionarnuevos métodos que se <strong>de</strong>seen adicionar al .c<strong>la</strong>ss es MethodGen, <strong>la</strong> cual, en principio,funciona simi<strong>la</strong>r a FieldGen.En <strong>la</strong> figura 12 se muestra un segmento <strong>de</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l método addField, encargado <strong>de</strong>adicionar un nuevo campo, el cual se mostrará en <strong>la</strong> interfaz por medio <strong>de</strong> un <strong>de</strong>scriptor.También, en un fichero .c<strong>la</strong>ss se pue<strong>de</strong>n incorporar métodos que implementen <strong>de</strong>terminadasfuncionalida<strong>de</strong>s utilizando <strong>la</strong> c<strong>la</strong>se MethodGen antes mencionada (Ver Figura 13).63

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!