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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Instituto Superior Politécnico José Antonio EcheverríaCUJAESISTEMA INFORMÁTICOPARA LA GESTIÓN DINÁMICAY PERSONALIZADA DE ...Maikel Lázaro Pérez GortLa Habana, 2012


Tesis <strong>de</strong> Maestría


INSTITUTO SUPERIOR POLITÉCNICO “JOSÉ ANTONIO ECHEVERRÍA”FACULTAD DE INGENIERÍA INFORMÁTICACENTRO DE ESTUDIO DE INGENIERÍA DE SISTEMAS<strong>Sistema</strong> Informático <strong>para</strong> <strong>la</strong> GestiónDinámica y Personalizada <strong>de</strong> ReportesTESIS PRESENTADA EN OPCIÓN AL TÍTULO DE MÁSTER EN INFORMÁTICA APLICADAAutor: Ing. Maikel Lázaro Pérez GortTutores: Dr. Raúl Martínez RodríguezDr. Jyrki NummenmaaCIUDAD DE LA HABANA, CUBAENERO, 2010


“… toda ciencia empieza en <strong>la</strong> imaginación…”José Martí


Siempre a Carolina, por supuesto…


A mi familia, a mis amigos…


ResumenExisten sistemas <strong>informático</strong>s que brindan formatos pre<strong>de</strong>terminados <strong>de</strong> reportes o informesdigitales <strong>para</strong> facilitar <strong>la</strong> comprensión <strong>de</strong> <strong>la</strong> información gestionada y <strong>la</strong> toma <strong>de</strong> <strong>de</strong>cisionesestratégicas en <strong>la</strong>s organizaciones o entida<strong>de</strong>s empresariales. Por <strong>la</strong> naturaleza <strong>de</strong> estosreportes, muchas veces se requiere, <strong>para</strong> satisfacer <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios, realizarcambios en su estructura en cuanto a su apariencia. Debido a que <strong>la</strong> misma generalmente esestática e inflexible <strong>para</strong> <strong>la</strong>s transformaciones, se necesita reprogramar el diseño <strong>de</strong> losreportes que se <strong>de</strong>seen cambiar, incurriéndose en costos adicionales <strong>de</strong> mantenimiento en <strong>la</strong>sdiferentes aplicaciones.La <strong>gestión</strong> ordinaria <strong>de</strong> reportes involucra a diferentes roles <strong>de</strong> usuarios que no siempre sonconsi<strong>de</strong>rados. Si se incorpora a este proceso un alto grado <strong>de</strong> dinamismo y personalización, setorna más complicada <strong>la</strong> interacción entre estas herramientas y los usuarios, por lo que esimportante <strong>de</strong>finir responsabilida<strong>de</strong>s y establecer fronteras en <strong>la</strong>s acciones que cada usuariopue<strong>de</strong> o es capaz <strong>de</strong> realizar.Con el <strong>de</strong>sarrollo <strong>de</strong> este trabajo se preten<strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r e implementar una herramientainformatizada que permita gestionar <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> diversos tipos <strong>de</strong> reportes <strong>de</strong> forma<strong>dinámica</strong>, consi<strong>de</strong>rando <strong>la</strong>s necesida<strong>de</strong>s y preferencias <strong>de</strong> los usuarios, <strong>de</strong> forma tal, que seanellos mismos los que puedan realizar <strong>la</strong>s a<strong>de</strong>cuaciones necesarias. La herramienta contendrá,adicionalmente, un módulo que permita gestionar roles <strong>de</strong> usuarios, con el objetivo <strong>de</strong> po<strong>de</strong>restablecer políticas <strong>de</strong> acciones acor<strong>de</strong> con los privilegios otorgados.


Índice <strong>de</strong> contenidosINTRODUCCIÓN .............................................................................................................................1CAPÍTULO I. ANTECEDENTES Y DETALLES DE LA INVESTIGACIÓN ....................................................91.1 Introducción ...................................................................................................................101.2 Antece<strong>de</strong>ntes <strong>de</strong> <strong>la</strong> Gestión <strong>de</strong> Reportes .......................................................................101.3 Conceptos C<strong>la</strong>ves .........................................................................................................111.3.1 Gestión <strong>de</strong> Reportes............................................................................................................. 111.3.1.1 Fuentes <strong>de</strong> Datos ........................................................................................................................ 111.3.1.2 P<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> Reporte ..................................................................................................................... 121.3.1.3 Carga <strong>de</strong> Datos y Representación <strong>de</strong> Información ........................................................................ 121.3.1.4 Formatos <strong>de</strong> Reportes y Exportación ........................................................................................... 131.3.1.5 Proceso <strong>de</strong> Creación ................................................................................................................... 131.3.1.6 Otros Aspectos Relevantes ......................................................................................................... 161.3.2 Temas Básicos <strong>de</strong> Seguridad Informática ............................................................................. 161.3.2.1 Los Roles <strong>de</strong> Usuarios en <strong>la</strong> Gestión <strong>de</strong> Reportes ........................................................................ 171.4 Trabajo Previo Realizado ..............................................................................................171.4.1 Breve <strong>de</strong>scripción <strong>de</strong>l Generador <strong>de</strong> Reportes <strong>de</strong>l GREHU ................................................... 181.4.1.1 Análisis Crítico ............................................................................................................................ 201.4.1.2 Extensión <strong>de</strong> los <strong>de</strong>fectos observados ......................................................................................... 201.4.2 Otros trabajos realizados ...................................................................................................... 201.5 Fundamento <strong>de</strong> los Objetivos <strong>de</strong>l Trabajo ......................................................................271.6 Análisis <strong>de</strong>l Estado <strong>de</strong>l Arte ...........................................................................................291.6.1 Principales Mecanismos <strong>de</strong> Desarrollo ................................................................................. 291.6.1.1 Formatos <strong>de</strong> Ficheros <strong>de</strong> P<strong>la</strong>ntil<strong>la</strong>s .............................................................................................. 301.6.1.2 Especificaciones <strong>para</strong> <strong>la</strong> Definición <strong>de</strong> Reportes........................................................................... 311.6.1.3 Gestión <strong>de</strong> Roles <strong>de</strong> Usuarios y Seguridad <strong>de</strong> Aplicaciones Informáticas ...................................... 321.6.1.4 Extensibilidad, <strong>la</strong> Flexibilidad y <strong>la</strong> Usabilidad ................................................................................ 331.6.2 Principales Herramientas ...................................................................................................... 341.6.2.1 Herramientas <strong>de</strong> Gestión <strong>de</strong> Reportes ......................................................................................... 341.6.2.2 Herramientas <strong>de</strong> Gestión <strong>de</strong> Seguridad ........................................................................................ 391.6.2.3 Herramientas que permiten alterar archivos compi<strong>la</strong>dos ............................................................... 401.6.3 Herramientas <strong>de</strong> Reportes más Utilizadas en <strong>la</strong> Actualidad ................................................. 421.6.4 Validación <strong>de</strong>l <strong>Sistema</strong> a Desarrol<strong>la</strong>r .................................................................................... 471.7 Decisiones Esenciales <strong>para</strong> una Buena Solución ..........................................................47


1.7.1 Gestión <strong>de</strong> Fuentes <strong>de</strong> Datos ............................................................................................... 471.7.2 Proceso <strong>de</strong> Concepción y Gestión <strong>de</strong> Reportes .................................................................... 481.7.3 Estructura <strong>de</strong> <strong>la</strong> P<strong>la</strong>ntil<strong>la</strong> y Especificaciones ......................................................................... 491.7.4 Gestión <strong>de</strong> Compatibilidad, Flexibilidad, Extensibilidad y Seguridad...................................... 491.7.5 Selección <strong>de</strong> Herramientas <strong>para</strong> Desarrollo <strong>de</strong> <strong>la</strong> Solución ................................................... 501.8 Conclusiones .................................................................................................................51CAPÍTULO II. DESCRIPCIÓN DE LA SOLUCIÓN PROPUESTA ............................................................532.1 Introducción ...................................................................................................................542.2 Definición <strong>de</strong> los Requerimientos <strong>de</strong> <strong>la</strong> Solución ...........................................................542.3 Definición <strong>de</strong>l Dominio <strong>de</strong> <strong>la</strong> Solución ............................................................................552.3.1 Conceptos Relevantes <strong>de</strong>l Dominio <strong>de</strong> <strong>la</strong> Solución ............................................................... 562.3.2 Re<strong>la</strong>ciones entre Elementos <strong>de</strong>l Dominio .............................................................................. 562.3.3 Reg<strong>la</strong>s a Consi<strong>de</strong>rar ............................................................................................................. 572.4 Solución Propuesta........................................................................................................582.4.1 Actores y Casos <strong>de</strong> Uso <strong>de</strong>l <strong>Sistema</strong> .................................................................................... 582.4.2 Estructura <strong>de</strong> <strong>la</strong> Herramienta ................................................................................................ 602.5 Principales Procesos a Automatizar ..............................................................................602.5.1 Gestión Trazas y Roles <strong>de</strong> Usuarios ..................................................................................... 612.5.2 Gestión <strong>de</strong> Reportes Informáticos ......................................................................................... 622.5.2.1 Definición y Administración <strong>de</strong> Fuentes <strong>de</strong> Datos ......................................................................... 622.5.2.2 Asistentes Gráficos <strong>para</strong> <strong>la</strong> Gestión <strong>de</strong> Reportes .......................................................................... 622.5.2.3 Flexibilidad y Extensibilidad <strong>de</strong>l Producto <strong>de</strong> Reporte ................................................................... 632.6 Otras Alternativas <strong>para</strong> <strong>la</strong> Gestión <strong>de</strong> los Reportes........................................................662.7 Conclusiones .................................................................................................................66CAPÍTULO III. DETALLES DE IMPLEMENTACIÓN, PRUEBA Y EVALUACIÓN DE RESULTADOS ..............683.1 Introducción ...................................................................................................................693.2 Aspectos <strong>de</strong> Implementación .........................................................................................693.2.1 Arquitectura <strong>de</strong>l <strong>Sistema</strong>....................................................................................................... 693.2.1.1 Módulo <strong>de</strong> Gestión <strong>de</strong> Reportes ................................................................................................... 713.2.1.2 Módulo <strong>de</strong> Gestión <strong>de</strong> Roles <strong>de</strong> Usuario ...................................................................................... 723.2.1.3 Otras Funcionalida<strong>de</strong>s Incorporadas ............................................................................................ 723.2.2 Gestión <strong>de</strong> <strong>la</strong> Persistencia <strong>de</strong> <strong>la</strong> Información ........................................................................ 733.2.3 Consi<strong>de</strong>raciones <strong>para</strong> <strong>la</strong> Interfaz Gráfica <strong>de</strong> Usuario ............................................................ 743.2.4 Requerimientos no Funcionales <strong>de</strong> <strong>la</strong> Solución ..................................................................... 773.3 Prueba <strong>de</strong> <strong>la</strong> Solución ....................................................................................................78


3.3.1 P<strong>la</strong>nificación <strong>de</strong> Pruebas ...................................................................................................... 793.3.2 Evaluación <strong>de</strong> Resultados .................................................................................................... 793.4 Descripción <strong>de</strong>l Impacto <strong>de</strong> <strong>la</strong> Herramienta ...................................................................803.5 Conclusiones .................................................................................................................81CONCLUSIONES ..........................................................................................................................82RECOMENDACIONES ...................................................................................................................83REFERENCIAS BIBLIOGRÁFICAS ..................................................................................................84BIBLIOGRAFÍA ............................................................................................................................93GLOSARIO DE SIGLAS Y TÉRMINOS ..............................................................................................98ANEXOS ........................................................................................................................................IAnexo 1. Existencia numerosa <strong>de</strong> herramientas <strong>para</strong> reportes .................................................IAnexo 2. Noveda<strong>de</strong>s <strong>de</strong> Reportes <strong>de</strong> Pentaho ....................................................................... IIIAnexo 3. Formato Genérico <strong>de</strong> una P<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> Reporte. .......................................................IVAnexo 4. Reporte Informático <strong>de</strong>finido con criterios <strong>de</strong> Agrupamiento. ................................... VAnexo 5. Reporte Informático con inclusión <strong>de</strong> Gráficos. ........................................................VIAnexo 6. Variada Atención <strong>de</strong> Pentaho al Área <strong>de</strong> los Reportes ........................................... VIIAnexo 7. P<strong>la</strong>nil<strong>la</strong>s <strong>de</strong> Encuestas <strong>para</strong> Clientes <strong>de</strong> <strong>Sistema</strong>s <strong>de</strong> Reportes. ............................ VIIAnexo 8. Re<strong>la</strong>ción entre Objetos <strong>de</strong>l Diseñador <strong>de</strong> Reportes <strong>de</strong>l SQL Server. ........................ XAnexo 9. Re<strong>la</strong>ción entre Objetos en el RDL <strong>para</strong> Reportes <strong>de</strong> SQL Server .......................... XIIIAnexo 10. Com<strong>para</strong>ción <strong>de</strong> Frameworks <strong>de</strong> Reportes <strong>de</strong> Código Abierto .......................... XVIII


Índice <strong>de</strong> figurasFIGURA 1. ESTRUCTURA DEL SISTEMA DE GESTIÓN DE RECURSOS HUMANOS GREHU. ..................2FIGURA 2. ESTRUCTURA GENÉRICA DEL PROCESO DE CONCEPCIÓN DE UN REPORTE ....................14FIGURA 3. DIAGRAMA DE CASOS DE USO DEL GENERADOR REPORTES DEL SISTEMA GREHU .......19FIGURA 4. PROCESO CÍCLICO DE CREACIÓN DE REPORTES EN PLATAFORMAS DE REPORTES ........21FIGURA 5. EJEMPLO DEL FORMULARIO “PERSONA” .....................................................................25FIGURA 6. DISTRIBUCIÓN DE USUARIOS ENCUESTADOS POR GRUPOS ............................................26FIGURA 7. ESTRUCTURA DE LA BIBLIOTECA “JASPERREPORTS”. .................................................45FIGURA 8. ALTERNATIVAS DE TIPOS DE CONEXIONES DE IREPORT 3.0.0. .......................................48FIGURA 9. RELACIÓN ENTRE LOS PRINCIPALES OBJETOS DEL DOMINIO. .......................................57FIGURA 10. DIAGRAMA DE CASOS DE USO DEL SISTEMA. .............................................................59FIGURA 11. ESTRUCTURA DEL SISTEMA PROPUESTO ...................................................................60FIGURA 12. FRAGMENTO DEL CUERPO DEL MÉTODO ADDFIELD.....................................................64FIGURA 13. FRAGMENTO DEL CUERPO DEL MÉTODO ADDMETHOD. ...............................................64FIGURA 14. SEGMENTO DE DEFINICIÓN DE UN FICHERO JRXML....................................................65FIGURA 15. MÉTODOS DE LA CLASE JASPEREXPORTMANAGER DE JASPERREPORT ......................65FIGURA 16. ARQUITECTURA DE CAPAS DEL SISTEMA DE GESTIÓN DE REPORTES. .........................70FIGURA 17. PRINCIPALES CLASES DEL MÓDULO DE GESTIÓN DE REPORTES. ................................71FIGURA 18. ESTRUCTURA DE LA BASE DE DATOS DE LA APLICACIÓN. ...........................................73FIGURA 19. PANTALLA DE EDICIÓN DE FUENTES DE DATOS DE IREPORT 3.0.0. .............................75FIGURA 20. VISTA DE EDICIÓN DE LA PLANTILLA DE UN REPORTE. ................................................76FIGURA 21. PANTALLA DE GESTIÓN DE PLANTILLAS COMO DOCUMENTOS XML. ...........................76


Índice <strong>de</strong> tab<strong>la</strong>sTABLA 1. ROLES DE USUARIOS MÁS COMUNES EN PLATAFORMAS DE REPORTES ..........................17TABLA 2. DESCRIPCIÓN DE ACTORES DEL GENERADOR DE REPORTES DEL SISTEMA GREHU. .......19


INTRODUCCIÓNLa <strong>de</strong>senfrenada evolución <strong>de</strong> <strong>la</strong> computación y <strong>la</strong> informática han repercutido <strong>de</strong> manerasorpren<strong>de</strong>nte en el mundo mo<strong>de</strong>rno sobre el cual se han insertado <strong>de</strong> manera protagónica enmuchas áreas <strong>de</strong> diversas activida<strong>de</strong>s humanas. Muchos procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> informaciónse han optimizado disminuyendo el tiempo necesario <strong>de</strong> procesamiento y el costo <strong>de</strong>operaciones al aprovechar <strong>la</strong>s ventajas <strong>de</strong> <strong>la</strong> automatización por medio <strong>de</strong> sistemas<strong>informático</strong>s [9] . Las herramientas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información forman un grupo numeroso <strong>de</strong>ntro<strong>de</strong> <strong>la</strong>s aplicaciones informáticas. Más allá <strong>de</strong> <strong>la</strong> representación, este grupo presenta una granvariedad <strong>de</strong>bido a <strong>la</strong>s diferencias existentes entre los negocios en que se aplica cadaherramienta.La inmensa mayoría <strong>de</strong> estos sistemas funcionan sobre <strong>la</strong> i<strong>de</strong>a estandarizada <strong>de</strong> abastecerse<strong>de</strong> <strong>la</strong> información obtenida <strong>de</strong> diferentes fuentes, gestionar <strong>la</strong>s operaciones <strong>de</strong> procesamiento yexponer los resultados <strong>de</strong> diversas formas. Una <strong>de</strong> <strong>la</strong>s alternativas más utilizada <strong>para</strong> presentar<strong>la</strong> información, facilitando <strong>la</strong> apreciación <strong>de</strong> <strong>la</strong> misma <strong>para</strong> los diferentes propósitos que cadausuario tiene, consiste en <strong>la</strong> obtención <strong>de</strong> los reportes <strong>informático</strong>s [29] .Los reportes <strong>informático</strong>s permiten exponer <strong>la</strong> información con formatos más comprensibles a<strong>la</strong> apreciación <strong>de</strong> <strong>la</strong> visión humana y generalmente están <strong>de</strong>stinados <strong>para</strong> obtenerlos porpantal<strong>la</strong> o por algún medio <strong>de</strong> impresión. Cada uno <strong>de</strong> ellos está basado en una p<strong>la</strong>ntil<strong>la</strong>pre<strong>de</strong>finida o establecida que contiene <strong>la</strong> estructura y apariencia que presentará en el momento<strong>de</strong> su obtención.Algunas fuentes bibliográficas <strong>de</strong>finen a los reportes como sus p<strong>la</strong>ntil<strong>la</strong>s [92] , a diferencia <strong>de</strong>otros criterios que enfocan el concepto a una p<strong>la</strong>ntil<strong>la</strong> en ejecución, por lo que establecen queel “tiempo <strong>de</strong> vida” <strong>de</strong>l reporte se limita a <strong>la</strong> duración <strong>de</strong> dicha obtención [71] . Con el fin <strong>de</strong>realizar el estudio <strong>de</strong>l presente trabajo, <strong>de</strong>sglosando lo más posible todos los términos, setratará <strong>de</strong> manera diferenciada <strong>la</strong>s <strong>de</strong>finiciones <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong> y <strong>de</strong> reporte según el segundocriterio antes mencionado.La mayoría <strong>de</strong> los sistemas generadores <strong>de</strong> reportes difiere en su estructura <strong>de</strong>bido a lospropósitos seguidos por estos en los negocios <strong>para</strong> los cuales hayan sido implementados ydon<strong>de</strong> se pretendan imp<strong>la</strong>ntar. A pesar <strong>de</strong> esto, <strong>la</strong> existencia <strong>de</strong> problemas en un sistema<strong>informático</strong> <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes muchas veces se extien<strong>de</strong> a otras herramientas <strong>de</strong> igualnaturaleza [15][71] , por lo que una solución efectiva <strong>de</strong> carácter particu<strong>la</strong>r pudiera contener unvalor <strong>de</strong> impacto general en el área.1


INTRODUCCIÓNEl tema abordado en el presente trabajo enfoca el análisis a <strong>la</strong>s herramientas <strong>de</strong> <strong>gestión</strong> entérminos <strong>de</strong> reportes como uno <strong>de</strong> los componentes <strong>de</strong> interfaz. Para ello se ha escogido comocaso <strong>de</strong> estudio al <strong>Sistema</strong> Informatizado <strong>de</strong> Gestión <strong>de</strong> Recursos Humanos (GREHU) en elcual se han <strong>de</strong>tectado varios problemas que afectan a otras herramientas <strong>de</strong> <strong>gestión</strong> [71][92] .El GREHU fue <strong>de</strong>sarrol<strong>la</strong>do por <strong>de</strong>l Grupo <strong>de</strong> Informática Empresarial (GRIE) <strong>de</strong>l Centro <strong>de</strong>Estudios <strong>de</strong> Ingeniería <strong>de</strong> <strong>Sistema</strong>s (CEIS) hace más <strong>de</strong> diez años y en sus tiempos <strong>de</strong> mayorutilización fue <strong>la</strong> solución <strong>de</strong> más <strong>de</strong> 200 entida<strong>de</strong>s empresariales, <strong>de</strong> servicios y hotelerasdistribuidas por todo el país, lo que <strong>de</strong>muestra <strong>la</strong> gran aceptación que este tuvo <strong>de</strong>s<strong>de</strong> sucreación [53][54] . El sistema, <strong>de</strong> forma general permite gestionar los Recursos Humanos (RRHH)<strong>de</strong> diferentes negocios <strong>de</strong> manera integral in<strong>de</strong>pendientemente <strong>de</strong> <strong>la</strong>s diferencias existentesentre ellos. Es un sistema complejo compuesto por 17 subsistemas don<strong>de</strong> cada uno secorrespon<strong>de</strong> con una <strong>de</strong> <strong>la</strong>s funcionalida<strong>de</strong>s <strong>de</strong> <strong>la</strong> Gestión <strong>de</strong> los Recursos Humanos (GRH)tales como: Inventario <strong>de</strong> Personal, Capacitación <strong>de</strong>l Personal, Control <strong>de</strong> Dirigentes yCuadros, Selección y Contratación, Organización <strong>de</strong>l Trabajo y los Sa<strong>la</strong>rios (OTS), entre otras[52][71] (Ver Figura 1). Muchas <strong>de</strong> <strong>la</strong>s tareas automatizadas tienen que ser adaptadas a <strong>la</strong>sespecificaciones y requerimientos <strong>de</strong> cada organización, y por ello en muchas ocasiones, <strong>la</strong>información que se requiere es diferente [71] .Inventario <strong>de</strong>PersonalPuesto y CasesEvaluación <strong>de</strong>lDesempeñoPrenóminasControl <strong>de</strong>Inci<strong>de</strong>nciasPago porResultadosSelección yContrataciónDirigentes yCuadrosMódulo PrincipalPropinaColectivaEstimu<strong>la</strong>ción enDivisaCapacitación <strong>de</strong>lPersonalSeguridad ySaludPago por TarjetaMagnéticaNóminasControl <strong>de</strong>AsistenciaCompensaciónPersonalFigura 1. Estructura <strong>de</strong>l <strong>Sistema</strong> <strong>de</strong> Gestión <strong>de</strong> Recursos Humanos GREHU [54] .2


INTRODUCCIÓNEl GREHU ofrece a<strong>de</strong>más diversos formatos <strong>de</strong> reportes <strong>para</strong> obtener <strong>la</strong> información <strong>de</strong>seadaen cada uno <strong>de</strong> los subsistemas, los cuales son analizados en reuniones, consejos <strong>de</strong>direcciones, auditorias y otras activida<strong>de</strong>s que <strong>de</strong>man<strong>de</strong>n <strong>la</strong> realización, chequeo y control <strong>de</strong><strong>la</strong>s funciones <strong>de</strong> <strong>la</strong> organización en <strong>la</strong> temática <strong>de</strong> los recursos humanos.La obtención <strong>de</strong> los diferentes reportes en el sistema GREHU ha sufrido un proceso evolutivo alo <strong>la</strong>rgo <strong>de</strong> sus más <strong>de</strong> diez años <strong>de</strong> explotación, <strong>de</strong>bido a que estos se obtenían a partir <strong>de</strong>p<strong>la</strong>ntil<strong>la</strong>s estáticas, lo que imposibilitaba que los usuarios pudieran cambiar o realizar suspropios diseños, acor<strong>de</strong> con sus necesida<strong>de</strong>s [72][73] . Dada <strong>la</strong> naturaleza <strong>dinámica</strong> <strong>de</strong> los RRHHera necesario someter el diseño <strong>de</strong> los reportes a constantes cambios <strong>para</strong> satisfacer <strong>la</strong>screcientes necesida<strong>de</strong>s <strong>de</strong> los usuarios. Estas a<strong>de</strong>cuaciones <strong>de</strong>bían ser realizadas por losespecialistas <strong>de</strong>l GRIE y generalmente no se realizaban en tiempo, <strong>de</strong>bido a <strong>la</strong> poca cantidad<strong>de</strong> especialistas, <strong>la</strong> multitud <strong>de</strong> clientes y <strong>la</strong>s diferencias entre los cambios <strong>de</strong>mandados. Elequipo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l sistema muchas veces tuvo que abandonar <strong>la</strong>s <strong>la</strong>bores <strong>de</strong>investigación y <strong>de</strong>sarrollo <strong>de</strong> otras herramientas <strong>para</strong> <strong>de</strong>dicarse sólo a <strong>la</strong> reprogramación y elmantenimiento <strong>de</strong>l GREHU. Aun así, muchos <strong>de</strong> los intentos <strong>para</strong> satisfacer a los usuariosfueron fallidos, continuando el <strong>de</strong>sajuste en los diseños <strong>de</strong> los reportes <strong>de</strong>l sistema [71] .Como respuesta a <strong>la</strong> situación anterior, <strong>la</strong> dirección <strong>de</strong>l GRIE orientó <strong>la</strong> creación <strong>de</strong> un nuevosubsistema <strong>de</strong>l GREHU <strong>para</strong> generar reportes, el cual <strong>de</strong>bía permitirle a los diferentes usuariospor medio <strong>de</strong> información no pre<strong>de</strong>terminada, realizar el diseño <strong>de</strong> nuevos reportes <strong>de</strong> <strong>la</strong> formamás <strong>personalizada</strong> posible [71] .Un tiempo <strong>de</strong>spués <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>do el nuevo subsistema Generador <strong>de</strong> Reportes <strong>de</strong>l GREHU,se ha puesto <strong>de</strong> manifiesto el surgimiento <strong>de</strong> una nueva situación que aparentemente requiereuna solución más complicada. Esta vez <strong>la</strong> cuestión no se limita a temas <strong>de</strong> programación, sinoque involucra aspectos <strong>de</strong> diseño.El incorporar un generador <strong>de</strong> reportes en una herramienta <strong>de</strong> <strong>gestión</strong> esc<strong>la</strong>rece <strong>la</strong> exigencia<strong>de</strong> diferentes roles <strong>de</strong> usuarios en el proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes [92] . Naturalmente, no todoslos usuarios poseen el mismo conocimiento y <strong>la</strong>s mismas habilida<strong>de</strong>s informáticas. Porejemplo, el usuario que condiciona <strong>la</strong> fuente <strong>de</strong> obtención <strong>de</strong> datos necesaria <strong>para</strong> obtener unreporte no tiene por qué conocer con profundidad el negocio [71] , a diferencia <strong>de</strong>l que conformael reporte, que no necesariamente <strong>de</strong>be poseer un profundo conocimiento <strong>de</strong> computación [92]siempre que cuente con buenas herramientas que lo ayu<strong>de</strong>n en su empeño.3


INTRODUCCIÓNA pesar <strong>de</strong> existir jerarquías <strong>de</strong> roles <strong>de</strong> usuarios propuestas <strong>para</strong> el proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong>reportes, casi nunca son consi<strong>de</strong>radas al diseñarse un sistema <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información o alconcebir o adicionar generadores <strong>de</strong> reportes a otras herramientas. Por otra parte, <strong>la</strong> granvariedad <strong>de</strong> soluciones <strong>para</strong> <strong>la</strong> problemática <strong>de</strong> los reportes <strong>de</strong>ntro <strong>de</strong>l mundo <strong>informático</strong> Anexo1 enriquece <strong>la</strong> posibilidad <strong>de</strong> diferencias entre <strong>la</strong>s responsabilida<strong>de</strong>s <strong>de</strong> los usuarios que<strong>de</strong>sempeñen un papel protagónico en el proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes acor<strong>de</strong> a <strong>la</strong>ssoluciones utilizadas y los negocios o escenarios <strong>de</strong> acción [92] , por lo que tampoco pue<strong>de</strong>afirmarse que <strong>la</strong> jerarquía <strong>de</strong> roles ofrecida hasta el momento <strong>para</strong> este propósito sea <strong>la</strong> óptima<strong>para</strong> todas <strong>la</strong>s situaciones.Esencialmente, <strong>la</strong> complejidad <strong>de</strong>l proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes en una herramienta <strong>de</strong><strong>gestión</strong> aumenta al tenerse que consi<strong>de</strong>rar los roles que se incorporan con <strong>la</strong> creación y elcontrol <strong>de</strong> reportes, re<strong>la</strong>cionados no sólo con el negocio, sino también con <strong>la</strong>s exigencias <strong>de</strong>lgenerador <strong>para</strong> su funcionamiento.Aparentemente, un generador funciona sin problemas al ofrecer al usuario el reporte que este<strong>de</strong>sea, pero al restringir tareas <strong>de</strong> creación <strong>de</strong> reportes y c<strong>la</strong>sificar estos <strong>para</strong> su visualización<strong>de</strong> acuerdo con el tipo <strong>de</strong> usuario, se <strong>de</strong>be garantizar que <strong>la</strong> herramienta se ajuste a <strong>la</strong>estructura <strong>de</strong> <strong>la</strong> organización sobre <strong>la</strong> cual será usada. Es importante evitar <strong>la</strong> confusión entrelos usuarios <strong>de</strong> estos sistemas y <strong>de</strong>finir c<strong>la</strong>ramente el rol <strong>de</strong> cada uno <strong>de</strong> ellos en el proceso <strong>de</strong><strong>gestión</strong>.Una vez <strong>de</strong>scrita <strong>la</strong> situación apreciada en el sistema GREHU posterior a <strong>la</strong> inclusión <strong>de</strong>l nuevosubsistema Generador <strong>de</strong> Reportes y <strong>de</strong>spués <strong>de</strong> exten<strong>de</strong>r<strong>la</strong> al resto <strong>de</strong> los sistemas <strong>de</strong><strong>gestión</strong> <strong>de</strong> información, es posible <strong>de</strong>finir como problema <strong>la</strong> carencia <strong>de</strong> <strong>la</strong> consi<strong>de</strong>ración <strong>de</strong>los posibles y diferentes roles <strong>de</strong> usuarios que intervienen en los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong>reportes en el subsistema Generador <strong>de</strong> Reportes <strong>de</strong>l sistema GREHU y <strong>la</strong> subestimación <strong>de</strong>limpacto sobre el escenario <strong>de</strong> uso <strong>de</strong> una herramienta informática al alterar aspectos <strong>de</strong> <strong>la</strong>misma ignorando dicho tema.Como objeto <strong>de</strong> estudio <strong>de</strong> <strong>la</strong> investigación se <strong>de</strong>fine <strong>para</strong> el escenario cliente/usuario <strong>la</strong>smúltiples activida<strong>de</strong>s empresariales, <strong>la</strong> forma <strong>de</strong> gestionar <strong>la</strong> información en <strong>la</strong>s mismas y <strong>la</strong>sdiferentes responsabilida<strong>de</strong>s asignadas a cada usuario, así como <strong>la</strong>s posibilida<strong>de</strong>s existentes<strong>de</strong> automatización <strong>de</strong> los procesos <strong>de</strong> una organización y <strong>la</strong>s ventajas que esto ofrece. Des<strong>de</strong>el escenario <strong>de</strong>l especialista <strong>informático</strong> se establecen <strong>la</strong>s herramientas y aplicaciones<strong>de</strong>sarrol<strong>la</strong>das hasta el momento <strong>para</strong> facilitar el trabajo con los datos que se manipu<strong>la</strong>n en <strong>la</strong>sdiferentes activida<strong>de</strong>s empresariales, así como <strong>la</strong>s <strong>de</strong>stinadas a simu<strong>la</strong>r el comportamiento <strong>de</strong>4


INTRODUCCIÓNlos procesos <strong>de</strong> estas entida<strong>de</strong>s <strong>para</strong> permitir una remo<strong>de</strong><strong>la</strong>ción <strong>de</strong> los mismos <strong>de</strong> maneraeficiente. También se incluyen <strong>la</strong>s herramientas generadoras <strong>de</strong> reportes existentes y <strong>la</strong>sjerarquías <strong>de</strong> roles <strong>de</strong> usuarios <strong>de</strong>finidas con estos fines.Como campo <strong>de</strong> acción se establece <strong>de</strong>s<strong>de</strong> el escenario cliente/usuario, <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> <strong>gestión</strong><strong>de</strong> <strong>la</strong> información <strong>de</strong> <strong>la</strong>s activida<strong>de</strong>s empresariales, <strong>la</strong> forma <strong>de</strong> representar<strong>la</strong> por medio <strong>de</strong>formatos <strong>de</strong> reportes o informes y <strong>la</strong>s ventajas que los mismos reportan en cada negocio.A<strong>de</strong>más, se incluyen <strong>la</strong>s diferentes estructuras utilizadas <strong>para</strong> almacenar y organizar estainformación con <strong>la</strong> finalidad <strong>de</strong> presentar<strong>la</strong> lo más amigable posible y se orienta el estudio hacialos procesos referentes al <strong>de</strong>sarrollo <strong>de</strong> reportes así como <strong>la</strong>s principales responsabilida<strong>de</strong>s <strong>de</strong>usuarios frente a los mismos. También, <strong>de</strong>s<strong>de</strong> el escenario <strong>de</strong>l especialista <strong>informático</strong> se<strong>de</strong>fine el campo <strong>de</strong> acción como a <strong>la</strong>s normas <strong>para</strong> <strong>la</strong> representación <strong>de</strong> <strong>la</strong> información y loscriterios consi<strong>de</strong>rados al conformar <strong>de</strong> forma eficiente los reportes, tales como: búsqueda,or<strong>de</strong>namiento, filtración y selección <strong>de</strong> <strong>la</strong> información. Se incluye a<strong>de</strong>más <strong>la</strong>s facilida<strong>de</strong>s que seobtienen gestionando al más bajo nivel posible los ficheros que <strong>de</strong>finen p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes, afin <strong>de</strong> lograr <strong>la</strong> obtención <strong>de</strong> reportes altamente compatibles con cualquier formato o tecnologíautilizada; y <strong>la</strong>s alternativas que permiten el <strong>de</strong>sarrollo <strong>de</strong> sistemas flexibles altamentein<strong>de</strong>pendientes <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma en <strong>la</strong> que sean utilizados y que se puedan acop<strong>la</strong>r a cualquierbase <strong>de</strong> datos, sin importar cómo estén diseñadas <strong>la</strong>s mismas. Por último, se adicionan losroles existentes <strong>de</strong> acuerdo con <strong>la</strong>s jerarquías <strong>de</strong> los usuarios <strong>de</strong> los negocios que utilizarán <strong>la</strong>sherramientas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información y los roles <strong>de</strong> usuarios <strong>de</strong>finidos <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong>reportes.Como objetivo general <strong>de</strong>l trabajo se establece <strong>la</strong> realización <strong>de</strong> un sistema <strong>informático</strong> <strong>para</strong>generar reportes, que permita gestionar los roles re<strong>la</strong>cionados con los procesos <strong>de</strong> generación<strong>para</strong> <strong>la</strong> distribución <strong>de</strong> responsabilida<strong>de</strong>s acor<strong>de</strong> al conocimiento <strong>de</strong>l usuario.Para cumplir el objetivo principal <strong>de</strong>l trabajo se han establecido varios objetivos específicoslos cuales se re<strong>la</strong>cionan a continuación: Seleccionar o concebir el proceso <strong>de</strong> creación <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes incorporando elmayor número posible <strong>de</strong> ventajas observadas <strong>de</strong> acuerdo con los estudios realizados. Elegir o <strong>de</strong>finir un formato <strong>de</strong> almacenamiento, flexible a <strong>la</strong>s modificaciones, que permitaprocesar p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes altamente <strong>personalizada</strong>s con un elevado grado <strong>de</strong>in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma y <strong>de</strong>l ambiente <strong>de</strong> programación utilizado.5


INTRODUCCIÓN Seleccionar módulos, bibliotecas o herramientas <strong>de</strong> programación que permitan <strong>de</strong>sarrol<strong>la</strong>raplicaciones que interactúen con <strong>la</strong> mayor diversidad <strong>de</strong> fuentes <strong>de</strong> datosin<strong>de</strong>pendientemente <strong>de</strong>l diseño <strong>de</strong> estas o <strong>de</strong> su naturaleza. Seleccionar un entorno <strong>de</strong> programación <strong>de</strong> libre distribución que facilite <strong>la</strong> implementacióny permita el trabajo con potentes bibliotecas <strong>para</strong> <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong> los ficheros; yescoger un lenguaje <strong>de</strong> programación que permita el <strong>de</strong>sarrollo <strong>de</strong> aplicaciones flexibles ein<strong>de</strong>pendientes <strong>de</strong> p<strong>la</strong>taformas. Diseñar e implementar un módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios que permita contro<strong>la</strong>r e<strong>la</strong>cceso y los permisos a <strong>la</strong>s diferentes opciones <strong>de</strong>l sistema. Definir e implementar un módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes que garantice <strong>la</strong> extensibilidad,flexibilidad y usabilidad <strong>de</strong> <strong>la</strong> herramienta propuesta.Con el propósito <strong>de</strong> cumplir los objetivos específicos se establecen <strong>la</strong>s siguientes tareas: Realizar un estudio <strong>de</strong>tal<strong>la</strong>do <strong>de</strong> diferentes asistentes <strong>para</strong> diseñar y generar reportes con<strong>la</strong> finalidad <strong>de</strong> a<strong>de</strong>ntrarse en los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> los mismos y en <strong>la</strong>s ventajas queestos presentan. Efectuar un profundo estudio <strong>de</strong> <strong>la</strong>s múltiples estructuras estandarizadas <strong>de</strong> ficheros <strong>de</strong>reportes, así como los más aceptados formatos <strong>para</strong> <strong>la</strong> representación y transmisión <strong>de</strong> <strong>la</strong>información. Estudiar varias herramientas <strong>de</strong>stinadas al trabajo con reportes y analizar <strong>la</strong> posibilidad <strong>de</strong>seleccionar una <strong>de</strong> el<strong>la</strong>s o incluir <strong>la</strong>s mejores prestaciones observadas, en <strong>la</strong> soluciónpropuesta. Estudiar módulos programados, bibliotecas y tecnologías <strong>de</strong> programación que permitan <strong>la</strong>interacción con <strong>la</strong> mayor diversidad <strong>de</strong> bases <strong>de</strong> datos. Estudiar el tratamiento <strong>de</strong> roles <strong>de</strong> usuarios <strong>de</strong> diferentes herramientas, particu<strong>la</strong>rmentelos <strong>de</strong>finidos <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes, así como herramientas <strong>de</strong>dicadas a <strong>la</strong> <strong>gestión</strong>directa <strong>de</strong> los mismos. Aplicar encuestas a clientes <strong>de</strong>l sistema GREHU y <strong>de</strong> otros sistemas <strong>informático</strong>s quebrin<strong>de</strong>n reportes con <strong>la</strong> finalidad <strong>de</strong> conocer <strong>la</strong>s principales incomodida<strong>de</strong>s y ambiciones<strong>de</strong> estos, con re<strong>la</strong>ción a los reportes.6


INTRODUCCIÓN Estudiar mecanismos <strong>de</strong> control <strong>de</strong> acceso <strong>de</strong> funcionalida<strong>de</strong>s a usuarios, así comoentornos <strong>de</strong> trabajo existentes <strong>para</strong> el manejo <strong>de</strong> <strong>la</strong> seguridad en función <strong>de</strong>l controlmediante políticas <strong>de</strong> acceso y permisos. Realizar una prueba segmentada <strong>de</strong> <strong>la</strong> solución y registrar el <strong>de</strong>sempeño <strong>de</strong> los usuariosante <strong>la</strong> misma.Como hipótesis se establece que si se <strong>de</strong>sarrol<strong>la</strong> una aplicación informática <strong>para</strong> generarreportes <strong>de</strong> manera <strong>dinámica</strong> y <strong>personalizada</strong>, que permita gestionar los roles <strong>de</strong> usuarios <strong>para</strong>distribuir correctamente <strong>la</strong>s responsabilida<strong>de</strong>s <strong>de</strong> estos en los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes,se logrará una mejora en <strong>la</strong> automatización <strong>de</strong> tales aspectos y se aumentará el grado <strong>de</strong>aceptación re<strong>la</strong>cionado con el funcionamiento <strong>de</strong> los reportes en los sistemas <strong>de</strong> <strong>gestión</strong> <strong>de</strong>información, por parte <strong>de</strong> los usuarios.En <strong>de</strong>talle, <strong>la</strong> aplicación informática a implementar <strong>de</strong>be permitir realizar p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportesaltamente <strong>personalizada</strong>s y acop<strong>la</strong>rse a distintas fuentes <strong>de</strong> datos ya existentesin<strong>de</strong>pendientemente <strong>de</strong>l diseño que posean estas, su naturaleza y los gestores <strong>de</strong> bases <strong>de</strong>datos utilizados <strong>para</strong> <strong>la</strong> creación <strong>de</strong> <strong>la</strong>s mismas. La herramienta <strong>de</strong>be ser aplicable a <strong>la</strong>sdiferentes organizaciones en <strong>la</strong>s que se <strong>de</strong>see utilizar, <strong>para</strong> lo cual se ha <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r unmódulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles consi<strong>de</strong>rando que <strong>la</strong> jerarquía <strong>de</strong> usuarios <strong>para</strong> conformar y obtenerreportes pue<strong>de</strong> cambiar en función <strong>de</strong> <strong>la</strong> organización don<strong>de</strong> se utilice <strong>la</strong> solución. EL sistema<strong>de</strong>be crearse bajo <strong>la</strong> concepción <strong>de</strong> in<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> p<strong>la</strong>taformas, software libre, y <strong>para</strong> su<strong>de</strong>sarrollo <strong>de</strong>berán utilizarse formatos y tecnologías <strong>de</strong> ficheros que hagan posible <strong>la</strong>comunicación y transmisión <strong>de</strong> <strong>la</strong> información in<strong>de</strong>pendientemente a los disímiles ambientes ytecnologías <strong>de</strong> programación existentes.La aplicación informática <strong>de</strong>be contar a<strong>de</strong>más, con una potente ayuda <strong>para</strong> facilitarles a losusuarios su utilización, así como un manual <strong>de</strong> usuario, don<strong>de</strong> se <strong>de</strong>scriba <strong>de</strong> forma <strong>de</strong>tal<strong>la</strong>da<strong>la</strong> manera <strong>de</strong> aprovechar al máximo sus funcionalida<strong>de</strong>s, y un manual <strong>de</strong> programación quepermita <strong>la</strong> comprensión <strong>de</strong> contenidos c<strong>la</strong>ves <strong>para</strong> el mantenimiento y continuidad <strong>de</strong>l trabajopor parte <strong>de</strong> profesionales <strong>informático</strong>s.Entre los principales aportes prácticos esperados con <strong>la</strong> realización <strong>de</strong>l presente trabajo seencuentran: Una herramienta que exponga una interfaz intuitiva que se ajuste a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>lusuario que pretenda utilizar<strong>la</strong> <strong>para</strong> <strong>de</strong> esta forma evitar confusión en su uso.7


INTRODUCCIÓN La posibilidad <strong>de</strong> que los usuarios vean reflejada <strong>la</strong> estructura <strong>de</strong> su organización acor<strong>de</strong> asus requerimientos. El aumento <strong>de</strong>l protagonismo <strong>de</strong> los usuarios respecto al papel que estos juegan frente aun sistema <strong>informático</strong>. La reve<strong>la</strong>ción <strong>de</strong> <strong>la</strong> existencia <strong>de</strong> problemas que están siendo obviados evitandocomprometerse con soluciones que <strong>de</strong>man<strong>de</strong>n una mercada complejidad.El presente documento constituye el informe principal <strong>de</strong> <strong>la</strong> investigación realizada y <strong>la</strong>implementación <strong>de</strong> <strong>la</strong> herramienta <strong>de</strong>sarrol<strong>la</strong>da. El mismo está estructurado en introducción,contenido (distribuido en tres capítulos), conclusiones, recomendaciones, referenciasbibliográficas, bibliografía, glosario <strong>de</strong> sig<strong>la</strong>s y términos, y anexos. En el primer capítulo se<strong>de</strong>scribe el trabajo que antece<strong>de</strong> al presente, <strong>la</strong>s <strong>de</strong>ficiencias <strong>de</strong>tectadas, el estudio <strong>de</strong>l estado<strong>de</strong>l arte efectuado y otros <strong>de</strong>talles <strong>de</strong> <strong>la</strong> investigación. El segundo capítulo fundamentalmentese encarga <strong>de</strong> presentar aspectos <strong>de</strong> <strong>la</strong> concepción <strong>de</strong> <strong>la</strong> solución propuesta y en el tercer yúltimo capítulo se exponen temas re<strong>la</strong>cionados con <strong>la</strong> implementación, <strong>la</strong>s pruebas realizadas yel análisis <strong>de</strong> los resultados alcanzados.8


CAPÍTULOICAPÍTULO I. ANTECEDENTES Y DETALLES DE LA INVESTIGACIÓN


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación1.1 IntroducciónEl presente capítulo comienza con un análisis <strong>de</strong> los antece<strong>de</strong>ntes <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes enel campo <strong>de</strong> <strong>la</strong> informática introduciéndose <strong>de</strong> esta forma conceptos fundamentales en <strong>la</strong>investigación que serán utilizados en el resto <strong>de</strong>l trabajo. Seguidamente se realiza un análisiscrítico al generador <strong>de</strong> reportes diseñado <strong>para</strong> el sistema GREHU y se enfatiza en losproblemas ya existentes, pero esc<strong>la</strong>recidos con <strong>la</strong> inclusión <strong>de</strong> <strong>la</strong> nueva herramienta.Una vez realizado el análisis crítico al generador <strong>de</strong> reportes <strong>de</strong>l GREHU y exponer <strong>de</strong>talles <strong>de</strong><strong>la</strong> problemática, se extien<strong>de</strong> <strong>la</strong> situación al resto <strong>de</strong> <strong>la</strong>s herramientas generadoras <strong>de</strong> reportes yse expone el estudio <strong>de</strong>l estado <strong>de</strong>l arte realizado pretendiendo concebir <strong>la</strong> mas óptima <strong>de</strong> <strong>la</strong>ssoluciones en función <strong>de</strong> cumplir con el objetivo fundamental <strong>de</strong>l trabajo. Por último y <strong>de</strong>manera tentativa, se exponen <strong>la</strong>s ventajas observadas en los sistemas existentes estudiados ylos posibles <strong>de</strong>fectos en <strong>la</strong>s soluciones brindadas hasta el momento, fundamentandocorrectamente <strong>la</strong> <strong>de</strong>cisión <strong>de</strong> seleccionar una herramienta ya existente o comenzar el <strong>de</strong>sarrollo<strong>de</strong> una totalmente nueva haciendo uso <strong>de</strong> bonda<strong>de</strong>s, bibliotecas o componentes ya existentes.1.2 Antece<strong>de</strong>ntes <strong>de</strong> <strong>la</strong> Gestión <strong>de</strong> ReportesLos reportes <strong>informático</strong>s han exigido un lugar en <strong>la</strong>s ciencias <strong>de</strong> <strong>la</strong> computación <strong>de</strong>s<strong>de</strong> susinicios. Primeramente, como muchos otros temas <strong>de</strong> <strong>la</strong> informática, no fueron consi<strong>de</strong>radosrelevantes y al transcurrir el tiempo han logrado capturar <strong>la</strong> atención <strong>de</strong> expertos, aunque seconsi<strong>de</strong>ra que aun en <strong>la</strong> actualidad existen problemas re<strong>la</strong>cionados con ellos que son pasadospor alto [92] .Con el paso <strong>de</strong>l tiempo <strong>la</strong>s propuestas <strong>de</strong> soluciones <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes han idoaumentando su complejidad y variedad [19] (Ver Anexo 1). Actualmente existen múltiplesherramientas que son c<strong>la</strong>sificadas <strong>de</strong> acuerdo con diferentes criterios. En cuanto al propósito<strong>de</strong>l trabajo <strong>de</strong>l usuario final se pue<strong>de</strong>n mencionar los grupos <strong>de</strong> [71] : Bibliotecas, componentes y herramientas: Destinados generalmente a <strong>la</strong> creación <strong>de</strong>generadores <strong>de</strong> reportes, aunque permiten <strong>de</strong>sarrol<strong>la</strong>r reportes <strong>para</strong> sistemas <strong>informático</strong>scon fines específicos diferentes al <strong>de</strong> los generadores <strong>de</strong> reportes. Generadores <strong>de</strong> reportes: Permiten crear reportes <strong>para</strong> otras herramientas.10


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación Herramientas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información: <strong>Sistema</strong>s <strong>de</strong> propósitos bien <strong>de</strong>finidosencaminados a cumplir con <strong>la</strong> automatización <strong>de</strong> procesos <strong>de</strong> negocios. Presentanreportes basados en p<strong>la</strong>ntil<strong>la</strong>s estáticas.Otro criterio que se utiliza <strong>para</strong> c<strong>la</strong>sificar <strong>la</strong>s herramientas <strong>de</strong> reportes viene dado por <strong>la</strong>extensión <strong>de</strong>l impacto que estas tienen. Bajo este enfoque se encuentran <strong>la</strong>s herramientascomunes y <strong>la</strong>s p<strong>la</strong>taformas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes [92] .La diversidad <strong>de</strong> c<strong>la</strong>sificaciones <strong>de</strong> herramientas <strong>de</strong> reportes sólo es citada con el propósito <strong>de</strong>exponer <strong>la</strong> complejidad que estas han ido alcanzando con el tiempo. Para <strong>la</strong> realización <strong>de</strong>lpresente trabajo no se requiere c<strong>la</strong>sificación alguna, <strong>de</strong>bido a que se intenta resolver uno <strong>de</strong> losproblemas que <strong>de</strong> alguna forma ha sido ignorado hasta el momento. En epígrafes posterioresse <strong>de</strong>tal<strong>la</strong>rá al respecto haciendo mención y com<strong>para</strong>ciones <strong>de</strong> alternativas que puedan aportaren alguna medida a <strong>la</strong> solución <strong>de</strong>l problema presentado.1.3 Conceptos C<strong>la</strong>vesLa <strong>gestión</strong> <strong>de</strong> reportes <strong>informático</strong>s con el tiempo se ha complejizado, por lo que ha sidonecesario <strong>de</strong>finir conceptos <strong>para</strong> formalizar <strong>la</strong>s bases teóricas <strong>de</strong> dicha área. Para ello se hanestudiado aspectos re<strong>la</strong>cionados a <strong>la</strong> forma <strong>de</strong> recuperar <strong>la</strong> información necesaria <strong>para</strong> crearlos reportes, así como los elementos re<strong>la</strong>cionados a <strong>la</strong> manera <strong>de</strong> exponer<strong>la</strong>. Para estas<strong>de</strong>finiciones es importante consi<strong>de</strong>rar que existen aspectos <strong>de</strong> otros campos <strong>de</strong> <strong>la</strong> informáticaque ofrecen bonda<strong>de</strong>s <strong>para</strong> el perfeccionamiento <strong>de</strong> los sistemas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes.1.3.1 Gestión <strong>de</strong> ReportesSeguidamente se introducen los principales conceptos tenidos en cuenta en el presente trabajo<strong>para</strong> el estudio <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los reportes. A<strong>de</strong>más se expone <strong>la</strong> estructura <strong>de</strong>l proceso sobreel cual se basa <strong>la</strong> concepción y exportación <strong>de</strong> estos.1.3.1.1 Fuentes <strong>de</strong> DatosLas fuentes <strong>de</strong> datos esencialmente constituyen el punto <strong>de</strong> abastecimiento <strong>de</strong> los reportes [71] .Son el primer aspecto a gestionar <strong>para</strong> <strong>la</strong> creación <strong>de</strong> los mismos, <strong>de</strong>bido a que no solo brindan<strong>la</strong> información a mostrar, sino que en función <strong>de</strong> el<strong>la</strong>s son diseñadas <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s. En elproceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes es importante conocer qué es lo que este <strong>de</strong>be contener <strong>para</strong>po<strong>de</strong>r <strong>de</strong>finir cómo hacerlo.11


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónActualmente, el mayor problema re<strong>la</strong>cionado con <strong>la</strong>s fuentes <strong>de</strong> datos viene dado por el tema<strong>de</strong> <strong>la</strong> compatibilidad <strong>de</strong>bido a <strong>la</strong> gran diversidad existente. Con <strong>la</strong> popu<strong>la</strong>ridad alcanzada por lossistemas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> datos y <strong>la</strong> gran variedad <strong>de</strong> opciones que estos presentan <strong>para</strong> e<strong>la</strong>lmacenamiento y consulta <strong>de</strong> los datos, así como <strong>la</strong>s contradicciones <strong>de</strong> compatibilidad entrep<strong>la</strong>taformas y herramientas, <strong>la</strong> naturaleza <strong>de</strong> <strong>la</strong>s fuentes <strong>de</strong> datos ha experimentado un fuertecrecimiento en cuanto a diversidad.1.3.1.2 P<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> ReporteEl fichero que almacena <strong>la</strong> estructura <strong>de</strong>l reporte, contiene, casi en su totalidad, <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong>lmismo. Generalmente, <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> constituye un fichero que a<strong>de</strong>más incluye en su estructura,datos sobre <strong>la</strong> fuente que brinda <strong>la</strong> información y <strong>la</strong> forma <strong>de</strong> mostrar<strong>la</strong> (formato <strong>de</strong> <strong>la</strong> página yconfiguración <strong>de</strong> impresión). A<strong>de</strong>más, con frecuencia se asocian a el<strong>la</strong> <strong>de</strong>talles <strong>de</strong> <strong>la</strong> aparienciaexterna <strong>de</strong>l reporte como color, formato, estilo <strong>de</strong> <strong>la</strong>s fuentes, etc [71] .Es importante <strong>de</strong>stacar que junto a <strong>la</strong> atención que han ido ganando con el tiempo los reportes<strong>de</strong>ntro <strong>de</strong> <strong>la</strong>s ciencias <strong>de</strong> <strong>la</strong> computación, también ha evolucionado <strong>la</strong> estructura <strong>de</strong> susp<strong>la</strong>ntil<strong>la</strong>s. Si <strong>de</strong>s<strong>de</strong> un inicio, <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> solo era analizada como un elemento más <strong>de</strong> <strong>la</strong> interfazgráfica <strong>de</strong> usuario, actualmente no solo incluye aspectos <strong>de</strong> suministro <strong>de</strong> información, sino quese ha complejizado cada aspecto <strong>de</strong> <strong>la</strong> misma llegándose a estandarizar muchos <strong>de</strong> losficheros existentes que <strong>la</strong> representan [17][49][55] . Vale <strong>la</strong> pena <strong>de</strong>stacar que una p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong>reporte en <strong>la</strong> actualidad presenta una estructura compleja que permite una elevada completitud<strong>para</strong> facilitar el alcance <strong>de</strong> los propósitos perseguidos con los reportes.En cuanto a <strong>la</strong> parte visual <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s, también se han alcanzado consi<strong>de</strong>rables bonda<strong>de</strong>sal estandarizar sus elementos principales [58] los cuales regu<strong>la</strong>rmente son [33][71] [13]: Las Bandas: Definen el espacio don<strong>de</strong> se ubicará cada componente visual <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>.En <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong> banda don<strong>de</strong> se sitúe un componente podrá exten<strong>de</strong>r susfuncionalida<strong>de</strong>s (Ver Anexo 3). Componentes Visuales: Etiquetas, formas (líneas y <strong>de</strong>más figuras geométricas),imágenes, tab<strong>la</strong>s, gráficas y campos <strong>de</strong> exposición <strong>dinámica</strong> <strong>de</strong> información.1.3.1.3 Carga <strong>de</strong> Datos y Representación <strong>de</strong> InformaciónUna vez seleccionada una fuente <strong>de</strong> datos <strong>para</strong> <strong>la</strong> creación <strong>de</strong>l reporte y concluido el proceso<strong>de</strong> creación (Ver Epígrafe 1.3.1.5) queda conformada y almacenada <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>, <strong>de</strong>spués sólo restaobtenerlo <strong>para</strong> visualizar <strong>la</strong> información ya sea por pantal<strong>la</strong> o por impresora.12


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónAl orientarse <strong>la</strong> ejecución <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> generalmente se carga <strong>la</strong> información <strong>de</strong> <strong>la</strong> fuente ysolo <strong>de</strong>spués es mostrado el reporte. Existen algunas herramientas que hacen obligatoria estasecuencia, otras permiten imprimir un reporte mostrando información almacenada en <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>durante su última carga [33] . Esto incorpora el riesgo <strong>de</strong> exponer información obsoleta si no setiene en cuenta <strong>la</strong> frecuencia <strong>de</strong> cambios <strong>de</strong> los datos <strong>de</strong> <strong>la</strong> fuente, aunque también ofrece <strong>la</strong>ventaja <strong>de</strong> permitir mayor portabilidad en los formatos <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s.1.3.1.4 Formatos <strong>de</strong> Reportes y ExportaciónMuchos formatos <strong>de</strong> reportes con el tiempo han convergido sobre estructuras comunes y sehan estandarizado con el propósito <strong>de</strong> llegar a ser compatibles con múltiples entornos yherramientas [17][55] . Bajo tecnologías como <strong>la</strong> XML actualmente es posible <strong>de</strong>sarrol<strong>la</strong>r p<strong>la</strong>ntil<strong>la</strong>s<strong>de</strong> reportes que sean reconocidas por diferentes sistemas, esto ha hecho a muchos<strong>de</strong>sarrol<strong>la</strong>dores pensar en <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s como un producto que pueda distribuirse con una granin<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l gestor o cualquier otro sistema que antes fuera consi<strong>de</strong>rado indispensable<strong>para</strong> <strong>la</strong> obtención <strong>de</strong>l reporte.Aunque <strong>de</strong>s<strong>de</strong> sus inicios, <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los reportes comenzó a incorporar disímiles formatos<strong>de</strong> ficheros y aun existen conflictos <strong>de</strong> compatibilidad por <strong>la</strong> diversidad que estos presentan, elfuturo promete dar paso a favor <strong>de</strong> <strong>la</strong> unidad en búsqueda <strong>de</strong> in<strong>de</strong>pen<strong>de</strong>ncia entre p<strong>la</strong>taformas,ambientes y herramientas. Una funcionalidad muy popu<strong>la</strong>r implementada en los gestores alrespecto ha sido permitir exportar sus reportes a formatos reconocidos por <strong>la</strong> mayoría <strong>de</strong> <strong>la</strong>stecnologías, enfocando a <strong>la</strong> extensibilidad como un requisito crítico en ellos [33][49] . Muchos <strong>de</strong>estos formatos pue<strong>de</strong>n ser reconocidos por visores <strong>de</strong> texto, como el popu<strong>la</strong>r PDF, <strong>de</strong> usoestandarizado en diferentes ambientes <strong>de</strong> programación.1.3.1.5 Proceso <strong>de</strong> CreaciónComo fue <strong>de</strong>scrito anteriormente, al concluir el proceso <strong>de</strong> creación <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>, ésta quedaconformada y almacenada, conteniendo toda <strong>la</strong> estructura <strong>de</strong>l reporte, restando sólo suejecución <strong>para</strong> po<strong>de</strong>r obtener el reporte. La necesidad <strong>de</strong> conocer <strong>la</strong> información que semostrará <strong>de</strong> una fuente es primordial <strong>para</strong> establecer criterios <strong>de</strong> or<strong>de</strong>namiento, agrupamiento yselección o filtrado <strong>de</strong> <strong>la</strong> misma.Este proceso generalmente está representado por asistentes que le permiten al usuario, sin <strong>la</strong>necesidad <strong>de</strong> conocimientos profundos <strong>de</strong> computación, diseñar reportes que pue<strong>de</strong>n contenerhasta gráficos. Otra forma <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r <strong>la</strong> creación es mediante <strong>la</strong> <strong>gestión</strong> directa <strong>de</strong> <strong>la</strong>p<strong>la</strong>ntil<strong>la</strong> basándose en una vista gráfica <strong>de</strong> esta. Aunque <strong>de</strong> esta forma se necesita tener un13


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónconocimiento más profundo <strong>de</strong> <strong>la</strong> herramienta, con el<strong>la</strong> se logra alcanzar un diseño másajustado a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l usuario.De cualquier forma, con el tiempo el proceso <strong>de</strong> creación <strong>de</strong> reportes se ha estandarizado y <strong>la</strong>mayoría <strong>de</strong> <strong>la</strong>s herramientas lo conciben formado por pasos, algunos <strong>de</strong> los cuales nonecesariamente se realizan siempre en un mismo or<strong>de</strong>n [70][71] . En <strong>la</strong> Figura 2 se expone suestructura genérica comenzando <strong>la</strong> secuencia <strong>de</strong> los pasos <strong>de</strong> arriba hacia abajo.Definición <strong>de</strong> Fuentes <strong>de</strong> DatosSelección <strong>de</strong> <strong>la</strong> InformaciónOr<strong>de</strong>namiento Agrupamiento FiltradoInclusión <strong>de</strong> Operaciones Lógicas y MatemáticasInclusión <strong>de</strong> Gráficos o Tab<strong>la</strong>sGestión Gráfica <strong>de</strong> <strong>la</strong> P<strong>la</strong>ntil<strong>la</strong>EjecuciónImpresiónExportaciónFigura 2. Estructura Genérica <strong>de</strong>l Proceso <strong>de</strong> Concepción <strong>de</strong> un Reporte [70][71] .Cada paso <strong>de</strong>ntro <strong>de</strong>l proceso tiene un propósito bien <strong>de</strong>finido. Seguidamente se expone <strong>la</strong>esencia <strong>de</strong> cada uno <strong>de</strong> ellos [70] : Definición <strong>de</strong> fuentes <strong>de</strong> datos: Establecimiento <strong>de</strong> conexiones a bases <strong>de</strong> datos,fragmentos <strong>de</strong> bases <strong>de</strong> datos o ficheros que abastezcan <strong>de</strong> información al reporte.Constituye el primer paso a efectuar en <strong>la</strong> concepción <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>. Selección <strong>de</strong> <strong>la</strong> información: A partir <strong>de</strong> <strong>la</strong> fuente seleccionada, se escogen <strong>de</strong> los datosque suministra <strong>la</strong> misma los que se <strong>de</strong>sean mostrar en el reporte. Or<strong>de</strong>namiento: Consiste en establecer criterios <strong>de</strong> or<strong>de</strong>namiento acor<strong>de</strong> a los datos queserán mostrados <strong>de</strong>bido a que carece <strong>de</strong> sentido utilizar como criterio <strong>de</strong> or<strong>de</strong>namientoalguna información que no se mostrará en el reporte. Al igual que el resto <strong>de</strong> los pasos que14


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónsiguen hasta <strong>la</strong> concepción final <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>, no tiene un or<strong>de</strong>n fijo <strong>de</strong>ntro <strong>de</strong>l proceso<strong>de</strong>bido a que pue<strong>de</strong> variar en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong> herramienta que lo implemente. Agrupamiento: No es más que <strong>la</strong> creación <strong>de</strong> grupos lógicos <strong>para</strong> establecer unaapariencia eficiente en el reporte facilitando <strong>la</strong> localización <strong>de</strong> <strong>la</strong> información expuesta.Este paso permite <strong>la</strong> incorporación <strong>de</strong> operaciones matemáticas que aportan informaciónparcial sobre cada grupo facilitando <strong>la</strong> toma <strong>de</strong> <strong>de</strong>cisiones (Ver Anexo 4Anexo 1). Algunasherramientas limitan el número posible <strong>de</strong> grupos a crear. Filtrado: Consiste en seleccionar <strong>la</strong> información <strong>de</strong> acuerdo con criterios que en ocasionespue<strong>de</strong>n tornarse complejos, por lo que muchas herramientas pue<strong>de</strong>n incluir editores <strong>de</strong>expresiones lógicas <strong>para</strong> realizar el mismo. El filtrado no necesariamente tiene querealizarse por datos que serán mostrados en el reporte, pue<strong>de</strong> exponerse informaciónfiltrada por criterios que actúan sobre datos no expuestos. Un ejemplo lo constituye ellistado <strong>de</strong> <strong>la</strong>s obreras <strong>de</strong> una fábrica, don<strong>de</strong> se muestran los nombres <strong>de</strong> <strong>la</strong>s trabajadoraspero no su sexo. Inclusión <strong>de</strong> operaciones lógicas y matemáticas: Consiste en incorporar a <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>operaciones <strong>de</strong> sumatorias, cálculos <strong>de</strong> promedios, etc. Este paso pue<strong>de</strong> requerir <strong>de</strong> uneditor <strong>de</strong> expresiones matemáticas <strong>para</strong> <strong>de</strong>finir criterios complejos y pue<strong>de</strong> realizarseconjuntamente con el paso <strong>de</strong> agrupamiento antes <strong>de</strong>scrito. Un ejemplo lo constituye <strong>la</strong>cuenta <strong>de</strong> trabajadores por <strong>de</strong>partamentos, este proceso suele ser nombrado “cálculo <strong>de</strong>lsubtotal” o “sub-acumu<strong>la</strong>dos”. Inclusión <strong>de</strong> gráficos o tab<strong>la</strong>s: Mediante datos seleccionados <strong>de</strong> <strong>la</strong> fuente se generangráficos <strong>de</strong> diferentes c<strong>la</strong>ses o se forman tab<strong>la</strong>s que serán expuestas en el reporte. Pue<strong>de</strong>utilizarse información generada a partir <strong>de</strong> operaciones lógicas y matemáticas incluidas(Ver Anexo 5). Edición <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>: Una vez realizado todo el proceso se genera <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> o el formato<strong>de</strong>l reporte. En ocasiones, algunas herramientas permiten <strong>la</strong> edición <strong>de</strong> <strong>la</strong> misma <strong>para</strong>personalizar hasta el más mínimo <strong>de</strong>talle, ya sea el color <strong>de</strong> formas, <strong>la</strong> incorporación <strong>de</strong>figuras o <strong>la</strong> distribución exacta <strong>de</strong> los componentes en <strong>la</strong>s diferentes bandas.Generalmente, al concluir <strong>la</strong> <strong>de</strong>finición <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> se realiza su almacenamiento físico. Ejecución <strong>de</strong>l reporte: Una vez concluido el proceso <strong>de</strong> creación <strong>de</strong>l reporte pue<strong>de</strong>realizarse <strong>la</strong> ejecución <strong>de</strong> este <strong>para</strong> su impresión. Muchas herramientas obligan a ejecutaruna vista previa <strong>para</strong> solo <strong>de</strong>spués ofrecer <strong>la</strong>s opciones re<strong>la</strong>cionadas a <strong>la</strong> impresión enformato duro o permitir exportar a otros formatos <strong>de</strong> fichero acor<strong>de</strong> al propósito <strong>de</strong>l15


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónusuario. Este proceso pue<strong>de</strong> resultar tedioso en ocasiones, sobre todo si se estáconsultando constantemente el reporte <strong>para</strong> su impresión, aunque el mismo aumenta <strong>la</strong>posibilidad <strong>de</strong> <strong>de</strong>tectar y corregir errores antes <strong>de</strong> <strong>la</strong> entrega <strong>de</strong>l reporte a su <strong>de</strong>stino final.1.3.1.6 Otros Aspectos RelevantesOtros conceptos re<strong>la</strong>cionados con los reportes y sus p<strong>la</strong>ntil<strong>la</strong>s son los que inci<strong>de</strong>n directamenteen <strong>la</strong> forma <strong>de</strong> visualizar el diseño, ya sea orientación, paginado o configuración <strong>de</strong> impresión.No todos estos aspectos pue<strong>de</strong>n ser gestionados <strong>de</strong> modo personalizado en cada herramienta,algunas simplemente <strong>de</strong>finen un criterio por <strong>de</strong>fecto y lo usan siempre igual como un <strong>de</strong>talleoculto al usuario. Seguidamente se resume <strong>la</strong> esencia <strong>de</strong> cada uno <strong>de</strong> estos elementos [71] : Orientación: Define <strong>la</strong> forma en que se expondrá el contenido en <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>: horizontal (porcolumnas) o vertical (por fi<strong>la</strong>s). Paginado: Permite establecer el tipo <strong>de</strong> hoja que será utilizada <strong>para</strong> <strong>la</strong> impresión. Configuración <strong>de</strong> Impresión: Almacena información sobre impresoras (virtuales operiféricos <strong>de</strong> hardware) a utilizar.1.3.2 Temas Básicos <strong>de</strong> Seguridad InformáticaLa seguridad es otro <strong>de</strong> los aspectos a tratar en el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> herramienta que se proponeen este trabajo. En tal sentido, <strong>la</strong> investigación esencialmente se enfoca a <strong>la</strong> <strong>de</strong>finición <strong>de</strong> roles<strong>de</strong> usuarios, el establecimiento <strong>de</strong> políticas <strong>de</strong> seguridad, el control <strong>de</strong> acciones y registro <strong>de</strong>trazas, así como <strong>la</strong> implementación <strong>de</strong> algoritmos que ofrezcan un tratamiento personalizado a<strong>la</strong> misma.Es importante compren<strong>de</strong>r los roles <strong>de</strong> usuarios como c<strong>la</strong>sificaciones en grupos <strong>de</strong> usuarios,consi<strong>de</strong>rando <strong>la</strong> presencia <strong>de</strong> restricciones y privilegios que sobre estos se establecen. Laesencia <strong>de</strong> los roles es el enfoque conceptual <strong>de</strong>l comportamiento <strong>de</strong>l usuario ante <strong>la</strong>herramienta. Cuando un usuario interactúa con un sistema <strong>de</strong> manera diferente pue<strong>de</strong> estarrepresentando un rol distinto, por lo que es el papel que este <strong>de</strong>sempeña frente al sistema loque <strong>de</strong>termina el rol a <strong>de</strong>sempeñar.Es entonces una tarea <strong>de</strong>licada tratar <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios y modificar los mismos, yaque al alterarlos, en vez <strong>de</strong> modificarlos pudieran estar simplemente <strong>de</strong>jando <strong>de</strong> existir dandolugar a otros nuevos.16


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación1.3.2.1 Los Roles <strong>de</strong> Usuarios en <strong>la</strong> Gestión <strong>de</strong> ReportesEl tratamiento <strong>de</strong> los roles <strong>de</strong> usuarios en <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes se ha <strong>de</strong>scuidadocon<strong>de</strong>nándolo muchas veces al tratamiento estático, abandono u olvido. De manera genera<strong>la</strong>lgunas herramientas, sobre todos <strong>la</strong>s p<strong>la</strong>taformas <strong>de</strong> reportes, <strong>de</strong>finen estructuras como <strong>la</strong><strong>de</strong>tal<strong>la</strong>da en <strong>la</strong> Tab<strong>la</strong> 1, pero el dinamismo <strong>de</strong> los negocios <strong>de</strong>manda un tratamientopersonalizado en tal sentido [92] .Tab<strong>la</strong> 1. Roles <strong>de</strong> Usuarios más Comunes en P<strong>la</strong>taformas <strong>de</strong> Reportes [92] .RolConsumidores <strong>de</strong>ReportesDescripciónUsan <strong>la</strong> información <strong>de</strong> los reportes y son conocedores <strong>de</strong>l funcionamiento <strong>de</strong>lnegocio, aunque no necesariamente conocen <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma.Usuarios Expertos Poseen conocimiento <strong>de</strong>l funcionamiento <strong>de</strong>l negocio y suficiente conocimientoacerca <strong>de</strong> <strong>la</strong> p<strong>la</strong>taforma <strong>de</strong> reporte que les facilita algún grado <strong>de</strong> autoservicio.Autores <strong>de</strong>ReportesAdministrador <strong>de</strong>ReportesPoseen un conocimiento limitado <strong>de</strong>l negocio y una elevada experiencia en <strong>la</strong>sp<strong>la</strong>taformas <strong>de</strong> reportes, así como gran<strong>de</strong>s habilida<strong>de</strong>s <strong>para</strong> el diseño <strong>de</strong> estos.Conocen muy limitadamente el negocio. Tienen experiencia técnica sobre <strong>la</strong>sp<strong>la</strong>taformas <strong>de</strong> reportes, así como conocimiento profundo <strong>de</strong> <strong>la</strong>s fuentes <strong>de</strong> datosque abastecen a los mismos.Los roles expuestos en <strong>la</strong> tab<strong>la</strong> anterior sólo representan un ejemplo <strong>de</strong> algunas propuestashechas por algunas p<strong>la</strong>taformas. Si bien es cierto que <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>s numerosas soluciones queignoran el tema se <strong>de</strong>stacan <strong>la</strong>s que en alguna medida proponen sus jerarquías <strong>de</strong> usuarios,hay que insistir que el dinamismo <strong>de</strong> tal área <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong> información <strong>de</strong>manda<strong>de</strong> roles variables que <strong>de</strong>ben ser estudiados durante más tiempo <strong>de</strong> manera precisa en losescenarios variables <strong>de</strong> los negocios [92] .La ineficiencia <strong>de</strong> los roles antes expuestos pue<strong>de</strong> validarse al no ajustarse tal jerarquía comosolución a <strong>la</strong> situación problemática que se <strong>de</strong>scribiera al inicio <strong>de</strong> este documento. Taljerarquía limita su efectividad sobre p<strong>la</strong>taformas en escenarios condicionados que garantizansu correcto funcionamiento.1.4 Trabajo Previo RealizadoLa problemática <strong>de</strong>finida en esta investigación tiene como antece<strong>de</strong>ntes un trabajo realizado<strong>de</strong>s<strong>de</strong> hace algún tiempo en <strong>la</strong> temática <strong>de</strong> los reportes con el <strong>de</strong>sarrollo <strong>de</strong>l subsistemaGenerador <strong>de</strong> Reportes <strong>de</strong>l <strong>Sistema</strong> GREHU antes mencionado. El sistema GREHU posee tresactores <strong>de</strong> sistema principales: el especialista en recursos humanos, el especialista en17


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigacióncontabilidad y el especialista <strong>informático</strong>. No obstante, esta <strong>de</strong>finición <strong>de</strong> roles fue alterada por<strong>la</strong> inclusión <strong>de</strong> <strong>la</strong> nueva herramienta.1.4.1 Breve <strong>de</strong>scripción <strong>de</strong>l Generador <strong>de</strong> Reportes <strong>de</strong>l GREHUEl Generador <strong>de</strong> Reportes <strong>de</strong>l sistema GREHU posibilita efectuar cualquier actividadre<strong>la</strong>cionada con los reportes <strong>de</strong>ntro <strong>de</strong>l sistema. En él se permiten realizar operaciones como <strong>la</strong>pre<strong>para</strong>ción y organización <strong>de</strong> fuentes <strong>de</strong> datos <strong>de</strong>stinadas a abastecer <strong>de</strong> información a losreportes. Estas fuentes <strong>de</strong> datos se forman por grupos creados <strong>para</strong> contener los diferentesficheros <strong>de</strong> información que elija el usuario, los cuales pue<strong>de</strong>n re<strong>la</strong>cionarse según se estimeconveniente siempre que exista un sentido semántico. Otras <strong>de</strong> <strong>la</strong>s funciones que brinda elsubsistema es permitir diseñar reportes, almacenando su p<strong>la</strong>ntil<strong>la</strong> <strong>para</strong> realizar sobre estacualquier modificación <strong>de</strong>seada posteriormente, o <strong>para</strong> reutilizar un <strong>de</strong>terminado diseño con <strong>la</strong>finalidad <strong>de</strong> ahorrarse <strong>la</strong> creación completa <strong>de</strong> un nuevo reporte <strong>de</strong> apariencia simi<strong>la</strong>r a algunoya existente [71] .Los principales requisitos que rigen el funcionamiento <strong>de</strong>l Generador <strong>de</strong> Reportes <strong>de</strong>l GREHUson [73] : Diseñar nuevos reportes con opciones <strong>de</strong> restricciones y agrupación incluidas. C<strong>la</strong>sificar los reportes disponibles <strong>para</strong> ser ejecutados. Ejecutar reportes <strong>de</strong>l repositorio. Asignar, modificar o retirar diferentes permisos sobre un conjunto <strong>de</strong> reportes a roles <strong>de</strong>usuarios pre<strong>de</strong>terminados. Eliminar reportes <strong>de</strong>l repositorio. Renombrar o modificar el diseño <strong>de</strong> los reportes <strong>de</strong>l repertorio. Distribuir los reportes creados por los diferentes menús <strong>de</strong>l sistema GREHU.En <strong>gestión</strong> <strong>de</strong> <strong>la</strong>s fuentes <strong>de</strong> datos, así como <strong>la</strong>s <strong>de</strong>más tareas, son asignadas a roles segúnlos privilegios otorgados a estos acor<strong>de</strong> al conocimiento requerido. Por último, <strong>la</strong> funcionalidad<strong>de</strong> distribuir los reportes por los diferentes subsistemas que conforman el sistema garantiza unacceso rápido a <strong>la</strong> ejecución <strong>de</strong> los reportes por parte <strong>de</strong> los usuarios, los cuales conocerán <strong>la</strong>ubicación indicada por ellos mismos [73] .Con <strong>la</strong> inclusión <strong>de</strong>l generador <strong>de</strong> reportes se adicionan al sistema GREHU nuevos roles comopropuesta <strong>para</strong> el uso <strong>de</strong> esta herramienta (Ver Tab<strong>la</strong> 2).18


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónTab<strong>la</strong> 2. Descripción <strong>de</strong> actores <strong>de</strong>l Generador <strong>de</strong> Reportes <strong>de</strong>l <strong>Sistema</strong> GREHU [71] .ActorConsultor <strong>de</strong>Informes.Diseñador <strong>de</strong>Reportes.Experto en elsistema.DescripciónEncargado exclusivamente <strong>de</strong> ejecutar los reportes <strong>para</strong> obtener con ellos <strong>la</strong>información <strong>de</strong>seada.Encargado <strong>de</strong> crear nuevos diseños <strong>de</strong> reportes y actualizarlos teniendo en cuenta<strong>la</strong> coherencia <strong>de</strong> los datos <strong>de</strong>l reporte a mostrar.Posee los privilegios que le permiten configurar <strong>la</strong>s Fuentes <strong>de</strong> Datos que sirvencomo base al trabajo con los diseños.A estos actores se les asignan <strong>de</strong>terminadas responsabilida<strong>de</strong>s acor<strong>de</strong> con los procesos<strong>de</strong>finidos en el generador. (Ver Figura 3) Entre ellos se establece una jerarquía que se ajustasupuestamente al uso <strong>de</strong> <strong>la</strong> herramienta cumpliendo los requerimientos p<strong>la</strong>nteados, sinembargo no se tiene en cuenta que un proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes pue<strong>de</strong> necesitar unajerarquía <strong>de</strong> <strong>de</strong> roles <strong>de</strong> usuarios más complicada.Gestionar Grupo <strong>de</strong> DatosGestionar FicheroGestionar Re<strong>la</strong>ciónExperto en elsistemaConsultor <strong>de</strong>InformesEjecutar ReporteDiseñador <strong>de</strong>ReportesAlmacenar P<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> ReporteGestionar P<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> ReporteFigura 3. Diagrama <strong>de</strong> Casos <strong>de</strong> Uso <strong>de</strong>l Generador Reportes <strong>de</strong>l <strong>Sistema</strong> GREHU [71] .19


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación1.4.1.1 Análisis CríticoLas funcionalida<strong>de</strong>s básicas <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes <strong>de</strong>mandan c<strong>la</strong>ramente <strong>de</strong> roles <strong>de</strong>usuarios que <strong>de</strong>sempeñen tales activida<strong>de</strong>s [71] . Aunque aparentemente <strong>la</strong> jerarquía propuestapor el generador <strong>de</strong> reportes pue<strong>de</strong> satisfacer tal necesidad, funcionalida<strong>de</strong>s como <strong>la</strong>sdiferentes acciones sobre el repositorio y sobre todo, <strong>la</strong> distribución <strong>de</strong> los reportes por losdiferentes subsistemas <strong>de</strong>l sistema GREHU, pue<strong>de</strong>n <strong>de</strong>mandar c<strong>la</strong>sificaciones más cuidadosasentre los diferentes usuarios, es por ello que se consi<strong>de</strong>ra que tampoco esta jerarquía esóptima u ofrece una solución al problema <strong>de</strong>finido.Es importante <strong>de</strong>stacar que los requisitos funcionales <strong>de</strong> <strong>la</strong> herramienta se han implementadoenfocados a <strong>la</strong> jerarquía <strong>de</strong> roles <strong>de</strong> usuarios <strong>de</strong>finida <strong>para</strong> <strong>la</strong> misma. El subsistema Generador<strong>de</strong> Reportes <strong>de</strong>l GREHU no permite adicionar nuevos roles, únicamente garantiza modificar lospermisos <strong>de</strong> los ya existentes <strong>para</strong> contro<strong>la</strong>r <strong>la</strong>s posibles acciones que pudieran realizar sinalterar el sentido <strong>de</strong>l papel que estos <strong>de</strong>sempeñan <strong>de</strong>ntro <strong>de</strong>l sistema.1.4.1.2 Extensión <strong>de</strong> los <strong>de</strong>fectos observadosEl problema existente, pero oculto, referente a <strong>la</strong> naturaleza variable <strong>de</strong> <strong>la</strong>s jerarquías <strong>de</strong> roles<strong>de</strong> usuarios en los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reporte acor<strong>de</strong> al negocio que mo<strong>de</strong>le el sistema,emerge c<strong>la</strong>ramente con <strong>la</strong> inclusión <strong>de</strong>l Generador <strong>de</strong> Reporte en el sistema GREHU. Lo quese pretendía utilizar como una herramienta que pudiera utilizarse como ejemplo <strong>para</strong> exten<strong>de</strong>rsus funcionalida<strong>de</strong>s a otros sistemas simi<strong>la</strong>res resultó ser un catalizador <strong>de</strong> una situaciónencubierta que se expan<strong>de</strong> a cada herramienta <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información que gestione susreportes <strong>de</strong> manera in<strong>de</strong>pendiente [71] . Hasta este momento se han <strong>de</strong>scrito dos variantes <strong>de</strong><strong>de</strong>finiciones <strong>de</strong> roles <strong>para</strong> el proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes y ninguna <strong>de</strong> el<strong>la</strong>s parece tener <strong>la</strong>c<strong>la</strong>ve <strong>de</strong> <strong>la</strong> solución buscada (Ver Tab<strong>la</strong>s 1 y 2).1.4.2 Otros trabajos realizadosLa jerarquía <strong>de</strong> roles propuesta en el Generador <strong>de</strong> Reportes <strong>de</strong>l GREHU no pue<strong>de</strong> utilizarse<strong>de</strong> manera absoluta en toda situación que involucre reportes, algo que <strong>de</strong> manera simi<strong>la</strong>rocurre con el resto <strong>de</strong> <strong>la</strong>s jerarquías <strong>de</strong>finidas estudiadas hasta el momento, <strong>la</strong>s cuales parecenesquivar <strong>la</strong> relevancia <strong>de</strong>l asunto [92] . En otros análisis realizados en trabajos <strong>de</strong> estudio <strong>de</strong>p<strong>la</strong>taformas <strong>de</strong> reportes y <strong>de</strong>más herramientas se ha concluido que estas <strong>de</strong>ben respon<strong>de</strong>r consoluciones ante los elevados tiempos necesitados <strong>para</strong> <strong>la</strong> concepción y mantenimiento <strong>de</strong>reportes, estos aspectos <strong>de</strong>ben ser cuestionados y analizados, buscando el posible problemaque los <strong>de</strong>sate en vez <strong>de</strong> ignorarlo [92] .20


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónUn ejemplo c<strong>la</strong>ro <strong>de</strong>l estancamiento en los servicios <strong>de</strong> mantenimiento sobre p<strong>la</strong>taformas <strong>de</strong>reportes se aprecia en <strong>la</strong> interacción <strong>de</strong> los roles más comunes en esta área, <strong>de</strong>scritos en <strong>la</strong>Tab<strong>la</strong> 1, y sus <strong>de</strong>sempeños en el proceso cíclico <strong>de</strong> creación <strong>de</strong> reportes más comúnmenteusado (Ver Figura 4).1. Necesidad <strong>de</strong> un usuario<strong>de</strong>l negocio <strong>de</strong> tomar<strong>de</strong>cisiones, careciendo <strong>de</strong>alguna información.2. El usuario <strong>de</strong>l negociosolicita al usuario experto <strong>la</strong>producción <strong>de</strong> un reporte.6. El usuario <strong>de</strong>l negociosolicita al usuario expertoel cambio en el reporte.3. El usuario expertodiseña el reporte.5. El usuario <strong>de</strong>l negocioexamina el reporte yrealiza observacionessobre nueva informaciónrequerida a adicionar.4. Se efectúa<strong>la</strong> ejecución<strong>de</strong>l reporte.Figura 4. Proceso Cíclico <strong>de</strong> Creación <strong>de</strong> Reportes en P<strong>la</strong>taformas <strong>de</strong> Reportes [92] .El punto crítico en <strong>la</strong> creación <strong>de</strong> reportes se presenta cuando surgen requerimientos <strong>de</strong>cambios <strong>para</strong> el usuario final. Para satisfacer los mismos pue<strong>de</strong> necesitarse <strong>de</strong> un tiempoprolongado <strong>de</strong> implementación. Para cada en<strong>la</strong>ce <strong>de</strong> <strong>la</strong> ca<strong>de</strong>na “Usuario Experto – Autor <strong>de</strong>Reportes – Administrador <strong>de</strong> Reportes” en el tercer paso, cuando se requiere <strong>de</strong> cambios en elreporte, el retraso <strong>de</strong>l proceso pue<strong>de</strong> incrementarse, llegando a ser un factor significativo. Enesencia, lo que impi<strong>de</strong> el flujo <strong>de</strong> producción dado un cambio en los requerimientos <strong>de</strong>l diseño<strong>de</strong>l reporte es el número <strong>de</strong> iteraciones <strong>de</strong>l ciclo <strong>de</strong> diseño [92] .Consi<strong>de</strong>rando <strong>la</strong>s necesida<strong>de</strong>s, <strong>la</strong> atención y los gastos <strong>de</strong> tiempo <strong>de</strong> los usuarios, se pue<strong>de</strong>asegurar que <strong>la</strong> temática <strong>de</strong> los reportes es una <strong>de</strong> <strong>la</strong>s más significativas <strong>de</strong>ntro <strong>de</strong> <strong>la</strong>sorganizaciones <strong>de</strong> medio y gran tamaño. Generalmente, estas presentan o requieren al menosuna p<strong>la</strong>taforma <strong>de</strong> reportes, por lo que los problemas antes <strong>de</strong>scritos pue<strong>de</strong>n afectar<strong>la</strong>s atodas. No obstante, <strong>la</strong> mayor parte <strong>de</strong> los investigadores académicos re<strong>la</strong>cionados con el temaparece ignorar estos aspectos, concentrándose en áreas con fines más comerciales o <strong>de</strong>diferentes propósitos [92] .21


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónAspectos que c<strong>la</strong>ramente permiten asegurar <strong>la</strong> falta <strong>de</strong> atención a <strong>la</strong> relevancia <strong>de</strong> los reportesconstituyen los siguientes [92] : Los académicos no han reconocido ningún aspecto conceptual c<strong>la</strong>ve que sea heredado opermita su reutilización y evolución en futuras investigaciones, garantizando unacontinuidad <strong>de</strong> estas y <strong>la</strong> obtención <strong>de</strong> productos <strong>para</strong>lelos a <strong>la</strong> rápida evolución <strong>de</strong> <strong>la</strong>computación. Existe resistencia por parte <strong>de</strong> los académicos <strong>de</strong> competir con los equipos <strong>de</strong>investigación y <strong>de</strong>sarrollo, proveedores <strong>de</strong> p<strong>la</strong>taformas <strong>de</strong> reportes <strong>de</strong>s<strong>de</strong> <strong>la</strong> toma <strong>de</strong>conciencia, por estos equipos, <strong>de</strong> los inminentes cambios y <strong>la</strong> apropiación <strong>de</strong> <strong>la</strong> mayorparte <strong>de</strong> dicha área en el mercado <strong>de</strong>l software internacional. Los académicos aprecian <strong>la</strong> gran variedad <strong>de</strong> tecnología <strong>de</strong> p<strong>la</strong>taformas <strong>de</strong> reportes comopropietaria y por consiguiente, más allá <strong>de</strong> su control, percepción o incumbencia.Fundamentalmente, <strong>la</strong>s principales consecuencias provocadas por esta <strong>de</strong>satención son [92] : El área <strong>de</strong> los reportes, particu<strong>la</strong>rmente <strong>la</strong>s p<strong>la</strong>taformas <strong>de</strong> reportes, contiene temasconceptuales turbios o no completamente resueltos, así como otros aspectos ensurgimiento, como los re<strong>la</strong>cionados con el crecimiento y <strong>la</strong> antigüedad <strong>de</strong> los reportes. Existen aspectos c<strong>la</strong>ves en el área <strong>de</strong> reportes ignorados por los proveedores (y <strong>la</strong>posibilidad <strong>la</strong>mentable <strong>de</strong> que continúen siendo ignorados). Esto en parte pue<strong>de</strong> <strong>de</strong>berseal nivel <strong>de</strong> dificultad <strong>de</strong> estas cuestiones y <strong>de</strong> <strong>la</strong> necesidad <strong>de</strong> bases teóricas solidas <strong>para</strong><strong>la</strong>s posibles soluciones. El aumento <strong>de</strong> <strong>la</strong> necesidad <strong>de</strong> integración <strong>de</strong> reportes con otras aplicaciones ha forzado alos propietarios y proveedores a publicar y distribuir gran parte <strong>de</strong> <strong>la</strong> tecnología comodominio público.Aunque los aspectos antes mencionados ponen en evi<strong>de</strong>ncia <strong>la</strong> existencia <strong>de</strong> otros problemas,a<strong>de</strong>más <strong>de</strong>l tratado en el presente trabajo, es evi<strong>de</strong>nte que <strong>la</strong> temática <strong>de</strong> los reportes requiereuna mayor atención por los especialistas dada su importancia y <strong>la</strong>s <strong>de</strong>bilida<strong>de</strong>s antesmencionadas. Particu<strong>la</strong>rmente, el último punto, don<strong>de</strong> se expone c<strong>la</strong>ramente que el problematratado en este trabajo ha sido <strong>de</strong>tectado y extendido a externos.Una vez estudiada <strong>la</strong> temática <strong>de</strong> los reportes enfocados a <strong>la</strong>s p<strong>la</strong>taformas, y al <strong>de</strong>tectar <strong>la</strong>existencia <strong>de</strong> problemas simi<strong>la</strong>res en el generador <strong>de</strong> reportes incluido en el GREHU, se<strong>de</strong>cidió comenzar a realizar un estudio intenso sobre los requerimientos, necesida<strong>de</strong>s y22


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónopiniones <strong>de</strong> usuarios potenciales <strong>de</strong> reportes <strong>de</strong> diversos negocios en diferentesnacionalida<strong>de</strong>s por medio <strong>de</strong> cuestionarios (Ver Anexo 7).Afortunadamente, a <strong>la</strong> par que se realizaban estas entrevistas se <strong>de</strong>tectó, por medio <strong>de</strong>investigaciones y consultas con especialistas, que un tema crítico <strong>para</strong> <strong>la</strong> búsqueda <strong>de</strong> <strong>la</strong>solución es <strong>la</strong> captura <strong>de</strong> requisitos en <strong>la</strong> formación <strong>de</strong> un sistema. La mayoría <strong>de</strong> <strong>la</strong>ssoluciones informáticas actuales son <strong>de</strong>sechadas por un mal trabajo en este campo [15] ,terminando por representar erróneamente <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios, evi<strong>de</strong>nciado ya seacon un procesamiento erróneo <strong>de</strong> <strong>la</strong>s operaciones o por un mal diseño <strong>de</strong> <strong>la</strong> interfaz,c<strong>la</strong>sificación que naturalmente incluye los reportes como elementos gráficos <strong>de</strong> interacción conlos usuarios. No solo el trabajo sobre los requerimientos, sino <strong>la</strong> orientación <strong>de</strong>l diseño <strong>de</strong>sistemas en función <strong>de</strong> los objetivos <strong>de</strong> <strong>la</strong> <strong>la</strong>bor que realiza cada usuario, son indispensables<strong>para</strong> <strong>la</strong> obtención <strong>de</strong> herramientas que se ajusten a los propósitos <strong>de</strong>seados [15] .Por lo anteriormente mencionado, se <strong>de</strong>tuvo el proceso <strong>de</strong> realización <strong>de</strong> encuestas y seencaminó el trabajo en función <strong>de</strong> los requisitos y los objetivos que rigen <strong>la</strong> <strong>la</strong>bor <strong>de</strong> los futurosusuarios. Se comenzaron a investigar criterios <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> sistemas como <strong>la</strong> Ingeniería <strong>de</strong>Requisitos guiada por Objetivos [95] y Metodologías “Persona-Escenario-Objetivo” o PSG (segúnsus sig<strong>la</strong>s en inglés) [1][2] .Tanto los roles como los requerimientos <strong>de</strong> los sistemas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes pue<strong>de</strong>n variar<strong>de</strong>bido a <strong>la</strong> gran diversidad <strong>de</strong> usuarios, <strong>la</strong> variedad <strong>de</strong> clientes y los diferentes objetivos queestos pue<strong>de</strong>n <strong>de</strong>mandar con <strong>la</strong> solución. Muchos usuarios a veces no se tienen en cuenta enlos procesos <strong>de</strong> análisis y diseño <strong>de</strong> un sistema. También <strong>la</strong>s diferencias culturales <strong>de</strong> cada<strong>de</strong>sarrol<strong>la</strong>dor provocan que a una misma problemática se le puedan ofrecer distintas solucionesbajo diferentes percepciones [60] . Por estas razones, <strong>para</strong> <strong>de</strong>sarrol<strong>la</strong>r óptimamente los procesos<strong>de</strong> Ingeniería <strong>de</strong> Requisitos con el fin <strong>de</strong> obtener los requerimientos <strong>de</strong> usuarios que pudieran<strong>de</strong>sconocerse, es que se <strong>de</strong>fine el Método <strong>de</strong> Hanako, basado en el uso <strong>de</strong> personas yescenarios [1] .Persona se <strong>de</strong>fine como un elemento ficticio que representa un grupo <strong>de</strong> usuarios. Lascaracterísticas ficticias son elegidas <strong>de</strong> manera tal que una persona surge como unarepresentación real <strong>de</strong> un grupo <strong>de</strong> usuarios. Cada persona encapsu<strong>la</strong> un conjunto diferente <strong>de</strong>patrones <strong>de</strong> comportamientos en re<strong>la</strong>ción al uso <strong>de</strong> un producto particu<strong>la</strong>r. Es por ello que elformu<strong>la</strong>rio utilizado <strong>para</strong> registrar <strong>la</strong> información <strong>de</strong> una persona exhibe un conjunto <strong>de</strong> camposque registra atributos humanos como género, edad, raza, datos familiares, cuestionessocioeconómicas, <strong>la</strong>borales y <strong>de</strong> ambiente hogareño [74] .23


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónEl Método <strong>de</strong> Hanako por medio <strong>de</strong> personas realiza una mo<strong>de</strong><strong>la</strong>ción más concreta y menoselástica que <strong>la</strong> obtenida con los roles, don<strong>de</strong> se ajusta forzadamente un producto a ciertosrequerimientos. El uso <strong>de</strong> personas en los procesos <strong>de</strong> diseño es una nueva práctica quecategoriza a los usuarios como primarios, secundarios, auxiliares, abastecidos y negativos [15] .Las necesida<strong>de</strong>s <strong>de</strong> <strong>la</strong>s primarias, secundarias y auxiliares están directamente re<strong>la</strong>cionadascon <strong>la</strong>s características que <strong>de</strong>be presentar <strong>la</strong> solución. Una persona abastecida o servida se vedirectamente afectada por el producto y su uso. Una persona negativa es un ejemplo <strong>de</strong> <strong>para</strong>quién no ha sido diseñado el sistema.Las personas siempre tienen sus propias necesida<strong>de</strong>s y expectativas registradas en unconjunto <strong>de</strong> activida<strong>de</strong>s o eventos <strong>de</strong>ntro <strong>de</strong> un contexto <strong>de</strong>terminado nombrado “Escenario”.Los escenarios comúnmente se utilizan <strong>para</strong> <strong>de</strong>scribir métodos <strong>de</strong> diseño <strong>de</strong> soluciones aproblemas <strong>de</strong> manera concreta [10] utilizando <strong>la</strong>s situaciones que dieron surgimiento a losproblemas. El Método <strong>de</strong> Hanako conecta grupos heterogéneos <strong>de</strong> usuarios acor<strong>de</strong> a <strong>la</strong>sasociaciones <strong>de</strong> los escenarios <strong>de</strong> los mismos, y posibilita a los <strong>de</strong>sarrol<strong>la</strong>dores analizar ydiseñar aplicaciones que respondan a grupos masivos <strong>de</strong> usuarios [60] .Por otra parte, el uso <strong>de</strong>l “Método <strong>de</strong> Ayoama” [2] incorpora el análisis <strong>de</strong> los objetivos al Método<strong>de</strong> Hanako. Los objetivos se <strong>de</strong>finen como propósitos que se intentan cumplir [95] , estos existenen cada actividad que realiza <strong>la</strong> persona y están estrechamente re<strong>la</strong>cionados con susnecesida<strong>de</strong>s y expectativas como individuo. Los objetivos sirven como filtros a <strong>la</strong>s tareas ycomo guías <strong>para</strong> estructurar <strong>la</strong> representación <strong>de</strong> <strong>la</strong> información y el control <strong>de</strong> los procesosinteractivos en <strong>la</strong> construcción <strong>de</strong> Escenarios [15] . Los productos con grupos gran<strong>de</strong>s <strong>de</strong>usuarios tien<strong>de</strong>n a ser por naturaleza abstractos y por ello es más difícil obtener <strong>de</strong> manerabien <strong>de</strong>finida sus requerimientos. La mayoría <strong>de</strong> ellos son construidos basados en criteriosingenieriles y respon<strong>de</strong>n vagamente a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios. Los <strong>de</strong>sarrol<strong>la</strong>doresgeneralmente orientan el trabajo a <strong>la</strong>s características, <strong>la</strong> tecnología y <strong>la</strong> metodología, ignorandoen muchas ocasiones lo que realmente <strong>de</strong>sea el usuario, sus necesida<strong>de</strong>s y <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> losnegocios [15] . El resultado <strong>de</strong> esto <strong>de</strong>safortunadamente son sistemas que fal<strong>la</strong>n en conocer orepresentar <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios [35][47][98] . Los objetivos que persiguen los usuariosen su <strong>de</strong>sempeño <strong>la</strong>boral, y no los rasgos <strong>de</strong> los sistemas <strong>informático</strong>s, son <strong>la</strong> c<strong>la</strong>ve <strong>de</strong>l éxito<strong>para</strong> <strong>la</strong> obtención <strong>de</strong> una buena herramienta [15] . Por ello <strong>la</strong> integración <strong>de</strong> los objetivos en elMétodo <strong>de</strong> Hanako por parte <strong>de</strong> Ayoama, <strong>para</strong> evaluar requerimientos y analizar los posiblesconflictos entre estos [2] .24


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónDespués <strong>de</strong> un estudio <strong>de</strong> <strong>la</strong>s teorías antes analizadas, se realizaron algunas entrevistas a losusuarios en cuanto a los objetivos <strong>de</strong> sus <strong>la</strong>bores, sus necesida<strong>de</strong>s y requerimientos en elfuncionamiento <strong>de</strong> <strong>la</strong> organización. Apreciando los múltiples clientes <strong>de</strong>l sistema GREHU, <strong>la</strong>diversidad <strong>de</strong> los negocios que lo utilizan y <strong>la</strong> variedad en el nivel y <strong>la</strong>s habilida<strong>de</strong>s quepresentan sus usuarios, se comenzó a interactuar con estos en secciones individuales <strong>para</strong>obtener información llenando el formu<strong>la</strong>rio <strong>de</strong> Persona (Ver Figura 5).FotoNombre: Mabel Mesa Silva Sexo: Femenino Edad: 28Departamento: Recursos HumanosRol: Especialista en Gestión <strong>de</strong> Recursos HumanosObjetivos: Mantener <strong>la</strong> información actualizada utilizando el sistemaGREHU. Generar reportes que respondan a <strong>la</strong> solicitud <strong>de</strong> directivos y a<strong>la</strong> actividad diaria.Habilida<strong>de</strong>s: Conocer <strong>la</strong> interfaz <strong>de</strong> los subsistemas <strong>de</strong> pago. Conocer sobre <strong>la</strong> Gestión <strong>de</strong> Recursos Humanos y otros temasre<strong>la</strong>cionados. Presentar un conocimiento básico <strong>de</strong> computación, así comoáreas re<strong>la</strong>cionadas a <strong>la</strong> GRH.Tareas: Imprimir reportes mensuales <strong>de</strong> pago y otros solicitados. Registrar y actualizar constantemente los datos <strong>de</strong> losempleados.Deseos: Obtener un mayor conocimiento <strong>de</strong>l sistema GREHU <strong>para</strong>realizar el trabajo <strong>de</strong> manera más sencil<strong>la</strong>.Otros Detalles: (personales y profesionales)Figura 5. Ejemplo <strong>de</strong>l formu<strong>la</strong>rio “Persona” con datos obtenidos en una entrevista [60] .De cualquier manera, el uso <strong>de</strong> estas metodologías <strong>para</strong> <strong>la</strong> recolección <strong>de</strong> información falló, almenos con los clientes <strong>de</strong>l sistema GREHU. Los motivos se discutieron entre dos posibilida<strong>de</strong>s:<strong>la</strong> falta <strong>de</strong> cultura <strong>de</strong> los especialistas y usuarios en el uso <strong>de</strong> tales alternativas y <strong>la</strong> incapacidad<strong>de</strong> ubicarse en el escenario y compren<strong>de</strong>r y expresar sus necesida<strong>de</strong>s.Aplicar <strong>la</strong>s entrevistas requiere <strong>de</strong> tiempo y orientación por parte <strong>de</strong> los especialistas a losentrevistados, por tal motivo, si no se posee un buen entrenamiento y cultura al respecto,<strong>de</strong>s<strong>de</strong> un inicio, se parte erradamente y naturalmente, a los usuarios les cuesta trabajoenfocarse en lo que se les pi<strong>de</strong>.Un ejemplo c<strong>la</strong>ro lo constituyen once personas entrevistadas en tres entida<strong>de</strong>s. El conjunto <strong>de</strong>trabajadores seleccionado fue aleatorio, incluyendo personas que respon<strong>de</strong>n a diferentes25


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónresponsabilida<strong>de</strong>s como especialistas <strong>informático</strong>s, técnicos <strong>de</strong> RRHH, personal administrativoy directivo. Cada trabajador <strong>de</strong>mostró dominio <strong>de</strong> su puesto <strong>de</strong> trabajo, pero en función <strong>de</strong> <strong>la</strong>srespuestas recolectadas en <strong>la</strong>s entrevistas ocurrió <strong>de</strong> manera diferente.Según <strong>la</strong>s respuestas apreciadas se <strong>de</strong>finieron tres grupos <strong>de</strong> usuarios (Ver Figura 6) listados acontinuación: Grupo 1: Personas que manifestaron el <strong>de</strong>seo <strong>de</strong> conocer mejor el sistema GREHU.Usuarios incorporados recientemente a su puesto que no poseen experiencia en el uso <strong>de</strong>lsistema. Grupo 2: Personas experimentadas en el uso <strong>de</strong>l sistema pero poseen limitadoconocimiento <strong>de</strong> computación. Se manifiestan conformes con el sistema GREHU y no soncapaces <strong>de</strong> enfocar sus incomodida<strong>de</strong>s o <strong>de</strong> atreverse a exponer nuevas i<strong>de</strong>as. Grupo 3: Personas que conocen el sistema y presentan i<strong>de</strong>as interesantes respecto acambios que proponen.27 %9 % Desean conocer mejor el sistema GREHU.64 %Conocen el sistema y se conforman con él.Sugieren mejoras al sistema.Figura 6. Distribución <strong>de</strong> usuarios encuestados por grupos [60] .La distribución <strong>de</strong> los usuarios en función <strong>de</strong> los datos obtenidos en <strong>la</strong>s entrevistas realizadas<strong>de</strong>muestra que efectivamente, los resultados no se enfocan a <strong>la</strong> investigación pretendida, sinoque se expan<strong>de</strong> a otros temas. Respuestas como “estamos agra<strong>de</strong>cidos con el colectivo <strong>de</strong>profesores que <strong>de</strong>sarrol<strong>la</strong> el sistema” o “<strong>de</strong>seamos que sigan impartiendo seminarios <strong>de</strong>capacitación” validan que <strong>de</strong>be orientarse a los entrevistados <strong>de</strong> manera precisa sobre qué seles pi<strong>de</strong> que respondan sin darle <strong>la</strong> i<strong>de</strong>a <strong>de</strong> lo que se les preten<strong>de</strong> ofrecer o el problema comolo entien<strong>de</strong>n los <strong>informático</strong>s que realizan el trabajo. Para lograr esto es necesaria <strong>la</strong>capacitación <strong>para</strong> el uso <strong>de</strong>l diseño guiado por objetivos y <strong>la</strong>s metodologías enfocadas enrequerimiento y en Persona-Escenario-Objetivo por parte <strong>de</strong> los especialistas que realizarán <strong>la</strong>sentrevistas. Ha sido necesario entonces <strong>de</strong>dicar un tiempo a tal actividad, por lo que también eltrabajo en este enfoque ha llegado a un punto <strong>de</strong> espera [60] .26


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónLos <strong>de</strong>seos e intereses <strong>de</strong> usuarios pue<strong>de</strong>n entrar en conflicto, por lo que es importantemantener el control <strong>de</strong> sus sugerencias y los cambios que <strong>de</strong>man<strong>de</strong>n mediante <strong>la</strong> validación <strong>de</strong>estos por profesionales o expertos en el tema.1.5 Fundamento <strong>de</strong> los Objetivos <strong>de</strong>l TrabajoEl <strong>de</strong>sarrollo <strong>de</strong> un sistema generador <strong>de</strong> reportes que permita <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los roles <strong>de</strong>usuarios re<strong>la</strong>cionados con los procesos <strong>de</strong> creación y mantenimiento <strong>de</strong> reportes digitalespermite distribuir responsabilida<strong>de</strong>s acor<strong>de</strong> a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> cada persona <strong>de</strong> forma<strong>dinámica</strong> durante todo el tiempo <strong>de</strong> vida <strong>de</strong> <strong>la</strong> herramienta. La inclusión <strong>de</strong> un módulo <strong>de</strong> estac<strong>la</strong>se en un sistema <strong>informático</strong> hace posible analizar <strong>la</strong> <strong>la</strong>bor <strong>de</strong> estos en sus escenarios,in<strong>de</strong>pendientemente <strong>de</strong> <strong>la</strong>s variaciones que presenten, durante un tiempo tan prolongado comose <strong>de</strong>see. Observando <strong>la</strong> evolución <strong>de</strong> <strong>la</strong> solución en <strong>la</strong>s diferentes entida<strong>de</strong>s don<strong>de</strong> se instalese pue<strong>de</strong>n concebir estrategias <strong>de</strong>cisivas <strong>para</strong> el estudio y propuesta <strong>de</strong> opciones que aportenen algún grado soluciones a los problemas que presenta <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles en el entorno <strong>de</strong>los reportes. Los resultados <strong>de</strong>l sistema que se preten<strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r no se consi<strong>de</strong>ran enabsoluto una vía única a seguir, sino que pue<strong>de</strong>n orientar el camino correcto <strong>de</strong>l trabajo.Mientras más variables sean los diferentes escenarios en los que se explote <strong>la</strong> herramienta,más comprometedoras podrán ser <strong>la</strong>s percepciones por parte <strong>de</strong> los especialistas.La selección o concepción <strong>de</strong> un proceso <strong>de</strong> creación <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes que contenga <strong>la</strong>mayor cantidad <strong>de</strong> ventajas apreciadas en los sistemas analizados con el fin <strong>de</strong> permitir que elmódulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes se diseñe <strong>de</strong> manera completa, sin problemas y respaldado porun proceso flexible, dinámico y complejo, ha <strong>de</strong> garantizar que se les ofrezca a los usuariosrespuesta a cualquiera <strong>de</strong> sus necesida<strong>de</strong>s o <strong>de</strong>mandas <strong>de</strong> manera óptima siempre que <strong>la</strong>smismas contengan sentido lógico.Elegir o <strong>de</strong>finir, en caso <strong>de</strong> que <strong>la</strong>s propuestas estudiadas no se ajusten, un formato <strong>de</strong> ficheroque permita almacenar y modificar <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes es un aspecto también c<strong>la</strong>ve <strong>para</strong>el <strong>de</strong>sarrollo <strong>de</strong>l sistema propuesto. Tal estructura <strong>de</strong>be permitir <strong>la</strong> carga <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> con elpropósito <strong>de</strong> incorporarle cambios constantes <strong>de</strong> manera <strong>dinámica</strong> y flexible ante los usuarios.El fichero <strong>de</strong>be ser gestionado in<strong>de</strong>pendientemente <strong>de</strong>l entorno o <strong>la</strong> p<strong>la</strong>taforma <strong>de</strong>programación. En <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> qué tan ágil y <strong>dinámica</strong> sea <strong>la</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> pormedio <strong>de</strong> <strong>la</strong> programación, será <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong> <strong>la</strong> misma <strong>de</strong>s<strong>de</strong> <strong>la</strong> interfaz gráfica <strong>de</strong>lusuario. Es importante recordar que el módulo <strong>de</strong> reportes <strong>de</strong>be ser lo más flexible y dinámico27


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónposible, por lo que no <strong>de</strong>ben existir <strong>de</strong>ficiencias por compromisos con p<strong>la</strong>taformas otecnologías informáticas.La selección <strong>de</strong> módulos implementados, bibliotecas o herramientas <strong>de</strong> programación <strong>para</strong> el<strong>de</strong>sarrollo <strong>de</strong> un mecanismo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> fuente <strong>de</strong> datos altamente flexible es otro <strong>de</strong> losaspectos que incorporan flexibilidad al módulo <strong>de</strong> reportes. Las fuentes no <strong>de</strong>bencomprometerse con formatos, diseños o tecnología alguna, eliminándose <strong>de</strong> esta forma elproblema respecto a <strong>la</strong> compatibilidad entre <strong>la</strong>s numerosas opciones <strong>de</strong> fuentes existentes.También <strong>de</strong>be escogerse, <strong>para</strong> <strong>la</strong> implementación <strong>de</strong> <strong>la</strong> herramienta, un entorno <strong>de</strong>programación libre <strong>de</strong> pago <strong>de</strong> licencias que cump<strong>la</strong> con <strong>la</strong> estrategia por <strong>la</strong> soberaníatecnológica trazada por el Ministerio <strong>de</strong> Informática y <strong>la</strong>s Comunicaciones <strong>de</strong>l país. Esimportante que tal propuesta posea gran aceptación en <strong>la</strong>s comunida<strong>de</strong>s <strong>de</strong> programacióninternacionales con el fin <strong>de</strong> aumentar <strong>la</strong> probabilidad <strong>de</strong> adquirir bibliotecas que aportenfuncionalida<strong>de</strong>s re<strong>la</strong>cionadas con <strong>la</strong> investigación y garanticen <strong>la</strong> implementación flexible <strong>de</strong> losmódulos y mecanismos <strong>de</strong> <strong>la</strong> solución. Tal tecnología <strong>de</strong>be garantizar <strong>la</strong> portabilidad y permitirel <strong>de</strong>sarrollo <strong>de</strong> un producto extensible a escenarios variados con el fin <strong>de</strong> aumentar <strong>la</strong>diversidad <strong>de</strong> los negocios a estudiar.Diseñar e implementar un módulo <strong>para</strong> gestionar los roles <strong>de</strong> los usuarios <strong>de</strong> manera<strong>personalizada</strong> acor<strong>de</strong> con los requerimientos <strong>de</strong> los mismos hace <strong>de</strong> <strong>la</strong> herramienta un entornomás flexible que aumenta <strong>la</strong> diversidad <strong>de</strong> criterios, así como <strong>la</strong> posibilidad <strong>de</strong> conflictos entreestos. Esto <strong>de</strong>sata un ambiente que propicia al usuario pensar y compren<strong>de</strong>r <strong>la</strong> utilidad ynecesidad <strong>de</strong> diferencias en cuanto a su papel frente a un sistema <strong>informático</strong>. Es posible quecada usuario intente p<strong>la</strong>smar su pensamiento acor<strong>de</strong> a sus incomodida<strong>de</strong>s, por lo que esnecesario implementar un mecanismo responsable <strong>de</strong>l control que ofrezca estructurasjerárquicas o criterios potenciales <strong>para</strong> <strong>la</strong> consi<strong>de</strong>ración <strong>de</strong> estas entre los roles en el proceso<strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes.Cada uno <strong>de</strong> los objetivos específicos antes fundamentados permite el <strong>de</strong>sarrollo <strong>de</strong> unaherramienta que incluya un módulo <strong>de</strong> reportes que garantice <strong>la</strong> <strong>gestión</strong> <strong>de</strong> manera flexible,extendiendo el uso <strong>de</strong> los reportes como producto, y garantizando que el sistema se ajuste alos gustos y <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios, permitiendo así el surgimiento <strong>de</strong> posibles roles yenriqueciendo el proceso <strong>de</strong> registro y captura <strong>de</strong> regu<strong>la</strong>rida<strong>de</strong>s entre estos.28


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación1.6 Análisis <strong>de</strong>l Estado <strong>de</strong>l ArtePara respon<strong>de</strong>r a <strong>la</strong> situación problemática antes <strong>de</strong>finida es imprescindible evaluar el estado<strong>de</strong>l arte re<strong>la</strong>cionado con el tema tratado. De tal forma pue<strong>de</strong> garantizarse si es válida <strong>la</strong>propuesta y pue<strong>de</strong> continuarse el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> misma tomando aspectos que exponen suimportancia, o si existe alguna otra solución que pueda ajustarse a lo <strong>de</strong>seado, aspecto queahorraría tiempo <strong>para</strong> <strong>la</strong> obtención <strong>de</strong> <strong>la</strong> solución <strong>de</strong>seada.Investigar <strong>la</strong>s herramientas y tecnologías existentes, los procesos <strong>de</strong>finidos y el impacto <strong>de</strong>estos, nacional e internacionalmente, es <strong>la</strong> esencia <strong>de</strong> este epígrafe. El cumplimiento <strong>de</strong>muchos <strong>de</strong> los objetivos <strong>de</strong>pen<strong>de</strong> <strong>de</strong> esta tarea investigativa, puesto que <strong>la</strong> selección ocreación <strong>de</strong> procesos, mecanismos y herramientas <strong>de</strong>pen<strong>de</strong> <strong>de</strong> los resultados que aporte <strong>la</strong>investigación <strong>de</strong>l comportamiento <strong>informático</strong> en <strong>la</strong> temática acordada.1.6.1 Principales Mecanismos <strong>de</strong> DesarrolloLa mayoría <strong>de</strong> los procesos estudiados se encuentran re<strong>la</strong>cionados a <strong>la</strong> forma en que esgestionada <strong>la</strong> información por herramientas informáticas en <strong>la</strong> actualidad, particu<strong>la</strong>rmente elmodo <strong>de</strong> representar<strong>la</strong> utilizando reportes como componentes visuales <strong>de</strong> <strong>la</strong> interfaz gráfica <strong>de</strong>usuario <strong>de</strong> los sistemas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información.Los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información son parte esencial <strong>de</strong> <strong>la</strong>s organizaciones y susnegocios. El funcionamiento correcto <strong>de</strong> estos es <strong>la</strong> esencia <strong>de</strong>l éxito <strong>de</strong> <strong>la</strong>s mismas, por lo que<strong>la</strong> existencia <strong>de</strong> incongruencias en ellos pue<strong>de</strong> llevar al fracaso a cualquier estructuraempresarial. Generalmente, al realizar <strong>la</strong> automatización se incorporan <strong>de</strong>fectos que provocanerrores, es por ello que el tema <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> sistemas <strong>de</strong> <strong>gestión</strong> y el uso <strong>de</strong> metodologías<strong>para</strong> tales fines, resulta polémico y sin lugar a dudas, importante.La mo<strong>de</strong><strong>la</strong>ción correcta <strong>de</strong> los negocios, el establecimiento y captación <strong>de</strong> reg<strong>la</strong>s <strong>de</strong> losmismos, que serán <strong>la</strong> esencia <strong>de</strong>l cumplimiento <strong>de</strong> estos en <strong>la</strong> automatización, son cuestionescríticas que en <strong>la</strong> actualidad siguen muchas vertientes. Existen metodologías que proponen el<strong>de</strong>sarrollo <strong>de</strong> sistemas basándose estrictamente en <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong> los negocios [96] , otras que seenfocan fundamentalmente en <strong>la</strong> constante interacción con clientes y usuarios [39] . Algunasconsi<strong>de</strong>ran <strong>la</strong> incorporación <strong>de</strong> los Agentes Inteligentes en <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción y <strong>de</strong>sarrollo <strong>de</strong>soluciones <strong>de</strong>finiendo extensiones <strong>de</strong> UML [62] , y <strong>la</strong>s l<strong>la</strong>madas metodologías ágiles, <strong>la</strong>s cualespersiguen entre sus objetivos eliminar <strong>la</strong> burocracia imperante en <strong>la</strong>s metodologíastradicionales y hacer al proceso <strong>de</strong> <strong>de</strong>sarrollo más rápido, pretendiendo obtener resultadospalpables a corto p<strong>la</strong>zo [4] .29


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónÚltimamente han surgido otras metodologías que consi<strong>de</strong>ran los escenarios, <strong>la</strong>s personas y losobjetivos que estas han <strong>de</strong> cumplir en <strong>la</strong> organización a <strong>la</strong> que pertenecen [1][2] . Algunas <strong>de</strong> el<strong>la</strong>sfueron <strong>de</strong>scritas anteriormente y todas en conjunto <strong>de</strong>muestran <strong>la</strong> diferencia <strong>de</strong> pensamientopor parte <strong>de</strong> los profesionales en función <strong>de</strong> <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción <strong>de</strong> situaciones y concepciones <strong>de</strong>sistemas <strong>informático</strong>s.Existen problemas re<strong>la</strong>cionados con <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción y el <strong>de</strong>sarrollo <strong>de</strong> sistemas, los cualesmuchas veces presentan <strong>de</strong>sajustes y errores que en el peor <strong>de</strong> los casos los con<strong>de</strong>nan al<strong>de</strong>suso y al olvido [15] . Ya sea por el mal empleo <strong>de</strong> metodologías <strong>de</strong> <strong>de</strong>sarrollo, por un<strong>de</strong>sajuste en <strong>la</strong> interfaz ofrecida, o por el dinamismo que caracteriza a algunas esferas <strong>de</strong> <strong>la</strong>actividad humana, muchas reg<strong>la</strong>s programadas no se ajustan un tiempo in<strong>de</strong>terminado a <strong>la</strong>smo<strong>de</strong><strong>la</strong>ciones realizadas <strong>para</strong> <strong>la</strong> creación <strong>de</strong> una herramienta informática y muchos sistemasculminan su vida útil en el fracaso [15] .Dentro <strong>de</strong> los procesos automatizados, los re<strong>la</strong>cionados con <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes no quedanexentos a <strong>la</strong> situación antes mencionada. Aunque existan infinitas herramientas, suce<strong>de</strong> simi<strong>la</strong>r,<strong>de</strong> manera que estos pue<strong>de</strong>n entrar en <strong>de</strong>sajuste <strong>de</strong>bido a contradicciones con loverda<strong>de</strong>ramente requerido en cualquier negocio. Los popu<strong>la</strong>res generadores <strong>de</strong> reportesesencialmente permiten el <strong>de</strong>sarrollo <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s que han <strong>de</strong> ser utilizadas por otrasherramientas [17][49] . Existen p<strong>la</strong>taformas como Pentaho que incorporan un mayor dinamismo<strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> estos una vez presente en los sistemas [69] , pero el dinamismo <strong>de</strong> losescenarios siempre afecta el ajuste <strong>de</strong> tales soluciones [92] .Por ello se piensa que se haya liberado el código <strong>de</strong> muchas <strong>de</strong> estas herramientas [92] , <strong>de</strong>cualquier manera es importante <strong>de</strong>tal<strong>la</strong>r <strong>la</strong> situación <strong>de</strong> cada uno <strong>de</strong> los componentesrelevantes que conforman el proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes a fin <strong>de</strong> fundamentar tal <strong>de</strong>sajustey exponer i<strong>de</strong>as que pudieran aportar en su solución.1.6.1.1 Formatos <strong>de</strong> Ficheros <strong>de</strong> P<strong>la</strong>ntil<strong>la</strong>sLa esencia <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los reportes se orienta en el <strong>de</strong>sarrollo <strong>de</strong> estos y sualmacenamiento físico <strong>para</strong> posteriormente ser impresos o exportados según se requiera. Lasoperaciones que se realizan <strong>para</strong> materializar un reporte y <strong>la</strong> apariencia con que se expondrá <strong>la</strong>información son criterios almacenados en ficheros que representan <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s.Existen múltiples formatos <strong>de</strong> los ficheros <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes, cada uno asociado ageneradores <strong>de</strong> reportes <strong>de</strong>terminados que han logrado ganar popu<strong>la</strong>ridad y estandarizar sustecnologías empleadas extendiendo <strong>la</strong>s estructuras que suelen utilizar. Un ejemplo c<strong>la</strong>ro <strong>de</strong> tal30


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónestandarización lo constituyen los ficheros FRX <strong>de</strong> los reportes creados con <strong>la</strong>s diferentesversiones <strong>de</strong> FoxPro <strong>de</strong> Microsoft. Tales ficheros se basan en estructuras <strong>de</strong> tab<strong>la</strong>s simi<strong>la</strong>res a<strong>la</strong>s <strong>de</strong> los ficheros DBF con campos estandarizados cuyos valores son interpretadosexclusivamente por <strong>la</strong>s herramientas con <strong>la</strong>s que fueron diseñados [5] .La estructura <strong>de</strong> los ficheros FRX se ha <strong>de</strong>sechado con el tiempo <strong>de</strong>bido a <strong>la</strong> limitante antesmencionada. Muchos productos con el tiempo han implementado sus reportes y los serviciosque gestionan los mismos, utilizando el estándar XML, entre los cuales se encuentran: CrystalReports [84] , Pentaho [3] , JasperReports [91] y Microsoft SQL Server 2005 [76] . Tal adopción hagarantizado <strong>la</strong> extensión <strong>de</strong>l reconocimiento <strong>de</strong>l diseño <strong>de</strong> sus reportes a otras herramientas yp<strong>la</strong>taformas, ya que actualmente XML es muy difundido y ofrece múltiples bonda<strong>de</strong>sbasándose en esquemas <strong>de</strong> reportes acor<strong>de</strong> con diferentes tipos <strong>de</strong> negocios.Es conveniente consi<strong>de</strong>rar que una <strong>gestión</strong> flexible <strong>de</strong> tales esquemas podría permitir alusuario incorporar <strong>la</strong> administración <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> forma altamente <strong>personalizada</strong>,alterando <strong>la</strong> estructura <strong>de</strong> <strong>la</strong>s mismas e imponiendo restricciones que podrían en <strong>de</strong>terminadomomento y bajo ciertos privilegios, ser alteradas.Uno <strong>de</strong> los ficheros que <strong>de</strong>finen p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes que se encuentran bajo <strong>la</strong> estructura XMLson los <strong>de</strong> extensión JRXML pertenecientes a los productos <strong>de</strong> Jasper Corporation. Estosficheros se encuentran sujetos a esquemas que respon<strong>de</strong>n a una <strong>gestión</strong> <strong>personalizada</strong> yaltamente flexible, y su estructura ha sido concebida <strong>de</strong> esta forma teniendo en cuenta que son<strong>la</strong> base <strong>de</strong> herramientas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes profesionales que persiguen el <strong>de</strong>sarrollo <strong>de</strong>productos extensibles y altamente flexibles [17] .1.6.1.2 Especificaciones <strong>para</strong> <strong>la</strong> Definición <strong>de</strong> ReportesExisten especificaciones <strong>para</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong> reportes y <strong>la</strong> representación <strong>de</strong> estructuras c<strong>la</strong>ves<strong>de</strong> los mismos, que generalmente se orientan al establecimiento <strong>de</strong> mo<strong>de</strong>los semánticos yp<strong>la</strong>ntil<strong>la</strong>s. Entre <strong>la</strong>s tecnologías propietarias más conocidas en el mundo se encuentran SMDL yRDL, ambas <strong>de</strong>finidas y utilizadas por los servicios <strong>de</strong> reportes <strong>de</strong>l SQL Server 2005 (SSRSsegún sus sig<strong>la</strong>s en inglés).SMDL es una especificación XML encargada <strong>de</strong> <strong>de</strong>finir los elementos válidos a consi<strong>de</strong>rar en elmo<strong>de</strong>lo <strong>de</strong> un reporte almacenado en un fichero <strong>de</strong> extensión “smdl” [76] . Mediante el<strong>la</strong> se<strong>de</strong>finen <strong>la</strong>s re<strong>la</strong>ciones entre objetos semánticos y <strong>de</strong> vistas <strong>de</strong> fuentes <strong>de</strong> datos <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>lreporte [56] (Ver Anexo 8).31


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónRDL, por otra parte, es una representación XML <strong>de</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong> los reportes que realizaSSRS que contiene información re<strong>la</strong>cionada con <strong>la</strong> recuperación <strong>de</strong> datos y <strong>la</strong> apariencia <strong>de</strong> <strong>la</strong>p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong>l reporte [57] . Su principal objetivo consiste en promover <strong>la</strong> interoperabilidad <strong>de</strong>reportes comerciales por medio <strong>de</strong>l establecimiento <strong>de</strong> un esquema común que permita elintercambio <strong>de</strong> <strong>de</strong>finiciones <strong>de</strong> reportes [58] .RDL permite <strong>de</strong>finir <strong>la</strong> estructura <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes <strong>de</strong> propósito generalin<strong>de</strong>pendientemente <strong>de</strong>l negocio. La estructura que <strong>de</strong>fine presenta similitu<strong>de</strong>s a <strong>la</strong>smencionadas en el epígrafe 1.3.1.2 al analizar el mo<strong>de</strong>lo abstracto <strong>de</strong> una p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> reporte(Ver Anexo 9).Otra <strong>de</strong> <strong>la</strong>s especificaciones que respon<strong>de</strong> a un mo<strong>de</strong>lo genérico que se ajusta abiertamente adiferentes situaciones <strong>para</strong> <strong>la</strong> representación <strong>de</strong> <strong>la</strong> información por medio <strong>de</strong> reportes lo es elDTD al que se ajustan los ficheros JRXML antes mencionados [17] . La capacidad <strong>de</strong> ajustarse adiferentes negocios es uno <strong>de</strong> los rasgos que ha hecho a los productos <strong>de</strong> Jasper Corporationubicarse a <strong>la</strong> vanguardia entre <strong>la</strong>s opciones <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes en el mundo <strong>de</strong>lsoftware libre [33] . Esta característica, como muchas otras, parte <strong>de</strong> <strong>la</strong> estructura <strong>de</strong>finida <strong>para</strong><strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> sus reportes.1.6.1.3 Gestión <strong>de</strong> Roles <strong>de</strong> Usuarios y Seguridad <strong>de</strong> Aplicaciones InformáticasOtro aspecto que ha evolucionado con el tiempo en <strong>la</strong>s ciencias informáticas es el tratamiento<strong>de</strong> <strong>la</strong> seguridad <strong>de</strong> <strong>la</strong> información, muchas veces gestionada por medio <strong>de</strong>l establecimiento <strong>de</strong>políticas <strong>de</strong> restricciones y control <strong>de</strong> acceso <strong>de</strong> los usuarios a <strong>la</strong>s aplicaciones. Existen áreasespecializadas <strong>de</strong>ntro <strong>de</strong> esta ciencia y actualmente se enfocan en el uso <strong>de</strong> jerarquías <strong>de</strong>usuarios <strong>para</strong> tratar <strong>la</strong> confi<strong>de</strong>ncialidad e integridad <strong>de</strong> los datos.Con el tiempo han surgido nuevas alternativas <strong>para</strong> respon<strong>de</strong>r ante los diversos problemas <strong>de</strong>seguridad. Se han adoptado diferentes medidas, <strong>de</strong>s<strong>de</strong> <strong>la</strong> más simple como <strong>la</strong> incorporación <strong>de</strong>contraseñas a <strong>la</strong>s aplicaciones, hasta otras más complejas como <strong>la</strong> <strong>de</strong>fensa proactiva, <strong>la</strong><strong>gestión</strong> <strong>de</strong> monitoreo constante en los sistemas y <strong>la</strong> <strong>gestión</strong> <strong>de</strong> políticas se seguridad [27] .Muchas aplicaciones <strong>de</strong>finen grupos don<strong>de</strong> incluyen a sus usuarios [12][49] , otras adicionan en <strong>la</strong>implementación <strong>la</strong> consi<strong>de</strong>ración <strong>de</strong> procesos el cifrado y <strong>de</strong>scifrado <strong>de</strong> los datos, y establecenroles y políticas <strong>de</strong> seguridad a través <strong>de</strong> frameworks <strong>de</strong>stinados a estos fines [38][90] . Incluso <strong>la</strong>forma <strong>de</strong> visualizar <strong>la</strong>s opciones <strong>de</strong> interés y ocu<strong>la</strong>r aquel<strong>la</strong>s que no se re<strong>la</strong>cionan con <strong>la</strong>sfunciones que realice el usuario, es una política muy seguida y recomendada actualmente32


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación[15][52]. Algo que se <strong>de</strong>sconoce tiene menor probabilidad <strong>de</strong> ser atacado, a diferencia <strong>de</strong> algo quese expone, aunque sea <strong>de</strong> manera <strong>de</strong>shabilitada.Es importante recordar que <strong>la</strong> seguridad no <strong>de</strong>be ser un aspecto a confiar completamente en<strong>la</strong>s herramientas <strong>de</strong> <strong>de</strong>sarrollo que se utilicen, tal problema es una guerra constante que lidiar,cada acción <strong>de</strong> corrección <strong>de</strong> errores o vulnerabilida<strong>de</strong>s viene precedida por nuevos ataques o<strong>de</strong>scubrimiento <strong>de</strong> fragilida<strong>de</strong>s. La solución más recomendada es por ello el buen diseño <strong>de</strong> <strong>la</strong>sherramientas <strong>de</strong>s<strong>de</strong> los primeros momentos. Es conveniente establecer priorida<strong>de</strong>s en <strong>la</strong>s<strong>la</strong>bores <strong>de</strong> <strong>de</strong>sarrollo, puntos <strong>de</strong> referencia, or<strong>de</strong>nar <strong>la</strong>s tareas <strong>de</strong> implementación y realizarpruebas parciales a los productos en creación [78] .La <strong>de</strong>finición <strong>de</strong> roles <strong>de</strong> usuarios a partir <strong>de</strong> los negocios a mo<strong>de</strong><strong>la</strong>r, <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción <strong>de</strong>jerarquías entre usuarios y el establecimiento <strong>de</strong> re<strong>la</strong>ciones entre estos, así como <strong>la</strong> asignación<strong>de</strong> recursos <strong>de</strong>l sistema y <strong>de</strong>finición <strong>de</strong> acciones que estos podrán realizar, es también unaspecto imprescindible <strong>para</strong> el funcionamiento confiable <strong>de</strong> un sistema.1.6.1.4 Extensibilidad, <strong>la</strong> Flexibilidad y <strong>la</strong> UsabilidadLa extensibilidad, <strong>la</strong> flexibilidad y <strong>la</strong> usabilidad son requerimientos no funcionales que pue<strong>de</strong>ncomprometer seriamente <strong>la</strong> aceptación <strong>de</strong> un producto por los clientes, por lo que <strong>de</strong>ben sertratados <strong>de</strong> manera cuidadosa. El <strong>de</strong>sglose <strong>de</strong> activida<strong>de</strong>s, en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l usuario, pue<strong>de</strong>garantizar un elevado grado <strong>de</strong> usabilidad y flexibilidad en <strong>la</strong> herramienta. Es por ello que elestablecimiento y <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles constituyen una importante tarea a implementar.También, si un sistema trata correctamente el flujo <strong>de</strong> sus funcionalida<strong>de</strong>s y es respaldado poruna interfaz gráfica <strong>de</strong> usuario que se a<strong>de</strong>cue a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los mismos, pue<strong>de</strong>garantizarse que se realiza un manejo positivo <strong>de</strong> <strong>la</strong> usabilidad. Por otra parte, el hecho <strong>de</strong>adoptar una c<strong>la</strong>se <strong>de</strong> esquema en común <strong>para</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes tributapositivamente a <strong>la</strong> extensibilidad <strong>de</strong>l reporte como producto.Otra manera <strong>de</strong> tratar estos requerimientos pue<strong>de</strong> ser mediante bibliotecas que permitentransformar <strong>la</strong> estructura <strong>de</strong> un sistema en tiempo <strong>de</strong> ejecución. Si estas herramientas seencaminan a gestionar opciones <strong>de</strong> interfaz <strong>para</strong> <strong>la</strong> inclusión <strong>de</strong> nuevas funcionalida<strong>de</strong>s, pue<strong>de</strong>obtenerse un producto capaz <strong>de</strong> ajustarse a los cambios <strong>de</strong>l negocio en que se utilice y <strong>la</strong>snecesida<strong>de</strong>s <strong>de</strong> sus usuarios. Esta c<strong>la</strong>se <strong>de</strong> operación inci<strong>de</strong> directamente en <strong>la</strong> extensibilidad,flexibilidad y usabilidad <strong>de</strong> un sistema.33


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación1.6.2 Principales HerramientasLa mayoría <strong>de</strong> <strong>la</strong>s herramientas orientadas a satisfacer <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios entemas <strong>de</strong> reportes, no incluyen el tratamiento <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles. Las pocas que lo tienen encuenta, solo proponen jerarquías estáticas que ajustan los procesos acor<strong>de</strong> a ciertas c<strong>la</strong>ses <strong>de</strong>usuarios, lo que exige a <strong>la</strong>s personas que utilizarán <strong>la</strong> solución adaptarse a lo mo<strong>de</strong><strong>la</strong>do en <strong>la</strong>herramienta, en vez <strong>de</strong> diseñar el sistema en función <strong>de</strong> <strong>la</strong> estructura <strong>de</strong>l negocio.Lamentablemente esta situación suele repetirse en muchas <strong>de</strong> <strong>la</strong>s herramientas.Para analizar <strong>la</strong>s principales funcionalida<strong>de</strong>s que pudieran incorporarse en <strong>la</strong> solución a<strong>de</strong>sarrol<strong>la</strong>r y estudiar <strong>la</strong> forma en que estas tratan los temas <strong>de</strong> interés <strong>para</strong> el presente trabajo,es que se efectúa un estudio <strong>de</strong> <strong>la</strong>s propuestas actuales en el mercado <strong>de</strong>l softwareinternacional y nacional.1.6.2.1 Herramientas <strong>de</strong> Gestión <strong>de</strong> ReportesTeniendo en cuenta los tipos <strong>de</strong> herramientas informáticas re<strong>la</strong>cionadas con los reportesmencionadas en el epígrafe 1.2, se exponen <strong>de</strong>talles <strong>de</strong>l trabajo investigativo realizado <strong>para</strong>justificar el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> solución propuesta. Algunas <strong>de</strong> <strong>la</strong>s bibliotecas, componentes, paquetes y herramientas analizadas,<strong>de</strong>stinadas a <strong>la</strong> creación <strong>de</strong> generadores <strong>de</strong> reportes o <strong>la</strong> inclusion <strong>de</strong> estos en otrasherramientas informaticas, fueron:QReport: Biblioteca <strong>de</strong>sarrol<strong>la</strong>da por <strong>la</strong> compañía QSOFT que contiene componentesvisuales especializados en <strong>la</strong> impresión <strong>de</strong> reportes y que, integrada a entornos <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> aplicaciones <strong>de</strong> <strong>la</strong> empresa Bor<strong>la</strong>nd, como Delphi y C++ Buil<strong>de</strong>r, permiteconstruir y manipu<strong>la</strong>r reportes [75] .Rpv Reports: Herramienta gratis <strong>de</strong>stinada a pre<strong>para</strong>r reportes. La misma pue<strong>de</strong> sergestionada con cualquier lenguaje <strong>de</strong> programación obteniendo resultadosprofesionales al posibilitar <strong>la</strong> inclusión <strong>de</strong> gráficos, imágenes y código <strong>de</strong> barras, entreotros componentes visuales [80] . JasperReports: Biblioteca <strong>de</strong> código abierto <strong>de</strong> gran aceptación en <strong>la</strong> comunidadinternacional <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>dores <strong>de</strong> sistemas en Java. La misma está <strong>de</strong>stinada altrabajo con reportes <strong>de</strong>sarrol<strong>la</strong>dos bajo formato XML [14] .JFreeReport: Otra biblioteca <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> Java <strong>para</strong> <strong>la</strong> generación <strong>de</strong> reportes. Ofrecep<strong>la</strong>ntil<strong>la</strong>s basadas en XML que proveen flexibilidad a los reportes y permiten <strong>la</strong>impresión <strong>de</strong> <strong>la</strong> información utilizando datos <strong>de</strong>s<strong>de</strong> múltiples fuentes y soportes <strong>de</strong>34


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónsalida a dispositivos <strong>de</strong> pantal<strong>la</strong>s o impresoras, en diferentes formatos tales comoPDF, Excel, HTML, XHTML, Texto p<strong>la</strong>no, XML y ficheros CSV [45] . Incorpora <strong>la</strong>mayoría <strong>de</strong> <strong>la</strong>s ventajas antes <strong>de</strong>scritas y actualmente es una <strong>de</strong> <strong>la</strong>s herramientasoficiales <strong>de</strong>l Proyecto Pentaho al cual se incorporó en enero <strong>de</strong>l 2006 [46] . Report<strong>la</strong>b: Paquete <strong>de</strong> reportes escrito en Python con salidas directas comodocumentos PDF. Este paquete posibilita el tratamiento <strong>de</strong> gráficos e imágenes enmúltiples formatos [77] . Su principal <strong>de</strong>sventaja en com<strong>para</strong>ción con <strong>la</strong>s herramientas<strong>de</strong>scritas anteriormente es <strong>la</strong> restricción <strong>de</strong>l formato <strong>de</strong> salida.Existen muchas otras bibliotecas gratuitas <strong>para</strong> el manejo <strong>de</strong> reportes como text, FOP yPOI [14] . Todas el<strong>la</strong>s bindan funcionalida<strong>de</strong>s <strong>para</strong> el <strong>de</strong>sarrollo <strong>de</strong> gestores <strong>de</strong> reportes en<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> sus particu<strong>la</strong>rida<strong>de</strong>s. La correcta selección <strong>de</strong> una <strong>de</strong> estas herramientaspudiera permitir el <strong>de</strong>sarrollo <strong>de</strong> un generador <strong>de</strong> reporte que grantice un trabajopersonalizado por parte <strong>de</strong> los usuarios. El grupo <strong>de</strong> sistemas profesionales generadores <strong>de</strong> reportes es más numeroso que e<strong>la</strong>ntes <strong>de</strong>scrito. En él, cada aplicación presenta un conjunto <strong>de</strong> herramientas integradasque posibilitan <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong> reportes <strong>de</strong> forma óptima y <strong>de</strong>tal<strong>la</strong>da, entre <strong>la</strong>s que seencuentran:Las herramientas Access y Excel <strong>de</strong>l paquete <strong>de</strong> Microsoft Office: Estos sistemas noestán creados específicamente <strong>para</strong> el <strong>de</strong>sarrollo <strong>de</strong> reportes, pero presentanfuncionalida<strong>de</strong>s que permiten <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes muy bien concebidos, en el caso<strong>de</strong> Access, <strong>de</strong>stinados a cargar datos <strong>de</strong> sus respectivas bases <strong>de</strong> datos, no siendoasí <strong>para</strong> Excel, don<strong>de</strong> son creados con una naturaleza menos <strong>dinámica</strong>moReport: Generador <strong>de</strong> reportes basado en bibliotecas GTK que soporta bases <strong>de</strong>datos PostgreSQL y uso estándar <strong>de</strong> XML como formato <strong>de</strong> entrada y salidasPostScript [59] .iReport: Herramienta Java que permite <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes mediante una interfazgráfica amigable.Los SGBD como FoxPro, Visual FoxPro y SQL Server: Desarrol<strong>la</strong>dos principalmente<strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> bases <strong>de</strong> datos, pero que incluyen potentes herramientas <strong>para</strong> <strong>la</strong>generación <strong>de</strong> reportes.35


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación Crystal Reports: Programa profesional creado exclusivamente <strong>para</strong> el trabajo conreportes. También permite <strong>la</strong> publicación <strong>de</strong> estos en sistemas Web, y posibilitaexportarlos a múltiples formatos <strong>de</strong> ficheros.Otros sistemas existentes <strong>de</strong>stinados a <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes con fines profesionales sonRpv Printing System y Rpv Business Reports. Rpv Printing System permite generarreportes utilizando cualquier lenguaje <strong>de</strong> programación e imprimirlos bajo Windowsgenerados <strong>de</strong>s<strong>de</strong> un servidor que pue<strong>de</strong> correr sobre una amplia variedad <strong>de</strong> sistemasoperativos [28] .El producto <strong>de</strong>sarrol<strong>la</strong>do por SQL Software utilizando herramientas Oracle, nombradoQueryx*Report, <strong>de</strong>stinado principalmente a gestionar reportes <strong>de</strong>l área operativa yadministrativa <strong>de</strong> diferentes organizaciones [87] , <strong>la</strong> herramienta ContourCube <strong>de</strong>stinada acrear y manipu<strong>la</strong>r reportes, y el paquete <strong>de</strong> herramientas KOffice que incluye el generador<strong>de</strong> reportes Kugar, tradicionalmente complicado <strong>de</strong> utilizar [34] , pero que al usarfuncionalida<strong>de</strong>s <strong>de</strong> otras herramientas <strong>de</strong>l paquete, como KChart y KWord, permiteobtener reportes <strong>de</strong> alta calidad [16] , son otros sistemas existentes.También Pentaho, uno <strong>de</strong> los lí<strong>de</strong>res <strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong> Inteligencia <strong>de</strong> Negocio <strong>de</strong>código abierto basada en estándares <strong>de</strong> Java, facilita y guía el papel <strong>de</strong> los<strong>de</strong>sarrol<strong>la</strong>dores en sus proyectos. Es consi<strong>de</strong>rado una p<strong>la</strong>taforma <strong>de</strong> reportes según <strong>la</strong>segunda c<strong>la</strong>sificación mencionada en el epígrafe 1.2. Entre sus múltiples ventajas se<strong>de</strong>staca <strong>la</strong> posibilidad <strong>de</strong> administrar y distribuir reportes, establecer análisis, realizarp<strong>la</strong>nificaciones y facilitar <strong>la</strong> integración con fuentes <strong>de</strong> datos [64][65] .Los reportes son <strong>de</strong> gran importancia en los sistemas <strong>de</strong> Inteligencia <strong>de</strong> Negocio yPentaho particu<strong>la</strong>rmente, garantiza un fácil acceso <strong>de</strong> estos, sencillos formatos y <strong>la</strong>distribución eficiente <strong>de</strong> <strong>la</strong> información. A<strong>de</strong>más, facilita el <strong>de</strong>spliegue flexible <strong>de</strong> reportes<strong>de</strong>s<strong>de</strong> aplicaciones <strong>de</strong> escritorio <strong>para</strong> <strong>la</strong> Web, utilizando código libre y abierto. El proyectoPentaho <strong>de</strong>dica con gran cuidado una atención especial al área <strong>de</strong> reportes y a losproductos <strong>informático</strong>s re<strong>la</strong>cionados con ellos, aspecto que lo sitúa como una <strong>de</strong> <strong>la</strong>sprincipales herramientas <strong>de</strong> su c<strong>la</strong>se (Ver Anexo 6).Incluido en Pentaho se encuentra Pentaho Reporting, que consiste en una colección <strong>de</strong>proyectos <strong>de</strong> código abierto enfocados a <strong>la</strong> <strong>gestión</strong> <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s [68] y que permite obtenerrobustos reportes <strong>de</strong> diseños <strong>de</strong> gran acabado (Ver Anexo 4). Los proyectos incluidos enPentaho Reporting brindan asistentes <strong>de</strong> diseños <strong>de</strong> reportes <strong>para</strong> una rápida y sencil<strong>la</strong>36


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigacióncreación y permiten flexibilidad en <strong>la</strong> salida <strong>de</strong> estos, incluyendo diferentes formatos comoPDF, HTML, XLS, RTF, y texto p<strong>la</strong>no [66] . A<strong>de</strong>más, poseen el resto <strong>de</strong> <strong>la</strong>s ventajas comoson los agrupamientos y consi<strong>de</strong>ran <strong>la</strong> compatibilidad con versiones anteriores [69] .Si bien Pentaho contiene herramientas robustas <strong>para</strong> el tratamiento <strong>de</strong> reportes, esimportante compren<strong>de</strong>r que estos son una parte más consi<strong>de</strong>rada en su proyecto.Aunque logre una <strong>gestión</strong> flexible y <strong>personalizada</strong> <strong>de</strong> los mismos, el centro <strong>de</strong>l proyectoPentaho se enfoca en <strong>la</strong> Inteligencia <strong>de</strong> Negocios y está compuesto por herramientas quepersiguen un fin diferente al enfoque exclusivo <strong>de</strong> <strong>la</strong> <strong>gestión</strong> automatizada <strong>de</strong> reportes.Para apreciar <strong>la</strong>s varieda<strong>de</strong>s tratadas en Pentaho se exponen <strong>la</strong>s herramientas queintegran su proyecto y el área que trata cada una, estas son: “Mondrian”, que consiste enun servidor OLAP, “JFreeReport”, <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes, “Kettle”, <strong>de</strong>stinado a <strong>la</strong>integración <strong>de</strong> datos (ETL por sus sig<strong>la</strong>s en inglés), “Pentaho”, contenedor <strong>de</strong> Inteligencia<strong>de</strong> Negocios, y “Weka” <strong>de</strong>stinado a <strong>la</strong> minería <strong>de</strong> datos. Todas estas herramientas son <strong>de</strong>código abierto [67] .Otra herramienta también muy conocida <strong>de</strong> este grupo lo constituye el proyecto EclipseBIRT, respaldado por una biblioteca <strong>de</strong> igual nombre ofrece un sistema <strong>de</strong> reportes <strong>de</strong>código abierto en Java con una interfaz gráfica <strong>de</strong> usuario basada en Eclipse. Posee unmo<strong>de</strong>lo <strong>de</strong> objetos <strong>de</strong> reporte (ROM según sus sig<strong>la</strong>s en ingles) que constituye <strong>la</strong> base<strong>para</strong> el formato <strong>de</strong>l diseño <strong>de</strong> estos. El mismo está representado por un formato <strong>de</strong> diseñoXML, que <strong>de</strong>scribe todos los aspectos <strong>de</strong> los reportes [21] . Su version 2.1.1 permite salidaen HTML, PRF, XLS, RTF, SVG, y otros formatos <strong>de</strong> imágenes. También ofrece unconjunto <strong>de</strong> interfaces que garantiza adicionar conversores <strong>para</strong> gestionar nuevasestructuras <strong>de</strong> ficheros al exportar los reportes o incluir los <strong>de</strong>sarrol<strong>la</strong>dos en otrasaplicaciones [43] .Existen muchas otras soluciones en este grupo, aunque <strong>la</strong>s abordadas son <strong>la</strong>s másprometedoras consi<strong>de</strong>rando su popu<strong>la</strong>ridad, funcionalidad, y <strong>la</strong> cantidad <strong>de</strong> ventajas queofrecen. Muchas <strong>de</strong> el<strong>la</strong>s garantizan <strong>la</strong> <strong>gestión</strong> <strong>personalizada</strong> <strong>de</strong> reportes, como iReport.Lamentablemente, <strong>la</strong> mayoria no implementa <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usaurios ya que no essu tarea esencial. No obstante, algunas (generalmente los SGBD) permiten realizar <strong>la</strong>administracion <strong>de</strong> usuarios y <strong>de</strong>finir politicas <strong>de</strong> acceso o restricciones sobre estos,aunque el proposito perseguido es diferente. Las herramientas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información diseñadas <strong>para</strong> ser explotadas en empresasy organizaciones, que pue<strong>de</strong>n incluir generadores <strong>de</strong> reportes u opciones <strong>de</strong> obtención <strong>de</strong>37


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónreportes <strong>de</strong>stinados a <strong>la</strong> impresión <strong>de</strong> <strong>la</strong> información y facilitar los procesos <strong>de</strong> toma <strong>de</strong><strong>de</strong>cisiones y control <strong>de</strong> medios, forman el grupo más variado <strong>de</strong> los tres según el criterio<strong>de</strong> c<strong>la</strong>sificación empleado hasta el momento. Algunos sistemas representativos <strong>de</strong>l mismoson: MEBUS (Medios Básicos <strong>para</strong> Unida<strong>de</strong>s <strong>de</strong> Salud): <strong>Sistema</strong> cubano <strong>de</strong>stinado a <strong>la</strong><strong>gestión</strong> <strong>de</strong>l control <strong>de</strong> los medios básicos en <strong>la</strong>s unida<strong>de</strong>s presupuestadas <strong>de</strong> SaludPública [36] . RepCob: Herramienta que presenta un generador <strong>de</strong> reportes <strong>para</strong> empresas <strong>de</strong>estructura distribuida [31] . Delta: Herramienta <strong>de</strong>sarrol<strong>la</strong>da <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong> información en empresas [18] .ContaPyme: <strong>Sistema</strong> <strong>de</strong> <strong>gestión</strong> administrativa y contable <strong>de</strong>l mercado, especialmente<strong>de</strong>sarrol<strong>la</strong>do <strong>para</strong> pequeñas y medianas empresas. Ofrece reportes contables comoba<strong>la</strong>nce, estado <strong>de</strong> resultados, entre otros [37] .De manera general, cada una <strong>de</strong> los sistemas <strong>de</strong>l último grupo ofrece reportes <strong>de</strong>stinados altratamiento <strong>de</strong> <strong>la</strong> información bajo los términos particu<strong>la</strong>res que requiere cada organización a <strong>la</strong>que están encomendados. Las herramientas que permiten el trabajo con reportes en ellos son<strong>la</strong> representación <strong>de</strong> <strong>la</strong> concepción <strong>de</strong> sistemas <strong>para</strong> el tratamiento <strong>de</strong> reportes personalizadoso que presentan opciones <strong>de</strong> reportes <strong>de</strong> diseño estático <strong>para</strong> exponer <strong>la</strong> información, adiferencia <strong>de</strong> los dos primeros grupos, <strong>de</strong>stinados al tratamiento <strong>de</strong> reportes <strong>de</strong> manerageneral. Las bibliotecas, componentes y herramientas, permiten manipu<strong>la</strong>r no sólo los reportesal menor nivel posible, sino que se encargan <strong>de</strong> <strong>la</strong> creación <strong>de</strong> herramientas que los gestionen<strong>de</strong> manera <strong>personalizada</strong> como el grupo anterior, o con un propósito general, como lossistemas profesionales como Crystal Reports.Las bibliotecas y los paquetes <strong>de</strong> componentes persiguen objetivos diferentes. Las bibliotecasbrindan un conjunto <strong>de</strong> c<strong>la</strong>ses y métodos <strong>para</strong> <strong>la</strong> manipu<strong>la</strong>ción <strong>de</strong> reportes mediante el código.Los paquetes compuestos por componentes que pue<strong>de</strong>n resultar diferentes funcionalmente, seenfocan en el trabajo encaminado a <strong>de</strong>sarrol<strong>la</strong>r aplicaciones generalmente restringiendoliberta<strong>de</strong>s que ofrecen <strong>la</strong>s bibliotecas a los reportes [71] .El grupo <strong>de</strong> los sistemas profesionales tiene también sus diferencias entre cada herramienta.Estas vienen dadas esencialmente por <strong>la</strong>s funcionalida<strong>de</strong>s que brindan cada una <strong>de</strong> el<strong>la</strong>s. Lasviejas versiones <strong>de</strong> sistemas como FoxPro y Crystal Reports nunca van a permitir <strong>la</strong> obtención<strong>de</strong> reportes tan completos como sus últimas versiones. Por otra parte, los SGBD naturalmente38


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónno van a garantizar <strong>la</strong> obtención <strong>de</strong> un trabajo tan refinado sobre los reportes como <strong>la</strong>ssoluciones <strong>de</strong>stinadas exclusivamente a esta tarea.Éstas son algunas <strong>de</strong> <strong>la</strong>s herramientas re<strong>la</strong>cionadas con <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los reportes <strong>de</strong> maneraautomática en el mundo <strong>de</strong> <strong>la</strong> informática. Es necesario tener en cuenta que <strong>la</strong> cantidad y <strong>la</strong>variedad <strong>de</strong> <strong>la</strong>s mismas son realmente inmensas. Constantemente se están incluyendo en <strong>la</strong>saplicaciones <strong>de</strong>stinadas a fines específicos, generadores <strong>de</strong> reportes <strong>para</strong> facilitar el trabajoque representa <strong>la</strong> obtención <strong>de</strong> información en formatos visuales, fáciles <strong>de</strong> organizar ycompren<strong>de</strong>r. En menor grado se aprecia el incremento <strong>de</strong> productos profesionales <strong>de</strong>stinadosal tratamiento <strong>de</strong> reportes <strong>de</strong> manera general. El hecho es que, como parte <strong>de</strong>l mundo <strong>de</strong> <strong>la</strong>informática, el <strong>de</strong> los reportes está también caracterizado por un gran dinamismo.1.6.2.2 Herramientas <strong>de</strong> Gestión <strong>de</strong> SeguridadEl nivel más básico <strong>de</strong> <strong>la</strong> implementación <strong>de</strong> <strong>la</strong> seguridad pue<strong>de</strong> apreciarse en aplicacionescomunes que <strong>de</strong>finen <strong>la</strong> visualización <strong>de</strong> opciones en función <strong>de</strong>l tipo <strong>de</strong> usuario que utilice elsistema. Esta estrategia se hace más completa y efectiva si se ofrece <strong>la</strong> posibilidad <strong>de</strong>gestionar usuarios y grupos <strong>para</strong> estos, simi<strong>la</strong>r a <strong>la</strong> forma en que lo hacen los SGBD como <strong>la</strong>sdiferentes versiones <strong>de</strong> Microsoft SQL Server que permiten asignar privilegios y <strong>de</strong>limitar <strong>la</strong>sacciones <strong>de</strong> los usuarios sobre <strong>la</strong>s bases <strong>de</strong> datos [12] . Otras herramientas <strong>de</strong> <strong>de</strong>sarrollo, comoel Framework .NET <strong>de</strong> Microsoft, <strong>de</strong>finen <strong>la</strong> seguridad como aspecto c<strong>la</strong>ve <strong>de</strong> su arquitecturacontro<strong>la</strong>ndo por módulos sus aplicaciones y recursos. A<strong>de</strong>más, le brindan a los especialistasherramientas <strong>para</strong> implementar <strong>la</strong> autenticación, autorización y el cifrado, entre otros aspectosc<strong>la</strong>ves [26] .Particu<strong>la</strong>rmente .NET, a pesar <strong>de</strong> todas <strong>la</strong>s facilida<strong>de</strong>s que incorpora <strong>para</strong> implementar <strong>la</strong>seguridad en aplicaciones informáticas, no está exento a vulnerabilida<strong>de</strong>s que lo hacen frágil aataques que comprometen <strong>la</strong> integridad y confiabilidad <strong>de</strong> <strong>la</strong>s herramientas que en él puedanimplementarse. La seguridad no <strong>de</strong>be basarse únicamente en el entorno y <strong>la</strong>s herramientas <strong>de</strong><strong>de</strong>sarrollo, sino en el diseño realizado al sistema <strong>de</strong>s<strong>de</strong> los inicios <strong>de</strong> <strong>la</strong> concepción [25] .También en el escenario <strong>de</strong>l software libre existen tecnologías orientadas al tratamiento <strong>de</strong> <strong>la</strong>seguridad <strong>de</strong>s<strong>de</strong> diferentes enfoques. Java, encabezando <strong>la</strong> lista <strong>de</strong> <strong>la</strong>s más popu<strong>la</strong>res <strong>de</strong> estaárea, presenta un conjunto <strong>de</strong> APIs e implementaciones <strong>de</strong> algoritmos, mecanismos yprotocolos que conforman su tecnología <strong>de</strong> seguridad. Sus APIs abarcan diferentes aspectoscomo: criptografía, comunicación segura, autenticación y control <strong>de</strong> acceso. Gracias a ello es39


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónposible <strong>de</strong>sarrol<strong>la</strong>r aplicaciones utilizando frameworks integrales y herramientas que garantizana los usuarios y administradores <strong>la</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong> seguridad [89] .Particu<strong>la</strong>rmente, <strong>para</strong> <strong>la</strong> autenticación y el control <strong>de</strong> acceso, Java contiene APIs que ofrecenun amplio conjunto <strong>de</strong> mecanismos a través <strong>de</strong> una arquitectura flexible y abierta, que brindan<strong>la</strong> posibilidad <strong>de</strong> implementar autenticación múltiple o simple y gestionar el control <strong>de</strong> recursos<strong>de</strong> forma fragmentada basándose en <strong>la</strong> i<strong>de</strong>ntidad <strong>de</strong> cada usuario [89] .Como parte <strong>de</strong> <strong>la</strong> tecnología <strong>para</strong> el tratamiento <strong>de</strong> <strong>la</strong> seguridad en Java se encuentra suServicio <strong>de</strong> Autenticación y Autorización (JAAS por sus sig<strong>la</strong>s en inglés). Introducido como unpaquete opcional en el JDK 1.3 e integrado completamente en el JDK 1.4, permite <strong>de</strong>terminarqué usuario está ejecutando <strong>de</strong>terminado código y garantiza que tenga acceso a los recursosque le correspondan. Actualmente gestiona los servicios <strong>de</strong> autenticación <strong>de</strong> manerain<strong>de</strong>pendiente a <strong>la</strong> tecnología empleada <strong>para</strong> estos fines [88] . Indudablemente, <strong>la</strong> incorporación<strong>de</strong>l JAAS en el JDK constituye un paso importante <strong>para</strong> <strong>la</strong> implementación <strong>de</strong> mecanismos <strong>de</strong>seguridad en <strong>la</strong>s aplicaciones <strong>de</strong>sarrol<strong>la</strong>das sobre esta p<strong>la</strong>taforma.Basados en JAAS se han <strong>de</strong>sarrol<strong>la</strong>do un conjunto <strong>de</strong> frameworks y APIs <strong>para</strong> <strong>la</strong>implementación <strong>de</strong> <strong>la</strong> seguridad en aplicaciones en Java. Para el entorno empresarial se tienea <strong>la</strong> API OWASP, orientada fundamentalmente al trabajo con aplicaciones y servicios Web [63] .Para el control <strong>de</strong> acceso (autenticación y autorización) se tiene a Acegi y jGuard y <strong>para</strong> elcifrado <strong>de</strong> datos a Bouncycastle y Jasypt [44] .Existe también el framework XWS-Security <strong>de</strong>stinado <strong>para</strong> gestionar <strong>la</strong> seguridad en <strong>la</strong>sl<strong>la</strong>madas remotas <strong>de</strong> procedimientos JAX en aplicaciones SAAJ stand-alone y <strong>para</strong> asegurarmensajes SOAP a través <strong>de</strong> firmas y cifrado <strong>de</strong> algunas <strong>de</strong> sus partes, o <strong>de</strong>l envió <strong>de</strong>información <strong>de</strong> autenticación [90] .Por otra parte, Acegi Security, actualmente nombrado Spring Security, es el proyecto oficial <strong>de</strong>seguridad <strong>de</strong> Spring Portfolio. Entre <strong>la</strong>s características principales <strong>de</strong> su última versión se tieneuna simplificación <strong>de</strong> <strong>la</strong> sintaxis <strong>de</strong> configuración. A<strong>de</strong>más incorpora el soporte <strong>para</strong> grupos,roles jerárquicos y una API <strong>de</strong> <strong>gestión</strong> <strong>de</strong> usuarios, los cuales son combinados <strong>para</strong> reducir eltiempo <strong>de</strong> <strong>de</strong>sarrollo y optimizar <strong>la</strong> administración <strong>de</strong> los sistemas. Acegi presenta una ampliaaceptación internacional y está respaldado por una completa documentación [38] .1.6.2.3 Herramientas que permiten alterar archivos compi<strong>la</strong>dosExisten herramientas profesionales <strong>de</strong>stinadas a alterar <strong>la</strong> estructura gráfica <strong>de</strong> aplicaciones<strong>para</strong> incorporar nuevas opciones por medio <strong>de</strong> <strong>la</strong> inyección <strong>de</strong> código. En cierta forma esto40


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónpue<strong>de</strong> compren<strong>de</strong>rse como una intromisión, aunque siempre que sean utilizadas correctamentepue<strong>de</strong>n reportar sorpren<strong>de</strong>ntes resultados aumentando el dinamismo y <strong>la</strong> flexibilidad <strong>de</strong> lossistemas. La mayoría <strong>de</strong> el<strong>la</strong>s se enfoca sobre los menús en don<strong>de</strong> adhieren los puntos <strong>de</strong>acceso a <strong>la</strong>s nuevas funcionalida<strong>de</strong>s o herramientas.Tales sistemas tienen un impacto muy limitado en <strong>la</strong>s herramientas creadas con entornospropietarios. Por su naturaleza se les impi<strong>de</strong> actuar libremente en tal escenario <strong>de</strong>bido a <strong>la</strong>complejidad que representa conocer <strong>la</strong> estructura gráfica <strong>de</strong> estas aplicaciones e invadir<strong>la</strong> <strong>para</strong>insertar nuevas opciones. Es importante recordar que, más que <strong>la</strong>s aplicaciones <strong>de</strong>sarrol<strong>la</strong>dasen entornos libres, <strong>la</strong>s soluciones <strong>de</strong>sarrol<strong>la</strong>das en entornos propietarios están sujetas acódigos legales que muchas veces impi<strong>de</strong>n y penalizan esta c<strong>la</strong>se <strong>de</strong> actividad.Por otra parte, existe el estándar PLIB que respon<strong>de</strong> a <strong>la</strong> norma ISO 13584, creado <strong>para</strong> <strong>de</strong>finirun formato neutral <strong>para</strong> <strong>la</strong> representación <strong>de</strong> re<strong>la</strong>ciones entre componentes in<strong>de</strong>pendientes<strong>de</strong>finidos con anterioridad. El mismo garantiza el intercambio entre bibliotecas <strong>de</strong> sistemasheterogéneos y su arquitectura involucra mecanismos <strong>para</strong> dar respuesta a dificulta<strong>de</strong>s en <strong>la</strong>mo<strong>de</strong><strong>la</strong>ción y el intercambio entre partes <strong>de</strong> <strong>la</strong>s bibliotecas [83] . Respondiendo a este estándarse han <strong>de</strong>sarrol<strong>la</strong>do algunos productos como el API PLIB que permite <strong>la</strong> escritura <strong>de</strong> programasen Java <strong>para</strong> <strong>la</strong> administración <strong>de</strong> entida<strong>de</strong>s PLIB [50] y el editor PLIB, aplicación Java <strong>para</strong>gestionar y contro<strong>la</strong>r <strong>la</strong> interacción <strong>de</strong> bibliotecas y sus partes [51] .Naturalmente, <strong>la</strong> diversidad <strong>de</strong> los sistemas <strong>para</strong> inyectar código, agregar nuevas opciones yalterar <strong>la</strong> estructura <strong>de</strong> sistemas <strong>de</strong>sarrol<strong>la</strong>dos con tecnología libre y mejor aun, <strong>de</strong> códigoabierto, es mayor. Entre <strong>la</strong>s más conocidas se encuentran: La Biblioteca <strong>de</strong> Ingeniería Byte Co<strong>de</strong> (BCEL según sus sig<strong>la</strong>s en ingles): Proyecto <strong>de</strong>Apache – Jakarta que se enfoca en ofrecer a los usuarios <strong>la</strong> posibilidad <strong>de</strong> analizar, creary manipu<strong>la</strong>r los archivos .c<strong>la</strong>ss <strong>de</strong> Java. En el<strong>la</strong> <strong>la</strong>s c<strong>la</strong>ses son representadas por objetosque contienen información simbólica <strong>de</strong> estas como sus métodos, atributos einstrucciones byteco<strong>de</strong>. BCEL permite a<strong>de</strong>más <strong>la</strong> inyección <strong>de</strong> código en tiempo <strong>de</strong>ejecución [30][42] . ProGuard: Herramienta libre <strong>de</strong>stinada a ajustar ficheros .c<strong>la</strong>ss <strong>de</strong> Java. Se consi<strong>de</strong>ra unofuscador e incluye funciones <strong>de</strong> preverificación. Permite eliminar c<strong>la</strong>ses, métodos yatributos que no se utilicen y renombrar los que perduren utilizando nombres sugerentes y<strong>de</strong> poca longitud. Optimiza el byteco<strong>de</strong> y remueve instrucciones en <strong>de</strong>suso. ProGuardpermite compactar código, aumentar <strong>la</strong> velocidad <strong>de</strong> <strong>la</strong>s transferencias por <strong>la</strong>s re<strong>de</strong>s y41


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigacióngarantiza una carga más veloz <strong>de</strong> los ficheros. Se consi<strong>de</strong>ra <strong>de</strong> utilidad <strong>para</strong> <strong>de</strong>sarrol<strong>la</strong>rprogramas y bibliotecas <strong>de</strong>stinadas al trabajo con <strong>la</strong> Ingenieria Inversa [48] . jc<strong>la</strong>sslib: Visor <strong>de</strong> byteco<strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>do por ej-technologies que expone todos losaspectos <strong>de</strong> un fichero .c<strong>la</strong>ss <strong>de</strong> Java. Presenta una biblioteca que permite a los<strong>de</strong>sarrol<strong>la</strong>dores leer y alterar tales archivos [22] . Se consi<strong>de</strong>ra una herramienta <strong>de</strong> granutilidad <strong>para</strong> navegar por <strong>la</strong> estructura <strong>de</strong>l fichero .c<strong>la</strong>ss y compren<strong>de</strong>r el funcionamiento<strong>de</strong> <strong>la</strong> JVM [23] . Javassist: Asistente <strong>para</strong> <strong>la</strong> programación en Java que permite reflejar parámetros,variables y estructuras <strong>de</strong> ficheros en tiempo <strong>de</strong> carga. Es una biblioteca <strong>para</strong> editarbyteco<strong>de</strong> que posibilita a los <strong>de</strong>sarrol<strong>la</strong>dores <strong>de</strong>finir nuevas c<strong>la</strong>ses en tiempo <strong>de</strong> ejecucióny modificar ficheros .c<strong>la</strong>ss antes que <strong>la</strong> JVM los cargue. Su principal diferencia con elresto <strong>de</strong> los sistemas <strong>de</strong> fines simi<strong>la</strong>res es que permite modificar los ficheros sin <strong>la</strong>necesidad <strong>de</strong> conocer <strong>de</strong>tal<strong>la</strong>damente el byteco<strong>de</strong> <strong>de</strong> estos. No requiere <strong>la</strong> escritura oinsercción <strong>de</strong> gran<strong>de</strong>s secuencias <strong>de</strong> byteco<strong>de</strong>, ya que pue<strong>de</strong> compi<strong>la</strong>r fragmentos <strong>de</strong>código, lo que <strong>la</strong> hace fácil <strong>de</strong> utilizar. Permite <strong>la</strong> programacion orientada a aspectos porofrecer <strong>la</strong> posibilidad <strong>de</strong> introducir nuevos métodos en <strong>la</strong>s c<strong>la</strong>ses [11] . En términos generales, en el estudio realizado se apreció que <strong>la</strong> biblioteca BCEL es una<strong>de</strong> <strong>la</strong>s más documentadas y potentes <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong>l byteco<strong>de</strong> <strong>de</strong> los ficheros .c<strong>la</strong>ss<strong>de</strong> Java. jc<strong>la</strong>sslib también se c<strong>la</strong>sifica como herramienta popu<strong>la</strong>r y está basada en BCEL<strong>para</strong> exponer información que gestiona por medio <strong>de</strong> interfaces <strong>de</strong> programación. Ambasherramientas son utilizadas por JBE, editor <strong>de</strong> byteco<strong>de</strong> que permite <strong>la</strong> modificación yvisión <strong>de</strong> los ficheros .c<strong>la</strong>ss. JBE utiliza jc<strong>la</strong>sslib <strong>para</strong> visualizar el byteco<strong>de</strong> y BCEL <strong>para</strong>chequear y exportar los archivos .c<strong>la</strong>ss [82] .1.6.3 Herramientas <strong>de</strong> Reportes más Utilizadas en <strong>la</strong> ActualidadLa mayoría <strong>de</strong> <strong>la</strong>s herramientas antes mencionadas se encuentra respaldada actualmente poruna gran aceptación popu<strong>la</strong>r. A pesar <strong>de</strong> ello, conviene <strong>de</strong>tal<strong>la</strong>r <strong>la</strong>s opciones que gozan <strong>de</strong>mayor preferencia por programadores, aspecto que pue<strong>de</strong> constar por <strong>la</strong>s dimensiones <strong>de</strong> suscomunida<strong>de</strong>s, los diferentes trabajos realizados con el<strong>la</strong>s y los rasgos más bondadosos quepresentan. El siguiente análisis excluye a los SGBD y a <strong>la</strong>s soluciones <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong>información que utilizan reportes como medio <strong>para</strong> cumplir sus requerimientos, enfocándose en<strong>la</strong>s herramientas <strong>de</strong>stinadas al trabajo con reportes <strong>de</strong> manera primaria.42


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónSegún el estudio realizado acor<strong>de</strong> a los criterios antes mencionados, se i<strong>de</strong>ntificó entre <strong>la</strong>sherramientas <strong>de</strong> mayor impacto en <strong>la</strong> actualidad a los frameworks <strong>de</strong> reportes Jasper, BIRT yPentaho, todos <strong>de</strong> código abierto <strong>para</strong> Java. Por otra parte, el <strong>la</strong>do <strong>de</strong> los sistemas propietariosse encuentra representado fundamentalmente por Crystal Reports <strong>de</strong> Business Objects.Crystal Reports en sus últimas versiones ha incorporado funcionalida<strong>de</strong>s <strong>de</strong> gran utilidad, loque evi<strong>de</strong>ncia <strong>la</strong> evolución que ha experimentado garantizando su protagonismo como soluciónrepresentativa en <strong>la</strong> esfera <strong>de</strong> sistemas <strong>de</strong> reportes <strong>informático</strong>s propietarios [6] . Entre susrasgos más notables se encuentran [7][8] : Una potente <strong>gestión</strong> <strong>de</strong> reportes: Incorpora <strong>la</strong> ubicación <strong>dinámica</strong> <strong>de</strong> gráficos y mejora e<strong>la</strong>grupamiento en modo jerárquico. El uso mejorado auxiliándose <strong>de</strong> vistas previas en formato HTML, un explorador <strong>de</strong>repositorio actualizado y <strong>la</strong> introducción <strong>de</strong>l diseño inteligente permitiendo el diseño <strong>de</strong>gráficos <strong>de</strong> manera más rápida y fácil. La creación y publicación <strong>de</strong> reportes <strong>de</strong> manera compartida y <strong>la</strong> optimización <strong>de</strong> <strong>la</strong>interacción con el usuario por medio <strong>de</strong> avisos dinámicos que pue<strong>de</strong>n <strong>de</strong>senca<strong>de</strong>narca<strong>de</strong>nas <strong>de</strong> procesos [94] . La posibilidad <strong>de</strong> personalizar funciones, refinar vistas <strong>de</strong> negocio y crear reportesbasados en Microsoft Exchange Server, Microsoft Outlook, o ficheros <strong>de</strong> registro <strong>de</strong> trazas<strong>de</strong> servidores Web [94] . La transformación <strong>de</strong> datos <strong>de</strong> manera <strong>de</strong>sconectada y <strong>la</strong> posibilidad <strong>de</strong> incluir en el diseño<strong>de</strong> los reportes animaciones <strong>de</strong>sarrol<strong>la</strong>das en Adobe F<strong>la</strong>sh [93] . La posibilidad <strong>de</strong> centralizar elementos <strong>de</strong> diseño y garantizar que los reportes seactualicen automáticamente por medio <strong>de</strong>l repositorio [93] . La inclusión <strong>de</strong> reportes en aplicaciones Web o <strong>de</strong> escritorio <strong>de</strong>sarrol<strong>la</strong>das en Java, .NET uotras herramientas [85] .Por otra parte, los productos <strong>de</strong> Jasper se han tornado protagonistas <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportesen muchos sistemas <strong>de</strong>sarrol<strong>la</strong>dos con Java. Cada uno <strong>de</strong> ellos se enfoca en áreas c<strong>la</strong>ves <strong>de</strong><strong>la</strong> misma ofreciendo bonda<strong>de</strong>s c<strong>la</strong>ves. Seguidamente se expone <strong>la</strong> esencia <strong>de</strong> acción <strong>de</strong> cadauno <strong>de</strong> ellos [40] : JasperReports: Potente biblioteca <strong>de</strong>stinada a <strong>de</strong>sarrol<strong>la</strong>r reportes que consiste en <strong>la</strong> base<strong>de</strong> implementación <strong>de</strong> <strong>la</strong> mayoría <strong>de</strong> los productos <strong>de</strong> Jasper. La misma está <strong>de</strong>stinada43


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónfundamentalmente a <strong>de</strong>sarrol<strong>la</strong>dores y usuarios expertos <strong>de</strong>ntro <strong>de</strong> <strong>la</strong> jerarquía <strong>de</strong> rolesvincu<strong>la</strong>dos al proceso cíclico <strong>de</strong> concepción <strong>de</strong> reportes (Ver Tab<strong>la</strong> 1). JasperServer: Servidor <strong>de</strong> reportes interactivo diseñado <strong>para</strong> usuarios <strong>de</strong> negocios y<strong>de</strong>sarrol<strong>la</strong>dores. Esta herramienta posibilita <strong>la</strong> entrega <strong>de</strong> información en tiempo real y <strong>la</strong>realización <strong>de</strong> p<strong>la</strong>nificaciones básicas por medio <strong>de</strong> reportes, entre otras funcionalida<strong>de</strong>s. JasperAnalysis: Permite el procesamiento <strong>de</strong> datos <strong>de</strong> manera online (OLAP) y está<strong>de</strong>stinada fundamentalmente a usuarios <strong>de</strong> negocio. Pue<strong>de</strong> ser utilizada <strong>para</strong> <strong>de</strong>tectarten<strong>de</strong>ncias, patrones, corre<strong>la</strong>ciones y anomalías en los datos. JasperETL: Permite <strong>la</strong> integración <strong>de</strong> datos y pue<strong>de</strong> ser utilizado <strong>para</strong> mesc<strong>la</strong>r datos <strong>de</strong>diferentes fuentes en una única <strong>de</strong> manera consistente <strong>para</strong> el análisis y <strong>la</strong> <strong>gestión</strong> <strong>de</strong>reportes.De todos los productos <strong>de</strong> Jasper, conviene centrar <strong>la</strong> atención en JasperReports por constituir<strong>la</strong> base <strong>de</strong> muchos <strong>de</strong> ellos y permitir el trabajo variado a partir <strong>de</strong> sus funcionalida<strong>de</strong>s.JasperReports es una <strong>de</strong> <strong>la</strong>s bibliotecas <strong>de</strong> código abierto más conocidas <strong>para</strong> el trabajo conreportes que permite <strong>la</strong> salida interactiva <strong>de</strong> información <strong>de</strong> manera simple y flexible. A<strong>de</strong>másposibilita obtener reportes bien organizados en cuanto a contenido a mostrar, ya sea porpantal<strong>la</strong> o por impresora. También incorpora <strong>la</strong> salida en un gran número <strong>de</strong> formatos <strong>de</strong>ficheros. Utiliza estándares no propietarios como el XML <strong>para</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong> reportespersistentes y el HTML y el PDF <strong>para</strong> salida gráfica. A<strong>de</strong>más se pue<strong>de</strong>n obtener reportesbasados en vistas <strong>de</strong> Swing y Eclipse, y en otros formatos como XLS, CSV, RTF y TXT (VerFigura 7). Es una biblioteca perteneciente completamente a Java y pue<strong>de</strong> ser incorporada en el<strong>de</strong>sarrollo <strong>de</strong> aplicaciones <strong>para</strong> <strong>la</strong> generación <strong>dinámica</strong> <strong>de</strong> reportes [24][32] .Otras <strong>de</strong> <strong>la</strong>s ventajas <strong>de</strong> JasperReports es que pue<strong>de</strong> utilizarse in<strong>de</strong>pendientemente <strong>de</strong> <strong>la</strong>sfuentes <strong>de</strong> datos y ofrece flexibles bonda<strong>de</strong>s <strong>para</strong> realizar cálculos. Hace posible <strong>la</strong>manipu<strong>la</strong>ción gráfica <strong>de</strong> los reportes y <strong>la</strong> incorporación <strong>de</strong> gráficos a los mismos. Brinda unconjunto <strong>de</strong> formatos internacionales <strong>de</strong> texto como el conocido “unico<strong>de</strong>” y a<strong>de</strong>más soportamultilenguaje <strong>para</strong> los reportes <strong>de</strong>sarrol<strong>la</strong>dos [17] .44


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónJasperCompileManagerJasperPrintManagerJRXmlLoa<strong>de</strong>rJRCompilerJasperFillManageimprimirXMLanalizarJasperDesigncompi<strong>la</strong>rJasperReportllenarJasperPrintAPIGUI ToolHTMLexportarJasperExportManagerCSVFigura 7. Estructura <strong>de</strong> <strong>la</strong> Biblioteca “JasperReports” [13] .XMLUna herramienta que gestiona gráficamente el trabajo con JasperReports es iReports [41] ,generador visual <strong>de</strong> reportes <strong>para</strong> JasperReports <strong>de</strong>sarrol<strong>la</strong>do también en Java. Aunque es unaherramienta muy potente, se distribuye gratis y es <strong>de</strong> código abierto, no incorpora <strong>gestión</strong> <strong>de</strong>roles <strong>de</strong> usuarios, por lo que no se acop<strong>la</strong> completamente a <strong>la</strong>s necesida<strong>de</strong>s p<strong>la</strong>nteadas asolucionar en <strong>la</strong> propuesta <strong>de</strong>l presente trabajo. Sin embargo <strong>la</strong> posibilidad <strong>de</strong> que utiliceJasperReports y que se distribuya a código abierto significa una oportunidad muy convenientea aprovechar al ser posible estudiar a fondo su estructura. También esta herramienta utilizaJFreeChart, una <strong>de</strong> <strong>la</strong>s bibliotecas gráficas a código abierto más difundidas <strong>para</strong> Java quesoporta diferentes tipos <strong>de</strong> salidas, garantizando compatibilidad con componentes Swing,ficheros <strong>de</strong> imágenes como PNG y JPEG, y formatos <strong>de</strong> gráficos vectoriales <strong>de</strong> ficheros entrelos que se <strong>de</strong>stacan PDF, EPS y SVG [61] .Anteriormente fueron <strong>de</strong>scritos en <strong>de</strong>talle BIRT y Pentaho, por lo que en el presente epígrafeserán com<strong>para</strong>dos con el paquete <strong>de</strong> herramientas <strong>de</strong> Jasper sin requerir <strong>de</strong> anunciaciónalguna. El propósito perseguido al encarar cada una <strong>de</strong> estas opciones es captar susprincipales diferencias y semejanzas. Crystal Reports será excluido <strong>de</strong> esta com<strong>para</strong>ción portratarse <strong>de</strong> un sistema propietario que no brinda libremente su código, lo que anu<strong>la</strong> <strong>la</strong>spretensiones primarias <strong>de</strong> obtener y estudiar un proyecto existente con el propósito <strong>de</strong> ofreceruna solución eficiente y rápida a <strong>la</strong> situación mencionada en <strong>la</strong> introducción <strong>de</strong>l documento apartir <strong>de</strong> <strong>la</strong> modificación mínima <strong>de</strong> este.Después <strong>de</strong> estudiar <strong>de</strong>tal<strong>la</strong>damente todos estos frameworks y obtener documentación quepermite <strong>la</strong> com<strong>para</strong>ción <strong>de</strong> múltiples aspectos básicos <strong>para</strong> formar criterios sobre los mismos,45


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónse llegó a <strong>la</strong> conclusión <strong>de</strong> que todos presentan en alguna medida <strong>de</strong>ficiencias. Cada uno <strong>de</strong>ellos limita el acceso <strong>de</strong> un número elevado <strong>de</strong> diferentes usuarios a un mismo reporte. A modo<strong>de</strong> semejanza se observó que todos presentan <strong>la</strong>s opciones típicas <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong>l diseñográfico <strong>de</strong> reportes, como construcción <strong>de</strong> expresiones, tab<strong>la</strong>s y gráficos [43] .Desglosando los problemas apreciados, en el caso <strong>de</strong> BIRT, este no garantiza unasincronización entre el explorador <strong>de</strong> bibliotecas y el <strong>de</strong> datos. Lamentablemente, el primero nomuestra el contenido actualizado, siendo necesario recargar el Eclipse <strong>para</strong> observar <strong>la</strong> másreciente información. Otros <strong>de</strong>fectos <strong>de</strong> BIRT consisten en que no funcione <strong>la</strong> paginación HTMLy presente un bajo rendimiento que afecte el <strong>de</strong>spliegue en servidores [43] .JasperReports, en cambio, no permite exponer <strong>de</strong> manera previa en su asistente gráficoiReport el resultado <strong>de</strong> <strong>la</strong>s consultas que constituirán <strong>la</strong> base <strong>de</strong> <strong>la</strong> información a exponer en losreportes. Otros <strong>de</strong> los <strong>de</strong>fectos <strong>de</strong>tectados en JasperReports es que no almacena <strong>de</strong>talles <strong>de</strong>conexión con <strong>la</strong>s fuentes <strong>de</strong> datos en los ficheros JRXML [43] .Pentaho, por otro <strong>la</strong>do, no incluye <strong>la</strong> <strong>gestión</strong> <strong>de</strong> hipervínculos en su herramienta <strong>de</strong> diseño <strong>de</strong>reportes ni tampoco hace posible <strong>la</strong> creación <strong>de</strong> subreportes. Otra <strong>de</strong> <strong>la</strong>s <strong>de</strong>sventajas <strong>de</strong>Pentaho es <strong>la</strong> ausencia <strong>de</strong> un editor <strong>de</strong> código script [43] .Otras herramientas muy utilizadas <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes son: ContourCube.NET 3.0, que adiciona como novedad <strong>la</strong> propiedad <strong>de</strong> interlineadoautomático <strong>para</strong> <strong>la</strong>s ca<strong>de</strong>nas <strong>la</strong>rgas <strong>de</strong> caracteres y <strong>la</strong> posibilidad <strong>de</strong> cambiar áreas <strong>de</strong>campos al modo multilínea <strong>para</strong> que el usuario pueda tener tantos campos <strong>de</strong> edicióncomo <strong>de</strong>see [86] . La versión 5.2 <strong>de</strong> Rpv Business Reports con <strong>la</strong>s ventajas <strong>de</strong> permitir <strong>la</strong> <strong>gestión</strong> <strong>de</strong>impresiones remotas, <strong>la</strong> selección <strong>de</strong> <strong>la</strong>s áreas <strong>de</strong> impresión y visualización <strong>para</strong> eltrabajo con formu<strong>la</strong>rios preimpresos sin trabajar doblemente, y <strong>la</strong> posibilidad <strong>de</strong> generarmúltiples reportes con un mismo fichero <strong>de</strong> datos y con un solo proceso [79] .Esencialmente, los principales pasos dados en <strong>la</strong> actualidad en el trabajo con los reportespue<strong>de</strong> consi<strong>de</strong>rarse que son: el aumento <strong>de</strong> formatos en que son exportados por <strong>la</strong>sherramientas más utilizadas, <strong>para</strong> <strong>de</strong> esta forma establecer una mayor compatibilidad convisores y editores existentes, el enfoque sobre una estructura común (formato XML) <strong>para</strong>garantizar <strong>la</strong> extensibilidad <strong>de</strong> los productos <strong>de</strong> reportes, y <strong>la</strong> orientación <strong>de</strong> los reportes a<strong>la</strong>mbiente Web.46


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación1.6.4 Validación <strong>de</strong>l <strong>Sistema</strong> a Desarrol<strong>la</strong>rTeniendo en cuenta que existe una amplia gama <strong>de</strong> soluciones informáticas pertenecientes alcampo <strong>de</strong> los reportes y consi<strong>de</strong>rando que ninguna <strong>de</strong> el<strong>la</strong>s posee un módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong>roles <strong>de</strong> usuarios según el estudio realizado, entonces se justifica <strong>la</strong> creación <strong>de</strong>l sistemapropuesto en el presente trabajo. Cada herramienta <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes apreciada se basaen jerarquías <strong>de</strong> usuarios establecidas con anterioridad. Ninguna <strong>de</strong> el<strong>la</strong>s ha sido diseñada<strong>para</strong> funcionar con roles que manifiesten y asimilen evolución en su <strong>de</strong>finición.La creación <strong>de</strong> un generador <strong>de</strong> reportes que permita gestionar roles <strong>de</strong> forma <strong>personalizada</strong> yasignar permisos <strong>de</strong> manera <strong>dinámica</strong>, así como distribuir opciones por los diferentes menús,<strong>de</strong>finitivamente abre <strong>la</strong>s puertas a <strong>la</strong> posibilidad <strong>de</strong> estudiar <strong>de</strong>tal<strong>la</strong>damente el comportamiento<strong>de</strong> los roles <strong>de</strong> usuarios que intervienen en los diferentes procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes.1.7 Decisiones Esenciales <strong>para</strong> una Buena SoluciónEn <strong>la</strong>s herramientas estudiadas <strong>de</strong>stinadas a <strong>la</strong> confección y generación <strong>de</strong> reportes, se<strong>de</strong>tectó un conjunto <strong>de</strong> ventajas que resulta <strong>de</strong> gran valor <strong>para</strong> <strong>la</strong> obtención <strong>de</strong> estos <strong>de</strong> forma<strong>personalizada</strong>. Entre el<strong>la</strong>s se encuentra el agrupamiento <strong>de</strong> los datos a exponer, <strong>la</strong> introducción<strong>de</strong> operaciones matemáticas y lógicas, el establecimiento <strong>de</strong> condiciones y criterios <strong>de</strong>or<strong>de</strong>namiento <strong>para</strong> los datos a mostrar y <strong>la</strong> inclusión <strong>de</strong> gráficos, imágenes y figurasgeométricas.Todas estas características constituyen ventajas <strong>para</strong> obtener reportes flexibles que se ajustena <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios. Muchas <strong>de</strong> el<strong>la</strong>s se han estandarizado llegando a seraspectos tenidos en cuenta <strong>de</strong> cada una <strong>de</strong> <strong>la</strong>s herramientas existentes. Un estudio <strong>de</strong>tal<strong>la</strong>do<strong>de</strong> cómo implementar<strong>la</strong>s constituye un tema c<strong>la</strong>ve <strong>para</strong> <strong>la</strong> solución <strong>de</strong>l problema antes <strong>de</strong>finido.Después <strong>de</strong> realizar el estudio <strong>de</strong>l estado <strong>de</strong>l arte y justificar el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> herramientap<strong>la</strong>nteada como objetivo, es necesario seleccionar <strong>la</strong> tecnología <strong>de</strong> <strong>de</strong>sarrollo y <strong>de</strong>másaspectos que permitan <strong>la</strong> óptima creación <strong>de</strong> <strong>la</strong> misma. El proceso <strong>de</strong> <strong>de</strong>finición <strong>de</strong> <strong>de</strong>cisionesesenciales <strong>para</strong> <strong>la</strong> implementación <strong>de</strong> <strong>la</strong> solución se basará en <strong>la</strong> selección <strong>de</strong> procesos,herramientas, módulos y el <strong>de</strong>sarrollo <strong>de</strong> manera exclusiva <strong>de</strong> otros rasgos que constituyenventajas observadas en los <strong>de</strong>más sistemas antes <strong>de</strong>scritos.1.7.1 Gestión <strong>de</strong> Fuentes <strong>de</strong> DatosPara garantizar una forma <strong>de</strong> gestionar <strong>la</strong>s fuentes <strong>de</strong> datos <strong>de</strong> manera in<strong>de</strong>pendiente a <strong>la</strong>sdiferentes tecnologías, concepciones y SGBD, es que se <strong>de</strong>ci<strong>de</strong> seleccionar el módulo <strong>de</strong>47


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación<strong>gestión</strong> <strong>de</strong> conexiones y fuentes <strong>de</strong> datos implementado <strong>para</strong> el asistente gráfico <strong>de</strong> <strong>gestión</strong> <strong>de</strong>reportes iReport <strong>de</strong> Jasper Corporation. Esta herramienta creada en Java, incorpora <strong>la</strong>portabilidad <strong>de</strong> dicho lenguaje y otros <strong>de</strong> sus rasgos que garantizan flexibilidad ein<strong>de</strong>pen<strong>de</strong>ncia, y a<strong>de</strong>más permite <strong>la</strong> <strong>gestión</strong> <strong>de</strong> fuentes JDBC, XML, CSV, EJBQL, Hibernate,entre otras (Ver Figura 8).La potente biblioteca en <strong>la</strong> que se basa iReport (JasperReports), y el amplio grupo <strong>de</strong> opciones<strong>de</strong> tipos <strong>de</strong> fuentes <strong>de</strong> datos que soporta, garantiza que sea una opción <strong>de</strong> amplio alcance <strong>para</strong><strong>de</strong>finir puntos múltiples que abastezcan los reportes que posteriormente se puedan crear. Sucompletitud se ajusta en gran medida a los propósitos perseguidos en función <strong>de</strong> garantizar e<strong>la</strong>bastecimiento <strong>de</strong> datos <strong>para</strong> los reportes, y el hecho <strong>de</strong> ser <strong>de</strong> código abierto aumenta sufavoritismo <strong>para</strong> el trabajo que se <strong>de</strong>sea realizar al brindar completamente todos sus archivosfuentes.Figura 8. Alternativas <strong>de</strong> tipos <strong>de</strong> conexiones <strong>de</strong> iReport 3.0.0.1.7.2 Proceso <strong>de</strong> Concepción y Gestión <strong>de</strong> ReportesLa estructura que se adoptará <strong>para</strong> el proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes estará formada por lospasos explicados en el epígrafe 1.3.1.5 y se presentarán en un or<strong>de</strong>n igual al <strong>de</strong>scrito. Laselección <strong>de</strong> este proceso ha <strong>de</strong> permitir el uso <strong>de</strong> asistentes que respal<strong>de</strong>n cada uno <strong>de</strong> suspasos y garanticen una elevada flexibilidad en <strong>la</strong> herramienta.48


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigación1.7.3 Estructura <strong>de</strong> <strong>la</strong> P<strong>la</strong>ntil<strong>la</strong> y EspecificacionesLa estructura <strong>de</strong>l fichero base que almacenará <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l reporte y <strong>la</strong> informaciónre<strong>la</strong>cionada a <strong>la</strong> apariencia visual <strong>de</strong> su p<strong>la</strong>ntil<strong>la</strong> será <strong>la</strong> XML. Anteriormente se expuso unconjunto <strong>de</strong> herramientas que vienen adoptando tal tecnología como respaldo a <strong>la</strong> <strong>de</strong>finición <strong>de</strong>sus reportes, lo que garantiza <strong>la</strong> extensibilidad <strong>de</strong> los mismos y su uso en diferentesp<strong>la</strong>taformas.También los esquemas a los que pue<strong>de</strong> respon<strong>de</strong>r un fichero XML aumenta el ajuste <strong>de</strong> losreportes frente a diferentes escenarios siempre presentando <strong>la</strong> flexibilidad que ofrece <strong>la</strong>tecnología XML al po<strong>de</strong>r cambiar el esquema asignado. Los ficheros JRXML, como antes semencionara, se ajustan <strong>de</strong> manera abstracta a situaciones diferentes mediante una sólida<strong>de</strong>finición <strong>de</strong> su p<strong>la</strong>ntil<strong>la</strong>. Bajo los términos <strong>de</strong> esta tecnología conviene entonces consi<strong>de</strong>rartambién <strong>la</strong> forma en que almacena los reportes JasperReports.Es útil consi<strong>de</strong>rar el uso <strong>de</strong> RDL <strong>para</strong> cubrir aspectos que pudieran ser pasados por alto en <strong>la</strong><strong>de</strong>finición <strong>de</strong>l DTD <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> JasperReports, así como el repaso <strong>de</strong> <strong>la</strong> especificaciónSMDL <strong>para</strong> fortalecer <strong>la</strong> riqueza semántica y su en<strong>la</strong>ce con <strong>la</strong>s fuentes <strong>de</strong> datos <strong>para</strong> el mo<strong>de</strong>lo<strong>de</strong>l reporte a conformar. La combinación <strong>de</strong> RDL, SMDL y JRXML junto a <strong>la</strong> <strong>gestión</strong> <strong>de</strong>esquemas y DTDs <strong>para</strong> XML ciertamente pue<strong>de</strong> garantizar una mo<strong>de</strong><strong>la</strong>ción e implementaciónflexible, sólida y completa <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s y componentes <strong>de</strong> reportes <strong>para</strong> cualquier situación quepudiera exigir una representación compleja <strong>de</strong> <strong>la</strong> información.La apariencia visual <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> se <strong>de</strong>be establecer <strong>de</strong> manera flexible esencialmenteincorporando <strong>la</strong> mayor cantidad <strong>de</strong> tipos <strong>de</strong> bandas útiles <strong>para</strong> permitirle al usuario <strong>de</strong>sarrol<strong>la</strong>rreportes altamente personalizados acor<strong>de</strong> a sus necesida<strong>de</strong>s e iniciativas, aspecto que incitaráexpresar <strong>la</strong>s diferencias <strong>de</strong> concepciones y criterios con el fin <strong>de</strong> ampliar el espectro <strong>de</strong> estudio<strong>de</strong> <strong>la</strong>s posibles c<strong>la</strong>ses <strong>de</strong> usuarios. La forma <strong>de</strong> establecer <strong>la</strong>s bandas respon<strong>de</strong>rá a <strong>la</strong>concepción genérica referida en el epígrafe 1.3.1.2.1.7.4 Gestión <strong>de</strong> Compatibilidad, Flexibilidad, Extensibilidad y SeguridadUtilizar tecnología XML garantiza que los esquemas <strong>de</strong> los reportes puedan gestionarse <strong>de</strong>manera in<strong>de</strong>pendiente, por lo que podrán ser exportados y reconocidos <strong>de</strong> manerain<strong>de</strong>pendiente siempre que <strong>la</strong>s herramientas cump<strong>la</strong>n <strong>la</strong>s reg<strong>la</strong>s <strong>de</strong>finidas en sus esquemas.También recibiendo como fuente ficheros <strong>de</strong> formato XML se garantiza exportar a formatosreconocidos como el PDF, HTML, RTF, entre otras representaciones [81][97] .49


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónEs importante recordar que <strong>la</strong> tecnología XML consiste en un estándar por excelencia <strong>para</strong> elintercambio <strong>de</strong> información estructurada entre diferentes p<strong>la</strong>taformas, por lo que su uso ha <strong>de</strong>garantizar compatibilidad, portabilidad y extensibilidad en los productos <strong>de</strong> reportes a crear.iReport presenta también opciones <strong>para</strong> exportar a diferentes formatos <strong>de</strong> ficheros quegarantizan <strong>la</strong> aceptación <strong>de</strong> los reportes por muchas herramientas, tecnologías y p<strong>la</strong>taformas.La codificación <strong>de</strong> tales funcionalida<strong>de</strong>s se encuentra disponible al pertenecer a unaherramienta <strong>de</strong> código abierto, por lo que por esta parte existente también bonda<strong>de</strong>s que sepudieran aprovechar <strong>para</strong> el <strong>de</strong>sarrollo <strong>de</strong>l trabajo.El tratamiento exclusivo dado a <strong>la</strong> flexibilidad se realizará a través <strong>de</strong>l uso <strong>de</strong> <strong>la</strong>s bibliotecasBCEL y jc<strong>la</strong>sslib, utilizándo<strong>la</strong>s en combinación <strong>de</strong> manera simi<strong>la</strong>r a como JBE lo hace. Talesopciones se han escogido <strong>de</strong>bido a <strong>la</strong> buena documentación que presentan, así como <strong>la</strong>potencia con que logran cumplir sus objetivos. Se preten<strong>de</strong> regir <strong>la</strong>s acciones <strong>de</strong> flexibilidad einyección <strong>de</strong> código <strong>para</strong> <strong>la</strong> inserción <strong>de</strong> nuevas opciones siguiendo el estándar PLIB <strong>de</strong>finido<strong>para</strong> efectuar un trabajo <strong>de</strong> calidad y cumpliendo con aspectos sólidos previamente <strong>de</strong>finidos.También se utilizará el servicio JAAS <strong>de</strong> Java <strong>para</strong> implementar <strong>de</strong> manera <strong>personalizada</strong>mecanismos <strong>de</strong> seguridad que permitan <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios. Se preten<strong>de</strong> ofrecerfuncionalida<strong>de</strong>s vincu<strong>la</strong>das a <strong>la</strong> distribución <strong>de</strong> opciones <strong>de</strong> menú <strong>de</strong> manera <strong>dinámica</strong> acor<strong>de</strong> a<strong>la</strong> c<strong>la</strong>se <strong>de</strong> usuario que utilice el sistema y los <strong>de</strong>rechos <strong>de</strong>l mismo. Fundamentalmente temas<strong>de</strong> autenticación y autorización.1.7.5 Selección <strong>de</strong> Herramientas <strong>para</strong> Desarrollo <strong>de</strong> <strong>la</strong> SoluciónPara cumplir los objetivos trazados en el trabajo y lograr un <strong>de</strong>sarrollo eficiente <strong>de</strong> un producto<strong>de</strong> software que represente una óptima solución a <strong>la</strong> situación antes <strong>de</strong>scrita <strong>de</strong>benseleccionarse <strong>la</strong>s herramientas estudiadas que permitan incorporar <strong>la</strong> mayor cantidad <strong>de</strong>ventajas al sistema durante todo su ciclo <strong>de</strong> vida.Como lenguaje <strong>de</strong> programación se ha seleccionado Java por permitir el <strong>de</strong>sarrollo <strong>de</strong>aplicaciones portables y garantizar una alta flexibilidad. A<strong>de</strong>más presenta una amplia ypo<strong>de</strong>rosa comunidad <strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>dores extendida por todo el mundo y presenta herramientasmuy po<strong>de</strong>rosas <strong>de</strong> <strong>de</strong>sarrollo, bibliotecas <strong>de</strong> código abierto y libre uso enfocadas a diferentespropósitos don<strong>de</strong> se encuentran los productos <strong>de</strong> JasperSoft Corporation.A diferencia <strong>de</strong> muchas otras opciones estudiadas, iReport ha sido implementado sobre Java yse distribuye con disponibilidad a sus fuentes <strong>de</strong> codificación. Por <strong>la</strong>s ventajas que incorpora y50


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> Investigaciónsu enfoque general al tratamiento <strong>de</strong> reportes constituye uno <strong>de</strong> los asistentes gráficos másbondadosos <strong>para</strong> estos fines.iReport ha sido implementado utilizando <strong>la</strong> biblioteca JasperReport <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportesy JFreeChart <strong>para</strong> el manejo <strong>de</strong> gráficos. Incluye otras herramientas muy po<strong>de</strong>rosas queadicionan funcionalida<strong>de</strong>s extras a los procesos d <strong>gestión</strong> <strong>de</strong> reportes y que permiten untratamiento personalizado a <strong>la</strong> extensibilidad permitiendo al producto ser reconocido por otrasherramientas.Los productos <strong>de</strong> Jasper crean reportes sobre p<strong>la</strong>ntil<strong>la</strong>s JRXML y al disponerse <strong>de</strong> su códigopue<strong>de</strong> adicionarse un mecanismo que permita personalizar el acceso <strong>de</strong> los usuarios a cadaopción disponible <strong>de</strong> menú. Java posee todas <strong>la</strong>s bonda<strong>de</strong>s necesarias <strong>para</strong> implementar unmódulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes con vistas a un trabajo futuro sobre el área <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles<strong>de</strong> usuarios en procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes. Es por ello que se ha <strong>de</strong>cidido <strong>para</strong> <strong>la</strong>realización <strong>de</strong>l presente trabajo seleccionar al proyecto iReport con sus fuentes junto al resto<strong>de</strong> <strong>la</strong>s bibliotecas y tecnologías que involucra.1.8 ConclusionesEl presente capítulo se concluye habiendo realizado el análisis <strong>de</strong> los antece<strong>de</strong>ntes <strong>de</strong> <strong>la</strong><strong>gestión</strong> <strong>de</strong> los reportes a modo <strong>de</strong> introducción. En el mismo se abordó el trabajo que antece<strong>de</strong>al presente y se <strong>de</strong>scribieron los principales propósitos perseguidos con <strong>la</strong> investigación.A<strong>de</strong>más, fueron introducidos conceptos básicos que serán citados en el resto <strong>de</strong>l documento yque conforman <strong>la</strong> esencia teórica <strong>de</strong>l tema tratado.También se realizó una <strong>de</strong>scripción y el análisis crítico al generador <strong>de</strong> reportes creado <strong>para</strong> elsistema GREHU, el cual pudiera consi<strong>de</strong>rarse como <strong>la</strong> génesis <strong>de</strong> un conjunto <strong>de</strong> trabajosre<strong>la</strong>cionados en el tema. Se justificó <strong>la</strong> i<strong>de</strong>a <strong>de</strong> exten<strong>de</strong>r los problemas analizados al resto <strong>de</strong><strong>la</strong>s herramientas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes por medio <strong>de</strong> razonamientos expuestos y con <strong>la</strong> ayuda<strong>de</strong> conclusiones obtenidas en otras investigaciones re<strong>la</strong>cionadas a otros trabajos efectuados enel área.Uno <strong>de</strong> los aspectos esenciales tratados en este capítulo fue el análisis <strong>de</strong>l estado <strong>de</strong>l arte <strong>para</strong>justificar el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> solución y seleccionar <strong>la</strong>s herramientas y tecnologías óptimas <strong>para</strong>su diseño e implementación. Tal actividad permitió llegar a <strong>la</strong> conclusión <strong>de</strong> que <strong>la</strong>sherramientas existentes exponen el tratamiento a <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes sin una consi<strong>de</strong>ración<strong>de</strong>tal<strong>la</strong>da <strong>de</strong> <strong>la</strong> interacción <strong>de</strong> esta área con <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles.51


CAPÍTULO I. Antece<strong>de</strong>ntes y Detalles <strong>de</strong> <strong>la</strong> InvestigaciónPara el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> solución propuesta en el presente trabajo se seleccionó un conjunto <strong>de</strong>herramientas <strong>de</strong> libre distribución y uso que permiten el <strong>de</strong>sarrollo y <strong>la</strong> comercialización <strong>de</strong>productos sin necesidad <strong>de</strong> realizar pagos adicionales por licencias. Tales herramientasre<strong>la</strong>cionan <strong>la</strong>s tecnologías <strong>de</strong> Java y XML. Entre el<strong>la</strong>s se incluyen algunas <strong>de</strong> código abierto ylibre modificación como <strong>la</strong> biblioteca <strong>de</strong> reportes JasperReport y <strong>la</strong> herramienta gráfica <strong>de</strong>diseño <strong>de</strong> reportes iReport.Para <strong>la</strong> <strong>gestión</strong> <strong>personalizada</strong> <strong>de</strong> opciones <strong>de</strong> menús <strong>de</strong>sarrol<strong>la</strong>dos en Java y <strong>la</strong> <strong>gestión</strong> <strong>de</strong>roles <strong>de</strong> usuarios y el control <strong>de</strong> <strong>la</strong> seguridad, se seleccionaron: <strong>la</strong>s bibliotecas BCEL y jc<strong>la</strong>sslib,y <strong>la</strong> herramienta JBE, <strong>para</strong> el diseño, <strong>la</strong> inyección <strong>de</strong> código y <strong>la</strong> <strong>gestión</strong> <strong>de</strong> opciones <strong>de</strong> menús<strong>de</strong> manera <strong>dinámica</strong>, y el servicio JAAS <strong>de</strong> Java <strong>para</strong> el control <strong>de</strong> <strong>la</strong> seguridad.Todas estas herramientas y tecnologías serán utilizadas en <strong>la</strong> concepción <strong>de</strong> <strong>la</strong> herramienta<strong>de</strong>seada incorporando <strong>la</strong>s principales ventajas y funcionalida<strong>de</strong>s más prometedoras que fueronapreciadas en el resto <strong>de</strong> los productos estudiados re<strong>la</strong>cionados con <strong>la</strong> temática <strong>de</strong> losreportes.52


CAPÍTULO IICAPÍTULO II. DESCRIPCIÓN DE LA SOLUCIÓN PROPUESTA


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta2.1 IntroducciónDespués <strong>de</strong> <strong>de</strong>finir los aspectos teóricos <strong>de</strong> mayor relevancia, citar y analizar <strong>la</strong> convergencia<strong>de</strong>l presente trabajo con otras investigaciones realizadas, y posterior a un análisis <strong>de</strong>tal<strong>la</strong>do <strong>de</strong>lestado <strong>de</strong>l arte re<strong>la</strong>cionado, concluyendo con <strong>la</strong> justificación <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong> una nuevaherramienta según los propósitos seguidos, se prosigue con <strong>la</strong> concepción, el análisis y eldiseño <strong>de</strong> <strong>la</strong> misma.“Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta” es un capítulo que involucra temas <strong>de</strong> concepción sinllegar a p<strong>la</strong>smar aspectos <strong>de</strong> implementación. El mismo se inicia <strong>de</strong>tal<strong>la</strong>ndo <strong>la</strong> captura <strong>de</strong>criterios que resultan esenciales <strong>para</strong> <strong>la</strong> construcción <strong>de</strong> <strong>la</strong> herramienta y <strong>la</strong> satisfacción <strong>de</strong> losusuarios. En él también se exponen y fundamentan los requerimientos y reg<strong>la</strong>s a consi<strong>de</strong>rar,entre otras cuestiones que constituirán <strong>la</strong> esencia <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong> información.Teniendo en cuenta que <strong>la</strong> herramienta pue<strong>de</strong> alterar su estructura, algunos requerimientos <strong>de</strong>los usuarios sobre <strong>la</strong> misma podrían cambiar con el tiempo. Este aspecto podría ser asimi<strong>la</strong>doeficientemente por <strong>la</strong> solución si se logra <strong>de</strong>sarrol<strong>la</strong>r con <strong>la</strong> flexibilidad <strong>de</strong>seada e incorporar eldinamismo requerido en sus procesos. Todas <strong>la</strong>s tareas re<strong>la</strong>cionadas a este tema <strong>de</strong>benconsi<strong>de</strong>rarse críticas en cada fase <strong>de</strong>l ciclo <strong>de</strong> vida <strong>de</strong>l sistema a concebir.Como actividad final y <strong>de</strong> mayor volumen en el capítulo, se <strong>de</strong>finen los procesos y mecanismosque posteriormente serán implementados. Estableciendo criterios bien fragmentados, se trata<strong>de</strong> dividir cada actividad concibiendo módulos y oficializando términos según <strong>la</strong> metodología <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong>l software RUP.2.2 Definición <strong>de</strong> los Requerimientos <strong>de</strong> <strong>la</strong> SoluciónLos requerimientos funcionales <strong>de</strong>l sistema fundamentalmente fueron obtenidos a través <strong>de</strong>entrevistas y consultas a clientes y usuarios potenciales, reutilizando los formu<strong>la</strong>rios referidosen el capítulo anterior (Ver Anexo 7) enfocados en <strong>la</strong>s necesida<strong>de</strong>s existentes y <strong>la</strong> <strong>de</strong>tección <strong>de</strong>regu<strong>la</strong>rida<strong>de</strong>s <strong>para</strong> <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción abstracta y el posterior diseño <strong>de</strong>l producto. También, <strong>de</strong>manera menos profunda, se utilizaron elementos básicos <strong>de</strong> metodologías <strong>de</strong> diseño guiadaspor objetivos, <strong>para</strong> <strong>la</strong> captura <strong>de</strong> consi<strong>de</strong>raciones críticas <strong>para</strong> el <strong>de</strong>sarrollo <strong>de</strong>l módulo <strong>de</strong><strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios.Consi<strong>de</strong>rando el impacto <strong>de</strong> <strong>la</strong> solución en el área <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes y su interacción con<strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios, fueron <strong>de</strong>finidos los siguientes requisitos:54


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta La presencia <strong>de</strong> asistentes simples en <strong>la</strong> aplicación que permitan <strong>la</strong> <strong>de</strong>finición <strong>de</strong> reportescompletos y personalizados sin requerirse <strong>de</strong> conocimientos avanzados <strong>de</strong> computación. La existencia <strong>de</strong> editores avanzados <strong>para</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong> expresiones lógicas complejas<strong>para</strong> <strong>la</strong> selección o filtrado <strong>de</strong> <strong>la</strong> solución, así como el establecimiento <strong>de</strong> operacionesestadísticas y matemáticas que permitan obtener e incorporar información relevante en losreportes. La disponibilidad <strong>de</strong> un editor <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes que garantice <strong>la</strong> obtención <strong>de</strong>reportes altamente personalizados gráficamente consi<strong>de</strong>rando temas como: estilo, color ytipos <strong>de</strong> fuentes, tab<strong>la</strong>s, gráficos, figuras, etc. La existencia <strong>de</strong> un mecanismo <strong>de</strong> <strong>gestión</strong> <strong>dinámica</strong> <strong>de</strong> usuarios en el sistema quegarantice el manejo <strong>de</strong> los privilegios mediante el establecimiento <strong>de</strong> políticas <strong>de</strong>seguridad. El ofrecimiento <strong>de</strong> una interfaz intuitiva que se ajuste a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> cada usuario,permitiéndoles utilizar el sistema <strong>de</strong> manera sencil<strong>la</strong> y cómoda. La disponibilidad <strong>de</strong> mecanismos que garanticen exportar los reportes a diferentesformatos estándares con el fin <strong>de</strong> permitir que sean utilizados en otras herramientas <strong>de</strong>diferentes tecnologías. La posibilidad <strong>de</strong> gestionar <strong>la</strong> obtención <strong>de</strong> <strong>la</strong> información a mostrar en los reportes <strong>de</strong>s<strong>de</strong><strong>la</strong> mayor cantidad <strong>de</strong> fuentes <strong>de</strong> datos posible in<strong>de</strong>pendientemente <strong>de</strong>l diseño, tecnologíay estructura <strong>de</strong> estas. El funcionamiento <strong>de</strong> <strong>la</strong> herramienta como un todo in<strong>de</strong>pendientemente <strong>de</strong>l ambiente o <strong>la</strong>p<strong>la</strong>taforma <strong>de</strong> explotación.2.3 Definición <strong>de</strong>l Dominio <strong>de</strong> <strong>la</strong> SoluciónUna vez <strong>de</strong>finidos los requerimientos funcionales, es importante capturar <strong>la</strong> estructura <strong>de</strong>ldominio que va a regir el sistema y <strong>la</strong>s reg<strong>la</strong>s que <strong>de</strong>berá cumplir. Estas tareas pue<strong>de</strong>nconsi<strong>de</strong>rarse como <strong>la</strong>s primeras a efectuar <strong>para</strong> <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción <strong>de</strong> <strong>la</strong> herramienta. A pesar <strong>de</strong>ldinamismo que se preten<strong>de</strong> incorporar en el sistema, es importante tener en cuenta <strong>la</strong>estructura <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong>be basarse en criterios que, <strong>de</strong> ser mo<strong>de</strong><strong>la</strong>dos incorrectamente<strong>de</strong>s<strong>de</strong> un inicio, pue<strong>de</strong>n comprometer el éxito <strong>de</strong> <strong>la</strong> investigación.55


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta2.3.1 Conceptos Relevantes <strong>de</strong>l Dominio <strong>de</strong> <strong>la</strong> SoluciónLos conceptos fundamentales que conforman el dominio <strong>de</strong>l sistema y constituirán <strong>la</strong> base <strong>de</strong>su mo<strong>de</strong><strong>la</strong>ción son: Acceso: Registro <strong>de</strong> fecha, hora y tiempo <strong>de</strong> trabajo <strong>de</strong> un usuario en el sistema. Acción: Registro <strong>de</strong> un evento significativo que altere <strong>la</strong> información, provocado por unusuario. Fuente: Fuente <strong>de</strong> datos que abastece a una p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> reporte. Grupo: Conjunto <strong>de</strong> elementos básicos que conforman una fuente <strong>de</strong> datos. Opción: Punto <strong>de</strong> acceso a una funcionalidad <strong>de</strong>l sistema. Permiso: Restricciones o concesiones otorgadas a un rol <strong>de</strong> usuario sobre una opción. P<strong>la</strong>ntil<strong>la</strong>: Conjunto <strong>de</strong> reg<strong>la</strong>s y aspectos c<strong>la</strong>ves que rigen <strong>la</strong> estructura visual <strong>de</strong> un reporte,el procesamiento <strong>de</strong> los datos a mostrar y <strong>la</strong> forma <strong>de</strong> imprimirlo. Reporte: Elemento obtenido a partir <strong>de</strong> una p<strong>la</strong>ntil<strong>la</strong>, dada una solicitud <strong>de</strong> un usuario enun momento <strong>de</strong>terminado. Repositorio: Almacén <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes diseñadas. Rol: Papel que rige el comportamiento <strong>de</strong> un usuario frente al sistema. Traza: Registro persistente <strong>de</strong>l acceso y <strong>la</strong> acción <strong>de</strong> un usuario. Usuario: Persona que utiliza <strong>la</strong>s funcionalida<strong>de</strong>s <strong>de</strong>l sistema y respon<strong>de</strong> ante un rol<strong>de</strong>terminado.2.3.2 Re<strong>la</strong>ciones entre Elementos <strong>de</strong>l DominioCada elemento <strong>de</strong>l dominio se vincu<strong>la</strong> a <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios o a <strong>la</strong> <strong>gestión</strong> <strong>de</strong>reportes. Tales grupos <strong>de</strong> entida<strong>de</strong>s se re<strong>la</strong>cionan a través <strong>de</strong>l ente ‘Usuario’, encargado <strong>de</strong>iniciar y contro<strong>la</strong>r el funcionamiento <strong>de</strong> los diferentes procesos.En <strong>la</strong> figura 9 se expone <strong>la</strong> re<strong>la</strong>ción <strong>de</strong> <strong>la</strong>s entida<strong>de</strong>s <strong>de</strong>finidas en el epígrafe anterior, don<strong>de</strong> sere<strong>la</strong>cionan componentes <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes, los elementos que interactúan con <strong>la</strong>sp<strong>la</strong>ntil<strong>la</strong>s y otras entida<strong>de</strong>s necesarias <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los roles <strong>de</strong> usuarios.56


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución PropuestaFigura 9. Re<strong>la</strong>ción entre los Principales Objetos <strong>de</strong>l Dominio.2.3.3 Reg<strong>la</strong>s a Consi<strong>de</strong>rarTodo sistema <strong>informático</strong> <strong>de</strong>be cumplir con ciertas reg<strong>la</strong>s re<strong>la</strong>cionadas con el entorno en que sevaya a utilizar, <strong>de</strong> modo que se garantice su correcta a<strong>de</strong>cuación al mismo. Las principalesreg<strong>la</strong>s tenidas en cuenta en el presente trabajo fueron: Las acciones que comprometan <strong>la</strong> estructura <strong>de</strong>l sistema <strong>de</strong>berán ser validadas por elExperto <strong>de</strong>l Negocio y sólo <strong>de</strong>spués podrán ser ejecutadas. Siempre que se <strong>de</strong>see realizar un reporte se <strong>de</strong>be gestionar primeramente <strong>la</strong> fuente <strong>de</strong> losdatos que abastecerá <strong>de</strong> información al mismo. Una fuente <strong>de</strong> datos pue<strong>de</strong> ser utilizada <strong>para</strong> <strong>la</strong> creación <strong>de</strong> múltiples diseños <strong>de</strong> reportes,los cuales también pue<strong>de</strong>n ser utilizados como base <strong>para</strong> <strong>la</strong> creación <strong>de</strong> otros diseños. El proceso <strong>de</strong> creación <strong>de</strong> reportes se regirá exclusivamente por <strong>la</strong> fuente <strong>de</strong> informaciónseleccionada, por lo que los pasos re<strong>la</strong>cionados a <strong>la</strong> selección, or<strong>de</strong>namiento,agrupamiento y filtrado <strong>de</strong> información, así como <strong>la</strong> incorporación <strong>de</strong> operaciones lógicas ymatemáticas, actuaran únicamente sobre datos ofrecidos por <strong>la</strong> fuente. Cada p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> reporte creada, <strong>de</strong>pendiendo <strong>de</strong> su naturaleza, <strong>de</strong>berá asociarse a unaopción <strong>de</strong> menú <strong>de</strong> <strong>la</strong> aplicación don<strong>de</strong> pueda utilizarse <strong>para</strong> <strong>la</strong> obtención <strong>de</strong>l reporte. Un reporte podrá exportarse únicamente al haberse concluido <strong>la</strong> creación <strong>de</strong> su p<strong>la</strong>ntil<strong>la</strong> y<strong>de</strong>spués <strong>de</strong> revisar una vista previa <strong>de</strong> su impresión.57


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta2.4 Solución PropuestaEs importante <strong>de</strong>finir <strong>la</strong> jerarquía <strong>de</strong> roles <strong>de</strong> usuarios que inicialmente presentará el sistema<strong>para</strong> po<strong>de</strong>r <strong>de</strong>limitar, <strong>de</strong> los procesos a mo<strong>de</strong><strong>la</strong>r, los que cada uno realizará. De esta forma seráposible asegurar el punto <strong>de</strong> partida <strong>de</strong> <strong>la</strong> herramienta <strong>para</strong> que los usuarios que tenganpermiso, propongan nuevos roles y <strong>de</strong>finan <strong>la</strong> responsabilidad <strong>de</strong> estos en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>lnegocio don<strong>de</strong> comience a utilizarse <strong>la</strong> aplicación. Para asegurar tales tareas en el presenteepígrafe se realiza <strong>la</strong> mo<strong>de</strong><strong>la</strong>ción <strong>de</strong>l sistema mediante los actores y los casos <strong>de</strong> uso, y <strong>de</strong>expone <strong>la</strong> estructura concebida <strong>para</strong> el mismo.2.4.1 Actores y Casos <strong>de</strong> Uso <strong>de</strong>l <strong>Sistema</strong>Para <strong>la</strong> herramienta propuesta se ha establecido un conjunto <strong>de</strong> actores, algunos <strong>de</strong> los cualescoinci<strong>de</strong> con los <strong>de</strong>l generador <strong>de</strong> reportes <strong>de</strong>l sistema GREHU, mencionados en el epígrafe1.4.1 (Ver Tab<strong>la</strong> 2).El primero <strong>de</strong> ellos es el Consultor <strong>de</strong> Reportes, encargado <strong>de</strong> visualizar los reportes, realizarimpresiones o exportarlos a otros formatos. El Diseñador, por su parte, será el responsable <strong>de</strong>gestionar el repositorio y administrar <strong>la</strong> creación, modificación y eliminación <strong>de</strong> p<strong>la</strong>ntil<strong>la</strong>s, simi<strong>la</strong>ral rol <strong>de</strong>finido anteriormente en el generador <strong>de</strong> reportes <strong>de</strong>l GREHU.El rol <strong>de</strong> Experto <strong>de</strong>l <strong>Sistema</strong>, que consistía en garantizar <strong>la</strong> disponibilidad <strong>de</strong> fuentes <strong>de</strong> datosacor<strong>de</strong> a los reportes que se <strong>de</strong>seasen e<strong>la</strong>borar, en el nuevo sistema será <strong>de</strong>sempeñando porel Informático <strong>de</strong> <strong>la</strong> entidad don<strong>de</strong> se utilice <strong>la</strong> solución. Este cambio surge como generalización<strong>de</strong>l generador <strong>de</strong> reportes a otros entornos <strong>de</strong> acción diferentes a los <strong>de</strong>l sistema GREHU.A<strong>de</strong>más, el rol <strong>de</strong>l Informático <strong>de</strong>berá respon<strong>de</strong>r a los intereses <strong>de</strong>l negocio por medio <strong>de</strong> <strong>la</strong><strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios, <strong>de</strong> acuerdo a <strong>la</strong>s nuevas funcionalida<strong>de</strong>s a incorporar en <strong>la</strong>herramienta.A diferencia <strong>de</strong> <strong>la</strong> jerarquía establecida <strong>para</strong> el generador <strong>de</strong> reportes <strong>de</strong>l GREHU, se <strong>de</strong>finiócomo nuevo rol el Experto <strong>de</strong>l Negocio, que es el encargado <strong>de</strong> orientar <strong>la</strong> obtención <strong>de</strong> fuentes<strong>de</strong> información acor<strong>de</strong> con <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los reportes, validar su diseño y or<strong>de</strong>nar <strong>la</strong>creación <strong>de</strong> reportes ad-hoc. El Experto <strong>de</strong>l Negocio, al igual que el Informático, también<strong>de</strong>sempeñará <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios (Ver Figura 10).Es importante recordar que el módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios <strong>de</strong> <strong>la</strong> herramientapudiera incorporar nuevos roles que interactúen con el sistema <strong>de</strong> manera diferente a losmencionados anteriormente, los que conforman <strong>la</strong> propuesta <strong>de</strong> <strong>la</strong> jerarquía inicial acor<strong>de</strong> a los58


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuestaestudios realizados. Debido a esto es que se vincu<strong>la</strong> el Experto <strong>de</strong>l Negocio al caso <strong>de</strong> uso“Gestionar Roles <strong>de</strong> Usuarios”, procurando mantener con su experiencia, junto al Informático, <strong>la</strong>conservación <strong>de</strong> <strong>la</strong> estructura <strong>de</strong>l sistema.Figura 10. Diagrama <strong>de</strong> Casos <strong>de</strong> Uso <strong>de</strong>l <strong>Sistema</strong>.El caso <strong>de</strong> uso “Gestionar Roles <strong>de</strong> Usuarios”, a<strong>de</strong>más <strong>de</strong> contener los procesos <strong>de</strong> adición,supresión o modificación <strong>de</strong> roles, incorpora activida<strong>de</strong>s <strong>de</strong> asignación <strong>de</strong> roles a usuarios ymantenimiento <strong>de</strong> <strong>la</strong> jerarquía <strong>de</strong> roles sobre <strong>la</strong> que funcione el sistema en <strong>la</strong> entidad. Estaúltima tarea se <strong>de</strong>sarrol<strong>la</strong>rá auxiliándose <strong>de</strong>l estudio <strong>de</strong> <strong>la</strong>s trazas <strong>de</strong> los usuarios.59


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta2.4.2 Estructura <strong>de</strong> <strong>la</strong> HerramientaLas funcionalida<strong>de</strong>s <strong>de</strong> <strong>la</strong> herramienta a <strong>de</strong>sarrol<strong>la</strong>r se re<strong>la</strong>cionan con <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong>usuarios, <strong>de</strong> trazas y <strong>de</strong> reportes, por lo que <strong>la</strong> estructura <strong>de</strong>l sistema ha sido formadafundamentalmente por tres módulos don<strong>de</strong> se incluirán los procesos automatizadosre<strong>la</strong>cionados con tales aspectos (Ver Figura 11).<strong>Sistema</strong> <strong>de</strong> Gestión Dinámica y Personalizada <strong>de</strong> ReportesMódulo <strong>de</strong> Gestión <strong>de</strong> ReportesPresentación <strong>de</strong> Reporte(control <strong>de</strong> <strong>la</strong> distribución, <strong>gestión</strong> <strong>de</strong> impresión y exportación)Gestión <strong>de</strong> Reporte(selección <strong>de</strong> fuente y <strong>de</strong> datos, or<strong>de</strong>namiento, agrupamiento,filtrado, incorporación <strong>de</strong> operaciones)Módulo <strong>de</strong> Gestión <strong>de</strong> Roles(creación y edición <strong>de</strong> roles)Control <strong>de</strong> <strong>la</strong> Jerarquía(re<strong>de</strong>finición y perfeccionamiento <strong>de</strong> <strong>la</strong>jerarquía <strong>de</strong> roles)Asistentes GráficosCreación <strong>de</strong> ReporteOperacionesMatemáticasGestión <strong>de</strong>P<strong>la</strong>ntil<strong>la</strong>OperacionesLógicasMódulo <strong>de</strong> Gestión <strong>de</strong> Trazas(control <strong>de</strong> trazas)Gestión <strong>de</strong> Fuentes <strong>de</strong> Datos(<strong>de</strong>scriptores, tipos <strong>de</strong> datos, diseños <strong>de</strong> fuentes <strong>de</strong> datos)Figura 11. Estructura <strong>de</strong>l <strong>Sistema</strong> Propuesto.2.5 Principales Procesos a AutomatizarLa <strong>de</strong>finición y el estudio <strong>de</strong> los procesos a automatizar es una tarea <strong>de</strong> crítica importancia <strong>para</strong>el correcto funcionamiento <strong>de</strong>l sistema. Es importante que se conozca cada actividad y semo<strong>de</strong>le <strong>de</strong> forma apropiada, <strong>de</strong> modo que se garantice el ajuste <strong>de</strong> <strong>la</strong> herramienta al entorno enel que se preten<strong>de</strong> utilizar. En el presente epígrafe se <strong>de</strong>scriben los procesos más críticos,oficializándolos y justificando <strong>la</strong> selección <strong>de</strong> tecnologías o herramientas informáticas <strong>para</strong> suposterior implementación.60


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta2.5.1 Gestión Trazas y Roles <strong>de</strong> UsuariosEl proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios está constituido fundamentalmente por dossubprocesos o partes: <strong>la</strong> creación, modificación o supresión <strong>de</strong> roles y <strong>la</strong> optimización <strong>de</strong> <strong>la</strong>jerarquía <strong>de</strong> roles <strong>de</strong>l sistema acor<strong>de</strong> al negocio don<strong>de</strong> se utilice <strong>la</strong> herramienta.El propósito fundamental <strong>de</strong> crear o modificar roles <strong>de</strong> usuarios consiste en indicar <strong>la</strong>s opcionesa <strong>la</strong>s que tendrá acceso cada usuario acor<strong>de</strong> a su función en <strong>la</strong> organización, estableciendo <strong>de</strong>esta forma políticas <strong>de</strong> seguridad y niveles <strong>de</strong> acceso a <strong>la</strong>s funcionalida<strong>de</strong>s <strong>de</strong>l sistema.Aunque inicialmente el sistema contará con los roles <strong>de</strong> Informático, Visor <strong>de</strong> Reportes,Especialista <strong>de</strong> Negocio y Diseñador <strong>de</strong> Reportes; estos pue<strong>de</strong>n ser alterados por un usuarioque posea permiso <strong>para</strong> tales operaciones. También será posible añadir nuevos roles oeliminar los que se consi<strong>de</strong>ren ina<strong>de</strong>cuados siempre que se apruebe tal acción.Por otra parte, el módulo <strong>para</strong> el control <strong>de</strong> <strong>la</strong>s trazas, que es el más sencillo <strong>de</strong> <strong>la</strong> aplicación,construirá una herramienta que podrán consultar los usuarios responsables <strong>de</strong> <strong>la</strong> optimización<strong>de</strong> <strong>la</strong> jerarquía <strong>de</strong> roles <strong>de</strong> <strong>la</strong> aplicación. El mismo permitirá conocer el estado <strong>de</strong> <strong>la</strong>s consultasa <strong>la</strong>s opciones <strong>de</strong>l sistema por parte <strong>de</strong> cada usuario. Gracias a esto será posible apreciar siexisten opciones asignadas a un rol <strong>de</strong>terminado y ningún usuario <strong>de</strong> dicho rol <strong>la</strong> estáutilizando, o si <strong>la</strong>s activida<strong>de</strong>s que <strong>de</strong>sarrol<strong>la</strong> un <strong>de</strong>terminado usuario con <strong>la</strong> herramienta hanexperimentado variaciones sugiriendo <strong>la</strong> consi<strong>de</strong>ración <strong>de</strong> un cambio <strong>de</strong> rol.Únicamente los usuarios que posean el rol <strong>de</strong> Expertos serán los responsables <strong>de</strong> validar <strong>la</strong>jerarquía <strong>de</strong> roles con <strong>la</strong> que cuente el sistema, optimizándo<strong>la</strong> por medio <strong>de</strong> <strong>la</strong> creación,modificación o supresión <strong>de</strong> roles antes <strong>de</strong>scrita.Para <strong>la</strong> implementación <strong>de</strong> <strong>la</strong>s políticas <strong>de</strong> seguridad en el módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong>usuarios se ha seleccionado el servicio <strong>de</strong> autenticación y autorización <strong>de</strong> Java (JAAS), don<strong>de</strong><strong>la</strong>s activida<strong>de</strong>s <strong>de</strong> autenticación y autorización pue<strong>de</strong>n implementarse con una c<strong>la</strong>ra diferenciay respondiendo a <strong>la</strong> arquitectura <strong>de</strong> <strong>la</strong> seguridad <strong>de</strong>finida por Java.Utilizando JAAS se contro<strong>la</strong> primero <strong>la</strong> autenticación <strong>de</strong> cada usuario, creando un contextopropio <strong>para</strong> estos, utilizando un fichero <strong>de</strong> configuración <strong>para</strong> el acceso, lo que garantiza unain<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong>s tecnologías <strong>de</strong> autenticación. So<strong>la</strong>mente <strong>de</strong>spués que un usuario se haautenticado se proce<strong>de</strong> a <strong>la</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong> autorización <strong>para</strong> chequear los recursos <strong>de</strong> <strong>la</strong>aplicación a los que el mismo tiene <strong>de</strong>recho a acce<strong>de</strong>r.61


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuesta2.5.2 Gestión <strong>de</strong> Reportes InformáticosLa esencia <strong>de</strong>l sistema que se preten<strong>de</strong> <strong>de</strong>sarrol<strong>la</strong>r consiste en garantizar <strong>la</strong> <strong>gestión</strong> <strong>dinámica</strong> y<strong>personalizada</strong> <strong>de</strong> reportes, por lo que cada actividad <strong>de</strong> este proceso <strong>de</strong>be presentar una altaflexibilidad y dinamismo. Seguidamente se <strong>de</strong>scribe cada subproceso que conforma <strong>la</strong> <strong>gestión</strong><strong>de</strong> reportes según <strong>la</strong> <strong>de</strong>finición realizada <strong>para</strong> <strong>la</strong> implementación <strong>de</strong> <strong>la</strong> solución.2.5.2.1 Definición y Administración <strong>de</strong> Fuentes <strong>de</strong> DatosLas fuentes <strong>de</strong> datos estarán compuestas por grupos re<strong>la</strong>cionados entre sí que contendránfragmentos <strong>de</strong> bases <strong>de</strong> datos o ficheros. El proceso <strong>de</strong> creación <strong>de</strong> una fuente <strong>de</strong> datos seiniciará ante <strong>la</strong> solicitud <strong>de</strong>l Experto <strong>de</strong>l Negocio dada <strong>la</strong> necesidad <strong>de</strong> un nuevo reporte, el cualno pueda crearse ni abastecerse con <strong>la</strong>s fuentes existentes. En <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> los datos que<strong>de</strong>berá poseer el reporte, se diseñará <strong>la</strong> fuente <strong>de</strong> datos en términos genéricos, concluyendo sue<strong>la</strong>boración el Informático responsable <strong>de</strong> <strong>la</strong> atención <strong>de</strong>l sistema.Una fuente <strong>de</strong> datos pue<strong>de</strong> ser creada completamente o utilizando otras fuentes como p<strong>la</strong>ntil<strong>la</strong>s<strong>para</strong> reutilizar su estructura en caso conveniente, ahorrando tiempo y trabajo en <strong>la</strong> creación.Sobre una fuente <strong>de</strong> datos podrán construirse y abastecerse múltiples reportes, yexclusivamente, cuando no existan reportes que utilicen una fuente <strong>de</strong> datos, esta podrá sereliminada. La creación <strong>de</strong> <strong>la</strong> fuente <strong>de</strong> datos concluirá cuando se disponga <strong>de</strong> una conexiónque garantice <strong>la</strong> obtención <strong>de</strong> reportes sobre <strong>la</strong> misma.Para <strong>la</strong> implementación apropiada <strong>de</strong>l proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> fuentes <strong>de</strong> datos se garantiza conel uso <strong>de</strong> JasperReport e iReport. La ventaja <strong>de</strong> consi<strong>de</strong>rar estas herramientas viene dada porel módulo que el<strong>la</strong>s contienen <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> fuentes <strong>de</strong> datos, en el que consi<strong>de</strong>ranmúltiples tecnologías <strong>de</strong> <strong>gestión</strong> <strong>de</strong> persistencia y sistemas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> bases <strong>de</strong> datos.2.5.2.2 Asistentes Gráficos <strong>para</strong> <strong>la</strong> Gestión <strong>de</strong> ReportesPara <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes en <strong>la</strong> herramienta se utilizarán múltiples asistentes gráficos quegaranticen el proceso <strong>de</strong> concepción <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong>, así como <strong>la</strong> inclusión <strong>de</strong> operacioneslógicas, matemática y <strong>la</strong> <strong>gestión</strong> gráfica <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> una vez creada. En <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong>experiencia <strong>de</strong>l usuario y acor<strong>de</strong> al rol que este <strong>de</strong>sempeñe, el sistema expondrá una interfazgráfica que le permita realizar, <strong>de</strong> forma cómoda, tales activida<strong>de</strong>s.El uso <strong>de</strong> asistentes <strong>para</strong> cada operación, facilita <strong>la</strong> edición <strong>de</strong> expresiones lógicas ymatemáticas complejas, así como el trabajo gráfico <strong>de</strong>tal<strong>la</strong>do particu<strong>la</strong>rizando tipos <strong>de</strong> fuentes,colores, y <strong>de</strong>más temas <strong>de</strong> apariencia que garanticen <strong>la</strong> obtención <strong>de</strong> un producto refinado.62


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


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuestaorg.apache.bcel.c<strong>la</strong>ssfile.JavaC<strong>la</strong>ssRepresenta un fichero .c<strong>la</strong>ss <strong>de</strong> Javaorg.apache.bcel.c<strong>la</strong>ssfile.ConstantPoolAlmacena <strong>la</strong> <strong>de</strong>finición <strong>de</strong>l fichero originalorg.apache.bcel.generic. ConstantPoolGenCrea una <strong>de</strong>finición <strong>de</strong> un fichero .c<strong>la</strong>ssFigura 12. Fragmento <strong>de</strong>l cuerpo <strong>de</strong>l Método addField.Figura 13. Fragmento <strong>de</strong>l cuerpo <strong>de</strong>l Método addMethod.64


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución PropuestaPor otra parte, <strong>la</strong> extensibilidad <strong>de</strong> los reportes se garantiza con <strong>la</strong> selección <strong>de</strong>l formato <strong>de</strong>fichero JRXML <strong>para</strong> <strong>la</strong> estructura <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s. Estos ficheros tendrán esquemas asignadosque permiten estandarizar los elementos que los componen (Ver Figura 14). Como documentosXML, también podrán ser representados gráficamente en diferentes formatos, aspecto que se<strong>de</strong>sarrol<strong>la</strong> con gran facilidad utilizando <strong>la</strong> c<strong>la</strong>se JasperExportManager <strong>de</strong> <strong>la</strong> bibliotecaJasperReport (Ver Figura 15).Figura 14. Segmento <strong>de</strong> Definición <strong>de</strong> un fichero JRXML.Figura 15. Métodos <strong>de</strong> <strong>la</strong> c<strong>la</strong>se JasperExportManager <strong>de</strong> JasperReport.65


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución PropuestaPara el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> los reportes, a<strong>de</strong>más <strong>de</strong> tomar <strong>la</strong>s ventajas <strong>de</strong> los ficherosJRXML se ha estudiado su representación utilizando SMDL y RDL. Aunque estasespecificaciones presentan muchos aspectos en común con el formato JRXML, SMDLestablece un mayor énfasis en <strong>la</strong> diferenciación <strong>de</strong> los elementos semánticos <strong>de</strong>l reporte y loselementos físicos <strong>de</strong>l mismo. Tal consi<strong>de</strong>ración ha permitido gestionar <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> losreportes <strong>de</strong> manera abstracta, orientando primeramente <strong>la</strong> esencia semántica y posteriormente,su estructura física. Dicha consi<strong>de</strong>ración ha ofrecido mayor flexibilidad a los procesos <strong>de</strong><strong>gestión</strong> <strong>de</strong> reportes <strong>de</strong> <strong>la</strong> herramienta.2.6 Otras Alternativas <strong>para</strong> <strong>la</strong> Gestión <strong>de</strong> los ReportesEl proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes también podrá realizarse <strong>de</strong> manera simi<strong>la</strong>r a <strong>la</strong> forma en quelo hace <strong>la</strong> herramienta iReport en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l rol que <strong>de</strong>sempeñe el usuario que utilice elsistema. En <strong>la</strong> aplicación existirán puntos <strong>de</strong> accesos a tal herramienta y a<strong>de</strong>más se ofreceránpaquetes que puedan ser utilizados, que estén acor<strong>de</strong> al negocio don<strong>de</strong> se trabaje con <strong>la</strong>solución. Tales paquetes contendrán propuestas <strong>de</strong> roles <strong>de</strong> usuarios a utilizar en un comienzo,a<strong>de</strong>más <strong>de</strong> <strong>la</strong>s <strong>de</strong>scritas anteriormente, así como esquemas <strong>para</strong> fuentes <strong>de</strong> datos y p<strong>la</strong>ntil<strong>la</strong>s<strong>de</strong> reportes.El sistema también permitirá <strong>la</strong> edición <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> los reportes como documentos XMLmediante un editor <strong>de</strong> código, funcionalidad con <strong>la</strong> que los usuarios conocedores podránrealizar un trabajo flexible <strong>de</strong> acuerdo con <strong>la</strong>s restricciones que impongan los esquemasasociados.2.7 ConclusionesEn este capítulo fueron <strong>de</strong>scritos aspectos re<strong>la</strong>cionados con <strong>la</strong> concepción <strong>de</strong> una herramienta<strong>de</strong>stinada a gestionar <strong>de</strong> manera <strong>dinámica</strong> y <strong>personalizada</strong> reportes <strong>informático</strong>s, y administrar<strong>la</strong> estructura jerárquica <strong>de</strong> roles <strong>de</strong> usuarios re<strong>la</strong>cionados con reportes en una entida<strong>de</strong>mpresarial. En él también, por medio <strong>de</strong>l análisis y el diseño, sin llegar a comprometer elcontenido expuesto con <strong>de</strong>talles <strong>de</strong> implementación, fue <strong>de</strong>finida <strong>la</strong> estructura general <strong>de</strong> <strong>la</strong>aplicación.A<strong>de</strong>más, se realizó <strong>la</strong> captura e introducción <strong>de</strong> requerimientos, los cuales se consi<strong>de</strong>ranesenciales <strong>para</strong> el funcionamiento <strong>de</strong> <strong>la</strong> herramienta. La solución fue <strong>de</strong>finida formalmentepartiendo <strong>de</strong> <strong>la</strong> representación <strong>de</strong> su dominio y <strong>la</strong>s reg<strong>la</strong>s que esta <strong>de</strong>berá cumplir. Se66


CAPÍTULO II. Descripción <strong>de</strong> <strong>la</strong> Solución Propuestaoficializaron i<strong>de</strong>as sobre los procesos y mecanismos fundamentales, así como el dinamismo y<strong>la</strong> flexibilidad <strong>de</strong> <strong>la</strong> aplicación, y <strong>la</strong> manera <strong>de</strong> garantizar <strong>la</strong> persistencia <strong>de</strong> su estructuramediante el control <strong>de</strong> <strong>la</strong>s acciones <strong>de</strong> los usuarios.67


CAPÍTULO IIICAPÍTULO III. DETALLES DE IMPLEMENTACIÓN, PRUEBA YEVALUACIÓN DE RESULTADOS


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> Resultados3.1 IntroducciónEn el presente capítulo se presenta <strong>la</strong> arquitectura <strong>de</strong>l sistema y se <strong>de</strong>scriben <strong>de</strong>talles <strong>de</strong> <strong>la</strong>implementación <strong>de</strong> cada uno <strong>de</strong> los módulos, mecanismos y procesos <strong>de</strong>finidos. A<strong>de</strong>más, semuestra el diseño <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos como aspecto principal <strong>para</strong> el control <strong>de</strong> <strong>la</strong> persistencia<strong>de</strong> <strong>la</strong> información, y se <strong>de</strong>tal<strong>la</strong>n consi<strong>de</strong>raciones re<strong>la</strong>cionadas a <strong>la</strong> interfaz gráfica <strong>de</strong> usuario yotros requisitos no funcionales.Posterior a los aspectos <strong>de</strong> implementación, se <strong>de</strong>scribe el tratamiento <strong>de</strong> <strong>la</strong>s pruebasrealizadas a <strong>la</strong> herramienta y <strong>la</strong> evaluación <strong>de</strong> su impacto. Para ello, primeramente se exponenlos p<strong>la</strong>nes <strong>de</strong> prueba <strong>de</strong>finidos y los criterios a tener en cuenta en <strong>la</strong> ejecución <strong>de</strong> estos.Seguidamente se analizan los resultados obtenidos y se hace una valoración crítica <strong>de</strong> losmismos, concluyendo con <strong>de</strong>talles re<strong>la</strong>cionados al impacto <strong>de</strong>l sistema en su área <strong>de</strong> acción.3.2 Aspectos <strong>de</strong> ImplementaciónEn el presente epígrafe se abordan temas re<strong>la</strong>cionados con <strong>la</strong> implementación <strong>de</strong> sistemapropuesto. Partiendo <strong>de</strong> <strong>la</strong> arquitectura <strong>de</strong>finida, se tratan aspectos vincu<strong>la</strong>dos a <strong>la</strong> realización<strong>de</strong> los diferentes módulos <strong>de</strong> <strong>la</strong> herramienta, <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los datos y los principales criteriostenidos en cuenta <strong>para</strong> el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> interfaz gráfica <strong>de</strong> usuario. En él también se incluyenalgunas consi<strong>de</strong>raciones <strong>para</strong> los requisitos no funcionales que garanticen el óptimofuncionamiento <strong>de</strong> <strong>la</strong> solución.3.2.1 Arquitectura <strong>de</strong>l <strong>Sistema</strong>La arquitectura <strong>de</strong>l sistema a <strong>de</strong>sarrol<strong>la</strong>r se compondrá esencialmente por los tres módulos: elmódulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios, el módulo <strong>de</strong> control <strong>de</strong> <strong>la</strong>s trazas y el módulo <strong>de</strong><strong>gestión</strong> <strong>de</strong> los reportes. La misma se <strong>de</strong>fine basada en <strong>la</strong> concepción <strong>de</strong> capas don<strong>de</strong> seascien<strong>de</strong> <strong>de</strong> <strong>la</strong> capa inferior, responsable <strong>de</strong>l almacenamiento <strong>de</strong> <strong>la</strong>s fuentes <strong>de</strong> datos, a <strong>la</strong>capa superior, re<strong>la</strong>cionada con <strong>la</strong> presentación, don<strong>de</strong> se localizan los componentes <strong>de</strong> <strong>la</strong>interfaz gráfica <strong>de</strong> usuario agrupados según sus funcionalida<strong>de</strong>s.A<strong>de</strong>más se cuenta con <strong>la</strong> capa <strong>de</strong> acceso a datos don<strong>de</strong> se realiza <strong>la</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong>s fuentes <strong>de</strong>datos <strong>para</strong> los reportes, y <strong>la</strong> capa <strong>de</strong> lógica <strong>de</strong> negocio, previa a <strong>la</strong> <strong>de</strong> presentación, don<strong>de</strong> seencuentras los módulos antes mencionados acompañados por paquetes que incluyenherramientas externas al sistema (Ver Figura 16).69


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosEn <strong>la</strong> capa <strong>de</strong> lógica <strong>de</strong> negocio aparece, a<strong>de</strong>más <strong>de</strong> los módulos principales, paquetes queagrupan algunas herramientas que garantizan el tratamiento eficiente <strong>de</strong> los procesos aautomatizar. El paquete JAAS incluye el servicio <strong>de</strong> autenticación y autorización <strong>de</strong> Javareferido en los capítulos anteriores, y el paquete JAXP incluye el API <strong>de</strong> Java <strong>para</strong> elprocesamiento <strong>de</strong> documentos XML, <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes <strong>de</strong>ficho formato.Figura 16. Arquitectura <strong>de</strong> Capas <strong>de</strong>l <strong>Sistema</strong> <strong>de</strong> Gestión <strong>de</strong> Reportes.Otros paquetes <strong>de</strong> <strong>la</strong> capa <strong>de</strong> Lógica <strong>de</strong> Negocio son: el paquete P<strong>la</strong>ntil<strong>la</strong>, encargado <strong>de</strong><strong>la</strong>lmacenamiento físico <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> los reportes que se realicen y sobre <strong>la</strong> cual actuará70


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> Resultadosdirectamente el repositorio; y el paquete iReport, que contendrá módulos <strong>de</strong> tal herramienta, loscuales brindarán algunas <strong>de</strong> sus funcionalida<strong>de</strong>s.3.2.1.1 Módulo <strong>de</strong> Gestión <strong>de</strong> ReportesEl módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes constituye <strong>la</strong> esencia <strong>de</strong>l sistema en <strong>de</strong>sarrollo. La i<strong>de</strong>aprincipal seguida en su implementación fue utilizar una c<strong>la</strong>se que representa <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> losreportes en <strong>de</strong>sarrollo y por medio <strong>de</strong> <strong>la</strong> cual se realiza <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los ficheros jrxml. Unac<strong>la</strong>se simi<strong>la</strong>r se utiliza en el momento <strong>de</strong> obtener los datos <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong>s<strong>de</strong> el repositorio<strong>para</strong> <strong>la</strong> impresión <strong>de</strong> un reporte. Tales c<strong>la</strong>ses se re<strong>la</strong>cionan directamente con <strong>la</strong> responsable<strong>de</strong>l control <strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los reportes en el modulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes <strong>de</strong>l sistema.En <strong>la</strong> figura 17 se muestran <strong>la</strong>s c<strong>la</strong>ses, atributos y métodos más relevantes según <strong>la</strong>sfuncionalida<strong>de</strong>s <strong>de</strong>l modulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes. En el<strong>la</strong> se pue<strong>de</strong> observar <strong>la</strong> c<strong>la</strong>se querepresenta <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> un reporte, asociada a múltiples c<strong>la</strong>ses que indican el conjunto <strong>de</strong>restricciones o criterios a aplicar en el diseño <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> y <strong>la</strong> confección <strong>de</strong> su fuente <strong>de</strong>datos.Figura 17. Re<strong>la</strong>ción entre <strong>la</strong>s Principales C<strong>la</strong>ses <strong>de</strong>l Módulo <strong>de</strong> Gestión <strong>de</strong> Reportes.71


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosOtra re<strong>la</strong>ción que surge con <strong>la</strong> c<strong>la</strong>se que contro<strong>la</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los reportes es <strong>la</strong> establecidacon <strong>la</strong> encargada <strong>de</strong> <strong>la</strong> administración <strong>de</strong> <strong>la</strong>s operaciones <strong>de</strong> exportación, <strong>la</strong> cual manejaprocesos que permiten utilizar diferentes formatos <strong>de</strong> ficheros <strong>para</strong> exportar los reportes (VerFigura 17).3.2.1.2 Módulo <strong>de</strong> Gestión <strong>de</strong> Roles <strong>de</strong> UsuarioEl módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios constituye un módulo <strong>de</strong> respaldo a <strong>la</strong> <strong>gestión</strong> <strong>de</strong>reportes, <strong>de</strong>sarrol<strong>la</strong>do <strong>para</strong> incorporar mayor flexibilidad y ajuste organizacional al primero,in<strong>de</strong>pendientemente <strong>de</strong>l entorno don<strong>de</strong> se utilice el mismo.La i<strong>de</strong>a principal <strong>para</strong> su implementación fue el seguimiento <strong>de</strong>l proceso <strong>de</strong> control <strong>de</strong> opcionessobre roles <strong>de</strong> usuarios por medio <strong>de</strong> una matriz don<strong>de</strong> <strong>la</strong>s columnas son <strong>la</strong>s opciones y <strong>la</strong>sfi<strong>la</strong>s los roles registrados. Cada intercepción fi<strong>la</strong>-columna contiene un valor que <strong>de</strong>scribe <strong>la</strong>forma en que está asociado un rol a una opción <strong>de</strong>l sistema. De esta forma es posiblediferenciar el <strong>de</strong>spliegue <strong>de</strong> cada funcionalidad por medio <strong>de</strong> <strong>la</strong> interfaz gráfica <strong>de</strong> usuario en<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l rol al que pertenezca este.3.2.1.3 Otras Funcionalida<strong>de</strong>s IncorporadasEn <strong>la</strong> capa <strong>de</strong> lógica <strong>de</strong> negocio, <strong>para</strong> el tratamiento <strong>de</strong> los procesos automatizados, seincluyeron paquetes que inci<strong>de</strong>n directamente en el <strong>de</strong>sarrollo eficiente <strong>de</strong> <strong>la</strong>s funcionalida<strong>de</strong>s<strong>de</strong> <strong>la</strong> herramienta. El paquete JAAS contiene el servicio <strong>de</strong> autenticación y autorización <strong>de</strong> javaque permite el control estricto <strong>de</strong> <strong>la</strong>s opciones <strong>de</strong> <strong>la</strong> herramienta y el establecimiento <strong>de</strong>políticas se seguridad <strong>para</strong> los usuarios. También el paquete JAXP garantiza que se gestioneeficientemente <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s enfocadas bajo <strong>la</strong> concepción <strong>de</strong> documentos XML.El paquete iReport, por su parte, contiene el proyecto iReport <strong>de</strong> Jasper Corporation, medianteel cual se ofrecen algunas <strong>de</strong> sus funcionalida<strong>de</strong>s, como son: <strong>la</strong> <strong>gestión</strong> <strong>de</strong> fuentes <strong>de</strong> datos apartir <strong>de</strong> una amplia variedad <strong>de</strong> tecnologías, y <strong>la</strong> administración <strong>de</strong> <strong>la</strong> impresión y exportación<strong>de</strong> los reportes a múltiples formatos reconocidos.Muchas <strong>de</strong> <strong>la</strong>s funciones <strong>de</strong>l sistema ofrecen sus resultados <strong>para</strong> ser reutilizados <strong>para</strong> <strong>la</strong><strong>de</strong>finición <strong>de</strong> elementos simi<strong>la</strong>res por medio <strong>de</strong> esquemas ya creados, en búsqueda <strong>de</strong> <strong>la</strong>disminución <strong>de</strong>l tiempo <strong>de</strong> concepción <strong>de</strong> elementos como <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes, <strong>la</strong>s fuentes<strong>de</strong> datos y los roles <strong>de</strong> usuarios. De esta forma <strong>la</strong> herramienta garantiza <strong>la</strong> disponibilidad <strong>de</strong>cada esquema creado con anterioridad, en caso que el usuario <strong>de</strong>see utilizarlo como punto <strong>de</strong>partida <strong>de</strong> un proceso <strong>de</strong> creación. Gracias a esto, una p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> reporte, por ejemplo, pue<strong>de</strong>constituir <strong>la</strong> base <strong>para</strong> <strong>la</strong> creación <strong>de</strong> un nuevo reporte con estructura simi<strong>la</strong>r.72


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> Resultados3.2.2 Gestión <strong>de</strong> <strong>la</strong> Persistencia <strong>de</strong> <strong>la</strong> InformaciónEl esquema <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos creada <strong>para</strong> el almacenamiento y <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los datos conlos que trabajará <strong>la</strong> herramienta respon<strong>de</strong> a <strong>la</strong> información administrada por los módulosprincipales <strong>de</strong> <strong>la</strong> aplicación (Ver Figura 18). La mayor cantidad <strong>de</strong> tab<strong>la</strong>s <strong>de</strong> <strong>la</strong> base <strong>de</strong> datos secorrespon<strong>de</strong> al módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios, con el fin <strong>de</strong> mantener un registro<strong>de</strong>tal<strong>la</strong>do <strong>de</strong> cada acción <strong>de</strong> los usuarios, garantizando <strong>la</strong> persistencia <strong>de</strong> <strong>la</strong> información quepermita ser utilizada en un futuro <strong>para</strong> un estudio posterior o <strong>la</strong> toma <strong>de</strong> <strong>de</strong>cisiones c<strong>la</strong>ves <strong>para</strong><strong>la</strong> continuidad <strong>de</strong>l trabajo.Figura 18. Estructura <strong>de</strong> <strong>la</strong> Base <strong>de</strong> Datos <strong>de</strong> <strong>la</strong> Aplicación.El registro <strong>de</strong> <strong>la</strong>s acciones <strong>de</strong> los usuarios, a<strong>de</strong>más <strong>de</strong> utilizarse <strong>para</strong> validar <strong>la</strong> optimización <strong>de</strong><strong>la</strong> jerarquía <strong>de</strong> roles, pue<strong>de</strong> formar, consolidar y respaldar <strong>la</strong>s <strong>de</strong>cisiones <strong>de</strong> los expertos quetrabajen con el sistema.Por otra parte, el módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes se en<strong>la</strong>za con el módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong>usuarios por medio <strong>de</strong> <strong>la</strong> entidad que almacena los datos <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s creadas. Lasp<strong>la</strong>ntil<strong>la</strong>s, al <strong>de</strong>sarrol<strong>la</strong>rse y publicarse <strong>para</strong> su utilización, serán asociadas a una dirección queindicará el lugar don<strong>de</strong> obtener los reportes en <strong>la</strong> herramienta por medio <strong>de</strong> su diseño.73


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosLa re<strong>la</strong>ción establecida entre <strong>la</strong> misma entidad “p<strong>la</strong>ntil<strong>la</strong>” indica <strong>la</strong> posibilidad <strong>de</strong> utilizar elesquema <strong>de</strong> una p<strong>la</strong>ntil<strong>la</strong> como punto <strong>de</strong> partida <strong>para</strong> el diseño <strong>de</strong> otras, ahorrando tiempo en<strong>la</strong> creación <strong>de</strong> reportes que expongan información simi<strong>la</strong>r o <strong>de</strong> forma semejante. El camporeusa, consiste en <strong>la</strong> l<strong>la</strong>ve <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> utilizada como esquema <strong>de</strong> reuso <strong>de</strong> ser el caso.3.2.3 Consi<strong>de</strong>raciones <strong>para</strong> <strong>la</strong> Interfaz Gráfica <strong>de</strong> UsuarioLa interfaz <strong>de</strong>l sistema ha sido diseñada garantizando que responda al usuario en <strong>de</strong>pen<strong>de</strong>ncia<strong>de</strong> sus roles. Teniendo en cuenta que <strong>la</strong> responsabilidad <strong>de</strong> cada usuario <strong>de</strong>be correspon<strong>de</strong>rsecon <strong>la</strong>s tareas a cumplir por este en el negocio, su experiencia y principales habilida<strong>de</strong>s, notoda persona <strong>de</strong>be tener acceso a <strong>la</strong>s mismas funcionalida<strong>de</strong>s, y <strong>la</strong>s que si lo tengan, nonecesariamente <strong>de</strong>berá ser <strong>de</strong> <strong>la</strong> misma forma. Este asunto no sólo se limita al hecho <strong>de</strong>habilitar u ocultar opciones, cada ventana <strong>de</strong>be ser capaz <strong>de</strong> ajustarse hasta el más mínimo<strong>de</strong>talle.Reutilizando muchas <strong>de</strong> <strong>la</strong>s pantal<strong>la</strong>s <strong>de</strong> iReport, se ha logrado obtener <strong>la</strong> mayor parte <strong>de</strong> loscomponentes <strong>de</strong> <strong>la</strong> capa <strong>de</strong> presentación <strong>de</strong>l sistema. iReport, como proyecto <strong>de</strong> códigoabierto, ofrece <strong>la</strong>s fuentes <strong>de</strong> implementación <strong>de</strong> sus procesos y su interfaz gráfica <strong>de</strong> usuario,únicamente se requiere realizársele a<strong>de</strong>cuaciones <strong>para</strong> que se ajuste a <strong>la</strong>s <strong>de</strong>mandas <strong>de</strong>lsistema <strong>de</strong>sarrol<strong>la</strong>do en el presente trabajo, evitando copiar idénticamente <strong>la</strong>s pantal<strong>la</strong>s.iReport no ha sido implementado <strong>para</strong> ser utilizado por usuarios <strong>de</strong> diferentes roles,únicamente viene dirigido a especialistas que diseñen reportes. Es por ello que el uso <strong>de</strong> suspantal<strong>la</strong>s <strong>de</strong>be realizarse <strong>de</strong>sglosando <strong>la</strong> forma <strong>de</strong> acce<strong>de</strong>r a <strong>la</strong>s funcionalida<strong>de</strong>s en<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong> c<strong>la</strong>se <strong>de</strong> usuario que acceda al sistema. Un ejemplo c<strong>la</strong>ro lo constituye <strong>la</strong>pantal<strong>la</strong> <strong>para</strong> crear fuentes <strong>de</strong> datos a partir <strong>de</strong> consultas sobre bases <strong>de</strong> datos utilizando e<strong>la</strong>cceso por medio <strong>de</strong>l API JDBC (Ver Figura 19).La i<strong>de</strong>a seguida <strong>para</strong> el <strong>de</strong>sglose <strong>de</strong> <strong>la</strong>s opciones re<strong>la</strong>cionadas a <strong>la</strong> creación <strong>de</strong> fuentes <strong>de</strong>datos se basa en permitir que los usuarios con conocimiento mínimo que requirieran crearfuentes <strong>de</strong> datos, utilicen el asistente. So<strong>la</strong>mente los usuarios con mayor dominio <strong>de</strong> <strong>la</strong>computación y <strong>la</strong> programación, tendrán acceso al editor <strong>de</strong> consultas. La i<strong>de</strong>a en esenciaconsiste en ais<strong>la</strong>r el contenido <strong>de</strong> <strong>la</strong>s dos pestañas <strong>de</strong> <strong>la</strong> pantal<strong>la</strong> original (Ver Figura 19) comoopciones diferentes, <strong>la</strong>s cuales se mostrarán en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l rol con que acceda el usuarioa <strong>la</strong> herramienta.74


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosEditor <strong>de</strong> ConsultasAsistente GráficoFigura 19. Pantal<strong>la</strong> <strong>de</strong> Edición <strong>de</strong> Fuentes <strong>de</strong> Datos <strong>de</strong> iReport 3.0.0.Otra pantal<strong>la</strong> ofrecida a usuarios re<strong>la</strong>cionados con el trabajo gráfico <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> es <strong>la</strong>mostrada en <strong>la</strong> Figura 20. Por medio <strong>de</strong> el<strong>la</strong> se garantiza que usuarios que posean habilida<strong>de</strong>s<strong>para</strong> el trabajo gráfico en <strong>la</strong> computadora, puedan obtener diseños altamente personalizados,redistribuyendo por <strong>la</strong>s diferentes bandas los componentes propuestos por los asistentes <strong>de</strong>respaldo al proceso <strong>de</strong> creación <strong>de</strong> los reportes. A<strong>de</strong>más, con esta ventana es posibleincorporar figuras, gráficos, y asignar colores y tipos <strong>de</strong> fuentes <strong>de</strong> texto.75


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosFigura 20. Vista <strong>de</strong> Edición <strong>de</strong> <strong>la</strong> P<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> un Reporte.Otra pantal<strong>la</strong> a <strong>la</strong> que tendrán acceso usuarios con profundo dominio <strong>de</strong> computación yprogramación, es <strong>la</strong> que expone <strong>la</strong> vista <strong>de</strong> <strong>la</strong> p<strong>la</strong>ntil<strong>la</strong> <strong>de</strong>l reporte como un documento XML,permitiendo su <strong>gestión</strong> por medio <strong>de</strong> codificación (Ver Figura 21). Las validaciones <strong>de</strong> <strong>la</strong>soperaciones realizadas con esta pantal<strong>la</strong> serán respaldadas por los esquemas y losdocumentos <strong>de</strong> <strong>de</strong>finición que actuarán sobre <strong>la</strong> estructura <strong>de</strong>l documento.Figura 21. Pantal<strong>la</strong> <strong>de</strong> Gestión <strong>de</strong> P<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> Reportes como Documentos XML.76


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosLos rasgos referidos, re<strong>la</strong>cionados a <strong>la</strong> capacidad <strong>de</strong> ajuste y respuesta <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong>usuario, a<strong>de</strong>más <strong>de</strong> <strong>la</strong> c<strong>la</strong>ra elocuencia <strong>de</strong> los nombres <strong>de</strong> <strong>la</strong>s opciones, y <strong>la</strong> sencillez que secorresponda con el conocimiento <strong>de</strong>l usuario y garantice el flujo pasivo y estricto <strong>de</strong> losprocesos <strong>de</strong> <strong>gestión</strong>, han sido <strong>la</strong>s principales consi<strong>de</strong>raciones <strong>de</strong>l diseño <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong> <strong>la</strong>herramienta.3.2.4 Requerimientos no Funcionales <strong>de</strong> <strong>la</strong> SoluciónEs importante que el sistema se adapte a cualquier estructura <strong>de</strong> negocio y se ajuste a <strong>la</strong>sdiferentes necesida<strong>de</strong>s <strong>de</strong> los usuarios a fin <strong>de</strong> recolectar <strong>la</strong> mayor cantidad <strong>de</strong> jerarquías <strong>de</strong>usuarios que intervienen en los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes <strong>de</strong> cada entidad empresarialen que se instale. Los requerimientos no funcionales más críticos <strong>para</strong> el funcionamiento <strong>de</strong> <strong>la</strong>aplicación, como se ha indicado anteriormente, han sido: <strong>la</strong> usabilidad, <strong>la</strong> extensibilidad y <strong>la</strong>flexibilidad. El tratamiento apropiado <strong>de</strong> los mismos permitió incorporarle a <strong>la</strong> herramienta losrasgos necesarios <strong>para</strong> garantizar su ajuste organizacional, obtener <strong>la</strong> satisfacción <strong>de</strong> losusuarios y <strong>la</strong> motivación <strong>de</strong> i<strong>de</strong>as <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes. Seguidamente se expone <strong>la</strong> base<strong>de</strong>l manejo realizado a cada uno <strong>de</strong> los requerimientos.La usabilidad se basa fundamentalmente en el diseño <strong>de</strong> una interfaz intuitiva que se ajuste alrol <strong>de</strong>l usuario que utilice el sistema, facilitándole <strong>la</strong> realización <strong>de</strong> su trabajo. Algunas pantal<strong>la</strong>sexigen <strong>de</strong>l conocimiento <strong>de</strong> computación como lenguajes <strong>de</strong> consultas sobre bases <strong>de</strong> datos,empleando recuperaciones como fuentes <strong>para</strong> <strong>la</strong> creación <strong>de</strong> los reportes, otras sencil<strong>la</strong>menteguían a un usuario mediante asistentes simples y amigables sin necesidad <strong>de</strong>l dominio <strong>de</strong>conocimientos <strong>de</strong> programación. En general, <strong>la</strong> interfaz empleada intenta ofrecer el acceso a <strong>la</strong>mayor cantidad <strong>de</strong> funcionalida<strong>de</strong>s <strong>de</strong> manera simple, <strong>de</strong>pendiendo <strong>de</strong>l rol <strong>de</strong>l usuario.La implementación <strong>de</strong> <strong>la</strong> extensibilidad se realizó ampliando el número <strong>de</strong> opciones <strong>de</strong>formatos <strong>de</strong> ficheros <strong>para</strong> exportar los reportes. Para esto se utilizó <strong>la</strong> tecnología XML quepermite e<strong>la</strong>borar reportes reconocidos por múltiples p<strong>la</strong>taformas y herramientas [55] . Un mismodocumento XML pue<strong>de</strong> mostrarse con diferentes formatos (HTML, PDF, RTC, etc.) [81][97] , lo quegarantiza un alto nivel <strong>de</strong> uso <strong>de</strong> los reportes mas allá <strong>de</strong> <strong>la</strong> aplicación que los crea. El uso <strong>de</strong>lformato JRXML como extensión <strong>de</strong> los documentos XML [33][91] permitió <strong>la</strong> incorporación <strong>de</strong> <strong>la</strong>sfuncionalida<strong>de</strong>s <strong>de</strong> <strong>la</strong> biblioteca JasperReport, <strong>la</strong> cual presenta módulos <strong>para</strong> exportar reportesa diferentes formatos [33] . También el proyecto <strong>de</strong> código abierto, iReport, realizado sobre talbiblioteca, fue utilizado <strong>para</strong> <strong>la</strong> representación gráfica <strong>de</strong> <strong>la</strong>s opciones vincu<strong>la</strong>das a <strong>la</strong>extensibilidad.77


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosLa flexibilidad, en cambio, se implementó por medio <strong>de</strong>l registro dinámico <strong>de</strong> <strong>la</strong>s opciones <strong>de</strong>menú, garantizando el almacenamiento <strong>de</strong> <strong>la</strong> estructura <strong>de</strong>l mismo <strong>para</strong> insertar nuevasopciones en tiempo <strong>de</strong> ejecución en <strong>la</strong>s que se encuentren los puntos <strong>de</strong> acceso a los nuevosreportes creados con <strong>la</strong> aplicación. A pesar <strong>de</strong> po<strong>de</strong>r sufrir cambios con frecuencia, <strong>la</strong>estructura <strong>de</strong>l menú se irá actualizando, permitiendo mantener su cuerpo real <strong>para</strong> <strong>la</strong> <strong>gestión</strong><strong>de</strong> sus opciones. Existirán opciones que no podrán ser modificadas, <strong>de</strong>bido a que son <strong>la</strong>s quepermiten <strong>la</strong> esencia <strong>de</strong>l funcionamiento <strong>de</strong> los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> <strong>la</strong> solución. Esta parte<strong>de</strong>l menú es consi<strong>de</strong>rara como el “cuerpo fijo <strong>de</strong> su estructura”. La capacidad <strong>de</strong> <strong>la</strong> herramienta<strong>de</strong> alterar su estructura y los reportes que contenga, según <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios,permite que esta evolucione <strong>de</strong> manera diferente a sus otras insta<strong>la</strong>ciones en negociosdistintos.El módulo <strong>de</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios tributará directamente al funcionamiento eficiente <strong>de</strong>los requerimientos antes mencionados. La diferenciación <strong>de</strong> los privilegios <strong>de</strong> los usuarios <strong>para</strong>exponer <strong>la</strong>s pantal<strong>la</strong>s y <strong>la</strong>s opciones <strong>de</strong> menú a <strong>la</strong>s que tenga acceso es esencial <strong>para</strong> <strong>la</strong>implementación realizada <strong>de</strong> <strong>la</strong> usabilidad y <strong>la</strong> flexibilidad. El módulo <strong>de</strong> trazas, por otra parte,constituye una herramienta que ofrece evi<strong>de</strong>ncias <strong>para</strong> <strong>la</strong>s tareas <strong>de</strong> alteración y optimización<strong>de</strong> <strong>la</strong> jerarquía <strong>de</strong> usuarios <strong>de</strong> <strong>la</strong> herramienta. Gracias a este es posible observar qué usuariostienen opciones asignadas que realmente no utilizan, así como <strong>la</strong> evolución <strong>de</strong> sus activida<strong>de</strong>sen función <strong>de</strong> los cambios en <strong>la</strong>s tareas que realizan con el sistema en el tiempo.Otros requerimientos importantes lo constituyen <strong>la</strong> portabilidad y <strong>la</strong> adaptabilidad <strong>de</strong> <strong>la</strong>aplicación. Es conveniente garantizar <strong>la</strong> compatibilidad <strong>de</strong> <strong>la</strong> herramienta con <strong>la</strong> mayor variedad<strong>de</strong> sistemas operativos posible, aumentando su probabilidad <strong>de</strong> uso en escenarios diversos. Laportabilidad se incorporó al implementar <strong>la</strong> solución en el lenguaje <strong>de</strong> programación Java,don<strong>de</strong> <strong>la</strong> misma constituye uno <strong>de</strong> sus rasgos principales [20] . La adaptabilidad, en cambio, sepersiguió por medio <strong>de</strong>l minucioso tratamiento <strong>de</strong> <strong>la</strong> flexibilidad. Con esta se preten<strong>de</strong>garantizar el ajuste <strong>de</strong>l sistema a <strong>la</strong>s diferentes estructuras organizacionales. Solo un sólidoacop<strong>la</strong>miento <strong>de</strong> <strong>la</strong> solución ha <strong>de</strong> garantizar el éxito <strong>para</strong> el trabajo <strong>de</strong> captura y estudio <strong>de</strong>roles <strong>de</strong> usuarios re<strong>la</strong>cionados a los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes.3.3 Prueba <strong>de</strong> <strong>la</strong> SoluciónEl sistema <strong>de</strong>sarrol<strong>la</strong>do fue imp<strong>la</strong>ntado a modo <strong>de</strong> prueba en los <strong>de</strong>partamentos <strong>de</strong> economía yrecursos humanos <strong>de</strong> empresas <strong>de</strong> sectores <strong>de</strong>l turismo, el polo científico y <strong>de</strong>l petróleo.Fundamentalmente, el mayor número <strong>de</strong> insta<strong>la</strong>ciones se efectuó en unida<strong>de</strong>s hoteleras <strong>de</strong> <strong>la</strong>78


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> Resultadosca<strong>de</strong>na Is<strong>la</strong>zul <strong>de</strong>l occi<strong>de</strong>nte <strong>de</strong> Cuba. Las pruebas realizadas fueron, en su mayoría, unitarias,<strong>de</strong> aceptación y regresión, durante el <strong>de</strong>sarrollo <strong>de</strong>l producto, enfocadas a funcionalida<strong>de</strong>sespecíficas. Finalmente, posterior a <strong>la</strong> integración <strong>de</strong> los módulos <strong>de</strong> <strong>la</strong> herramienta y <strong>para</strong>concluir con <strong>la</strong> primera fase <strong>de</strong> <strong>la</strong> investigación, se realizaron pruebas <strong>de</strong> integración por parte<strong>de</strong> los especialistas, y <strong>de</strong> aceptación en <strong>la</strong>s diferentes entida<strong>de</strong>s antes mencionadas.3.3.1 P<strong>la</strong>nificación <strong>de</strong> PruebasLas pruebas <strong>de</strong> regresión se vincu<strong>la</strong>ron con <strong>la</strong>s unitarias, permitiendo corregir refinar <strong>la</strong>mo<strong>de</strong><strong>la</strong>ción e implementación <strong>de</strong> procesos como <strong>la</strong> creación <strong>de</strong> fuentes <strong>de</strong> datos, <strong>la</strong> <strong>gestión</strong> <strong>de</strong>impresión y exportación <strong>de</strong> reportes, etc. Para <strong>la</strong> realización <strong>de</strong> <strong>la</strong>s pruebas finales <strong>de</strong>l sistema,se utilizaron registros <strong>de</strong> entradas y posibles salidas previamente analizados <strong>para</strong> diferentessituaciones extremas. En <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l escenario se p<strong>la</strong>nificaron métodos <strong>de</strong> caja negra ob<strong>la</strong>nca, y se previeron <strong>la</strong>s respuestas <strong>de</strong> los módulos <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> manerain<strong>de</strong>pendiente, así como el estudio <strong>de</strong> su interacción.3.3.2 Evaluación <strong>de</strong> ResultadosLa herramienta registró un funcionamiento exitoso acor<strong>de</strong> a los propósitos perseguidos en eltrabajo. Muchas <strong>de</strong> <strong>la</strong>s pruebas efectuadas permitieron <strong>la</strong> corrección y el refinamiento <strong>de</strong> <strong>la</strong>sfuncionalida<strong>de</strong>s <strong>para</strong> <strong>la</strong> conclusión <strong>de</strong> un producto <strong>de</strong> software acor<strong>de</strong> a los objetivos <strong>de</strong>finidos.Los principales aportes que, <strong>de</strong> manera general evi<strong>de</strong>ncian el éxito <strong>de</strong>l sistema, son: La disponibilidad <strong>de</strong> un proceso <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes automatizado y altamentepersonalizado que garantizó <strong>la</strong> consi<strong>de</strong>ración <strong>de</strong> <strong>la</strong>s diferentes formas en que un usuariopue<strong>de</strong> interactuar con tal área acor<strong>de</strong> a <strong>la</strong> organización en <strong>la</strong> que trabaja y los objetivos<strong>de</strong> su puesto <strong>la</strong>boral. La presencia <strong>de</strong> un mecanismo <strong>de</strong> validación que permitió mantener el sentido lógico <strong>de</strong><strong>la</strong> estructura <strong>de</strong>l sistema y los objetivos perseguidos con el mismo, contro<strong>la</strong>ndo suflexibilidad sin tornarlo rígido acor<strong>de</strong> a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> los usuarios. La sugerencia <strong>de</strong> jerarquías <strong>de</strong> roles <strong>de</strong> usuarios variables en función <strong>de</strong> los diferentesnegocios, <strong>para</strong> el estudio <strong>de</strong> <strong>la</strong> interacción <strong>de</strong> los usuarios con los procesos <strong>de</strong> reportes. El tratamiento positivo <strong>de</strong> <strong>la</strong> flexibilidad y <strong>la</strong> usabilidad, a pesar <strong>de</strong> <strong>la</strong>s posibles ytradicionales contradicciones entre estos requerimientos, en función <strong>de</strong>l estudio <strong>de</strong> <strong>la</strong>disminución <strong>de</strong>l tiempo <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> herramientas informáticas, su mayor aceptación yel aumento <strong>de</strong> <strong>la</strong> satisfacción y el protagonismo <strong>de</strong> los usuarios ante <strong>la</strong>s aplicaciones.79


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> Resultados La capacidad lograda <strong>de</strong> ofrecer diferentes respuestas en cuestión <strong>de</strong> <strong>la</strong> apariencia <strong>de</strong>lsistema acor<strong>de</strong> a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong> cada usuario.De manera concreta, los aportes antes listados se consi<strong>de</strong>ran respaldados por los siguientessucesos: En <strong>la</strong>s insta<strong>la</strong>ciones realizadas, el 100% <strong>de</strong> los usuarios se mostró satisfecho con <strong>la</strong>sfuncionalida<strong>de</strong>s <strong>de</strong> <strong>la</strong> herramienta. Muchos usuarios se sintieron motivados a <strong>de</strong>batir sobre <strong>la</strong> investigación y aportaronconsi<strong>de</strong>raciones razonables y críticas certeras al sistema que permitieron <strong>la</strong> optimización<strong>de</strong> algunas <strong>de</strong> sus funcionalida<strong>de</strong>s. Entre <strong>la</strong>s principales recomendaciones efectuadas seencontraron:Mayormente por parte <strong>de</strong> los especialistas <strong>informático</strong>s, <strong>la</strong> restricción <strong>de</strong> <strong>la</strong> diversidad<strong>de</strong> los formatos <strong>de</strong> ficheros <strong>para</strong> exportar los reportes en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong>l rol <strong>de</strong>lusuario que efectuara tal operación.Por parte <strong>de</strong> <strong>la</strong> mayoría <strong>de</strong> los directivos, <strong>la</strong> inclusión <strong>de</strong> opciones <strong>de</strong> representación<strong>de</strong> <strong>la</strong> estructura <strong>de</strong>l negocio empresarial que sirvan <strong>de</strong> referencia <strong>para</strong> <strong>la</strong> <strong>gestión</strong> <strong>de</strong>roles <strong>de</strong> usuarios en <strong>la</strong> herramienta. Se registró que <strong>la</strong>s pruebas parciales <strong>de</strong>l producto permitieron el perfeccionamiento <strong>de</strong>l30% <strong>de</strong> <strong>la</strong>s funcionalida<strong>de</strong>s <strong>de</strong> <strong>la</strong> herramienta. De <strong>la</strong>s diez empresas don<strong>de</strong> se realizara un trabajo más exhaustivo en <strong>la</strong> prueba <strong>de</strong> <strong>la</strong>herramienta, nueve sugirieron el uso <strong>de</strong>l sistema más allá <strong>de</strong> los <strong>de</strong>partamentos <strong>de</strong>economía y recursos humanos.3.4 Descripción <strong>de</strong>l Impacto <strong>de</strong> <strong>la</strong> HerramientaSe consi<strong>de</strong>ra que el sistema ha incidido positivamente por garantizar los cambios en <strong>la</strong>estructura <strong>de</strong> los reportes y distribuir a los mismos por <strong>la</strong>s diferentes opciones <strong>de</strong> menús <strong>para</strong>su ejecución. El establecimiento <strong>de</strong> diferencias en los niveles <strong>de</strong> usuarios, <strong>la</strong>s acciones queestos <strong>de</strong>sarrol<strong>la</strong>n y <strong>la</strong> inclusión <strong>de</strong> funcionalida<strong>de</strong>s que ofrecen resultados que posibilitanestudiar <strong>la</strong>s operaciones que han efectuado con <strong>la</strong> aplicación, han permitido que usuarios <strong>de</strong>diferentes roles se encuentren satisfechos con <strong>la</strong> solución y ha motivado el pensamiento <strong>de</strong>muchos llegando a facilitar <strong>la</strong> captación <strong>de</strong> opiniones e i<strong>de</strong>as interesantes <strong>para</strong> futurasinvestigaciones en el área.80


CAPÍTULO III. Detalles <strong>de</strong> Implementación, Prueba y Evaluación <strong>de</strong> ResultadosAlgunos eventos que evi<strong>de</strong>ncian <strong>la</strong> aceptación <strong>de</strong>l producto más allá <strong>de</strong> los usuarios queutilizaron el sistema, son: El resto <strong>de</strong> los clientes más activos <strong>de</strong>l sistema GREHU pertenecientes a los sectores <strong>de</strong><strong>la</strong>s empresas don<strong>de</strong> se probara <strong>la</strong> herramienta, solicitaron también <strong>la</strong> consi<strong>de</strong>ración <strong>de</strong>sus empresas <strong>para</strong> <strong>la</strong> insta<strong>la</strong>ción. Muchos trabajadores que no utilizan sistemas <strong>de</strong> <strong>gestión</strong> <strong>de</strong> información se manifestaron<strong>de</strong>seosos <strong>de</strong> participar en el proyecto <strong>de</strong> prueba.Seguidamente se exponen <strong>la</strong>s consi<strong>de</strong>raciones realizadas por los usuarios que se consi<strong>de</strong>ranmás relevantes <strong>para</strong> <strong>la</strong> continuidad <strong>de</strong> <strong>la</strong> investigación: La conveniencia <strong>de</strong> ofrecer gráficos que muestren <strong>la</strong> evolución <strong>de</strong> <strong>la</strong> jerarquía <strong>de</strong> roles en<strong>la</strong> organización a usuarios que posean privilegios <strong>para</strong> alterar<strong>la</strong>. La inyección <strong>de</strong> los reportes realizados en <strong>la</strong>s herramientas <strong>de</strong> <strong>gestión</strong> que se esténutilizando en <strong>la</strong> entidad empresarial.3.5 ConclusionesEn este capítulo se expusieron <strong>de</strong>talles <strong>de</strong> <strong>la</strong> realización <strong>de</strong>l sistema. A partir <strong>de</strong> su estructurase presentaron, <strong>de</strong> manera <strong>de</strong>tal<strong>la</strong>da, algunos aspectos re<strong>la</strong>cionados a <strong>la</strong> implementación <strong>de</strong>sus principales módulos, y mediante el uso <strong>de</strong> diagramas y <strong>de</strong>más artefactos, se representó elproceso <strong>de</strong> materialización <strong>de</strong> <strong>la</strong> solución.Aspectos <strong>de</strong> importancia crítica como <strong>la</strong>s consi<strong>de</strong>raciones <strong>de</strong> interfaz, <strong>la</strong> <strong>de</strong>finición <strong>de</strong>requerimientos no funcionales y el diseño y argumentación <strong>de</strong>l mecanismo <strong>de</strong> acceso a datosempleado, fueron expuestos con el apoyo <strong>de</strong> ilustraciones. También se <strong>de</strong>scribió <strong>la</strong> forma enque se realizaron <strong>la</strong>s pruebas p<strong>la</strong>nificadas, bajo qué condiciones se efectuaron y los criterios yvaloraciones sobre los resultados obtenidos. Para concluir se efectuó un análisis crítico <strong>de</strong>limpacto <strong>de</strong>l sistema haciendo énfasis en <strong>la</strong>s dudas surgidas y <strong>la</strong> incentivación <strong>de</strong>l pensamientoprofesional <strong>para</strong> <strong>la</strong> continuidad <strong>de</strong> <strong>la</strong> investigación.81


CONCLUSIONESEn el presente trabajo se <strong>de</strong>sarrolló una herramienta <strong>de</strong>stinada a <strong>la</strong> <strong>gestión</strong> <strong>de</strong> reportes <strong>de</strong>manera <strong>dinámica</strong> y <strong>personalizada</strong>, incluyendo <strong>la</strong> <strong>gestión</strong> <strong>de</strong> los roles <strong>de</strong> usuarios queinteractúen con los procesos vincu<strong>la</strong>dos y <strong>la</strong> distribución <strong>de</strong> los accesos a los reportes<strong>de</strong>sarrol<strong>la</strong>dos, por diferentes sitios <strong>de</strong>ntro <strong>de</strong>l sistema. La aplicación implementada incluyefuncionalida<strong>de</strong>s calificadas como críticas, capturadas en el estudio <strong>de</strong>l estado <strong>de</strong>l arte <strong>de</strong> lossistemas re<strong>la</strong>cionados al campo <strong>de</strong> acción. También, el proceso <strong>de</strong> concepción <strong>de</strong> reportes sediseñó e implementó <strong>de</strong> manera flexible, logrando que responda a una estructura capaz <strong>de</strong>variar en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> <strong>la</strong> c<strong>la</strong>se <strong>de</strong> usuario que utilice <strong>la</strong> herramienta.Como tecnología y lenguaje <strong>de</strong> programación, se seleccionó Java, por sus bonda<strong>de</strong>s y <strong>la</strong>soberanía <strong>de</strong> muchas <strong>de</strong> sus herramientas. El uso <strong>de</strong> este lenguaje permitió <strong>la</strong> obtención <strong>de</strong>una aplicación flexible y portable, habilitando <strong>la</strong> incorporación <strong>de</strong> bibliotecas que facilitaron, enmuchas ocasiones, <strong>la</strong> implementación <strong>de</strong> múltiples funcionalida<strong>de</strong>s. Algunas <strong>de</strong> <strong>la</strong>sherramientas utilizadas pertenecientes al conjunto JDK fueron: <strong>para</strong> el control <strong>de</strong> <strong>la</strong> seguridad y<strong>la</strong> <strong>gestión</strong> <strong>de</strong> usuarios, el JAAS, y <strong>para</strong> <strong>la</strong> manipu<strong>la</strong>ción minuciosa <strong>de</strong> documentos XML, JAXP.El formato seleccionado <strong>para</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> los reportes fue XML, el cual respon<strong>de</strong> alesquema establecido por JasperReports en sus ficheros “.jrxml”. Esta selección garantiza <strong>la</strong>extensibilidad <strong>de</strong> <strong>la</strong>s p<strong>la</strong>ntil<strong>la</strong>s <strong>de</strong> reportes concebidas y el trabajo <strong>de</strong> manera flexibleincorporando <strong>la</strong>s ventajas que reporta el uso <strong>de</strong> los productos <strong>de</strong> JasperCorporation,particu<strong>la</strong>rmente su potente biblioteca <strong>de</strong> reportes JasperReports y su asistente gráfico jReport,ambos <strong>de</strong>sarrol<strong>la</strong>dos sobre el lenguaje <strong>de</strong> programación Java.Otras <strong>de</strong> <strong>la</strong>s ventajas obtenidas con el estudio y <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> solución, fue una interfaz <strong>de</strong>usuario intuitiva y flexible, capaz <strong>de</strong> ajustarse <strong>para</strong> un uso eficiente <strong>de</strong> <strong>la</strong> herramienta por parte<strong>de</strong> los usuarios, en <strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> sus necesida<strong>de</strong>s. De manera general, en <strong>la</strong>s pruebasrealizadas, se apreció un aumento <strong>de</strong>l protagonismo por parte <strong>de</strong> los usuarios frente al sistema,al permitírseles a estos incidir razonablemente ante <strong>la</strong> estructura <strong>de</strong> <strong>la</strong> aplicación.82


RECOMENDACIONESPara un mayor aprovechamiento <strong>de</strong>l sistema implementado en <strong>la</strong> investigación en curso, serecomienda analizar <strong>de</strong>tal<strong>la</strong>damente <strong>la</strong>s diferentes jerarquías <strong>de</strong> roles <strong>de</strong> usuarios re<strong>la</strong>cionadosa los procesos <strong>de</strong> <strong>gestión</strong> <strong>de</strong> reportes obtenidas en <strong>la</strong>s diferentes organizaciones don<strong>de</strong> seutilizó <strong>la</strong> herramienta. Es importante estudiar <strong>la</strong> estructuras <strong>de</strong> estas jerarquías, validar<strong>la</strong>s ycriticar<strong>la</strong>s en correspon<strong>de</strong>ncia a los negocios don<strong>de</strong> se presentaron, con el fin <strong>de</strong> oficializaraspectos sobre <strong>la</strong> <strong>gestión</strong> <strong>de</strong> roles <strong>de</strong> usuarios en sistemas don<strong>de</strong> <strong>la</strong> <strong>gestión</strong> <strong>personalizada</strong> <strong>de</strong>componentes <strong>de</strong> interfaz, como los reportes, juegan un papel protagónico.También se recomienda utilizar <strong>la</strong> herramienta implementada durante períodos <strong>de</strong> tiempo másprolongados y en una mayor variedad <strong>de</strong> escenarios, incorporando situaciones extremas, conel fin <strong>de</strong> recolectar resultados como evi<strong>de</strong>ncia, que brin<strong>de</strong>n mayor peso a <strong>la</strong>s <strong>de</strong>cisionestomadas al <strong>de</strong>finir u oficializar aspectos, metodologías, u otras c<strong>la</strong>ses <strong>de</strong> acciones que sepretendan realizar entre los pasos finales <strong>de</strong> <strong>la</strong> investigación.83


REFERENCIAS BIBLIOGRÁFICAS[1]. Aoyama, Mikio. “Persona-and-Scenario Based Requirements Engineering for SoftwareEmbed<strong>de</strong>d in Digital Consumer Products”. 13th IEEE International Conference onRequirements Engineering, 2005.[2]. Aoyama, Mikio. “Persona-Scenario-Goal Methodology for User-Centered RequirementsEngineering”. 15th IEEE International Requirements Engineering Conference, 2007.[3]. Barkdull, Steven. Pentaho Reporting XML Definition formats. Pentaho ReportingDocumentation – Latest. 22 <strong>de</strong> Octubre <strong>de</strong>l 2007.[4]. Beck, Kent. “Extreme Programming Exp<strong>la</strong>ined: Embrace Change”. Addison-Wesley 1999,ISBN: 0-201-61641-6.[5]. Bisbé York, Ana María. “La tab<strong>la</strong> FRX”. Kansas, Agosto <strong>de</strong>l 2004. [En línea]. [Consultado: 22/12/05][6]. Business Objects. “Crystal Reports XI. Feature Comparison by Version and Edition”. Enero<strong>de</strong>l 2008. [En línea].[Consultado: 19/12/08][7]. Business Objects. “Noveda<strong>de</strong>s en Crystal Reports XI”. [En línea]. [Consultado: 28/09/05][8]. “Business Objects refuerza su oferta <strong>de</strong>stinada a <strong>la</strong> mediana empresa”. [En línea]. Madrid,18 <strong>de</strong> Marzo <strong>de</strong>l 2005. [En línea]. [Consultado:27/05/05][9]. Caballero, Ismael; B<strong>la</strong>nco, Miguel A; Piattini, Mario. “Optimización <strong>de</strong>l Proceso <strong>de</strong> Gestión<strong>de</strong> Información <strong>para</strong> <strong>la</strong> Mejora <strong>de</strong> <strong>la</strong> Calidad <strong>de</strong> <strong>la</strong> Información”. Escue<strong>la</strong> Superior <strong>de</strong>Informática UCLM, Ciudad Real, España. [En línea]. [Consultado:08/01/10]84


REFERENCIAS BIBLIOGRÁFICAS[10]. Carroll, J. M. “Scenario-based <strong>de</strong>sign: envisioning work and technology in system<strong>de</strong>velopment”. John Wiley & Sons, New York, 1995.[11]. Chiba, Shigeru. “Javassist”. 12 <strong>de</strong> Marzo <strong>de</strong>l 2004. [En línea]. [Consultado: 30/11/07][12]. Chigrik, Alexan<strong>de</strong>r. “Microsoft SQL Server Roles”. [En línea]. [Consultado: 08/01/10][13]. C<strong>la</strong>irmont, Charly. “Intégration PHP/JasperReports”. 1 <strong>de</strong> Junio <strong>de</strong>l 2007. [En línea]. [Consultado:30/11/07][14]. “Combinando Reportes en Java. JasperReports”. [En línea]. [Consultado:03/06/05][15]. Cooper, A<strong>la</strong>n; Reimann, Robert. M. “About Face 2.0: The Essentials of Interaction Design”.Wiley Publishing, 2003.[16]. Dalheimer, Kalle y Weis, Torben. “KChart. La versión 1.4.1” [En línea]. [Consultado: 30/05/05][17]. Danciu, Teodor; Chirita, Lucian. “The Definitive Gui<strong>de</strong> to JasperReports”. 2007. Apress.ISBN: 978-1-59059-927-3.[18]. “Delta 6.0”. [En línea]. [Consultado:01/06/05][19]. Dev Direct. “Report Writers and Reporting Tools & Components”. [En línea]. [Consultado: 10/12/07][20]. Eckel, Bruce. “Thinking in Java”, Prentice Hall PTR. 2003. ISBN: 0-13-100287-2.[21]. Eclipse Foundation. “BIRT Report Object Mo<strong>de</strong>l – Overview. Functional Specification”. 22<strong>de</strong> Mayo <strong>de</strong>l 2005. [En línea]. [Consultado: 16/09/09][22]. ej-technologies. “jc<strong>la</strong>sslib”. [En línea]. [Consultado: 08/01/10]85


REFERENCIAS BIBLIOGRÁFICAS[23]. ej-technologies GmbH, Ingo Kegel. “jc<strong>la</strong>sslib byteco<strong>de</strong> viewer help”. 20 <strong>de</strong> Agosto <strong>de</strong>l2003. [En línea]. [Consultado: 08/01/10][24]. Ferguson Smart, John. “Open Source Java Reporting with JasperReports and iReport”.Septiembre <strong>de</strong>l 2005. [En línea]. [Consultado: 26/11/07][25]. Forno, Richard. “MS ‘Security Framework’ is another .NET vulnerability”. 14 <strong>de</strong> Noviembre<strong>de</strong>l 2001. [En línea].[Consultado: 08/01/10][26]. Foundstone, Inc; CORE Security Technologies. “Security in the Microsoft .NETFramework”. [En línea]. [Consultado: 08/01/10][27]. Frazier, Robert. “Security Frameworks. An Enterprise Approach to Security”. [En línea].[Consultado: 08/01/10][28]. “Generar reportes con Rpv Printing System”. [En línea]. [Consultado: 08/09/05][29]. Gordon, B. Davis; Margrethe, H. Olson. “Management Information Systems. Conceptualfoundations, structure, and <strong>de</strong>velopment”. McGraw-Hill, Segunda Edicion, 1985. ISBN: 0-07-015828-2.[30]. Goyal, Vikram. “Analyze your c<strong>la</strong>sses”. 22 <strong>de</strong> Octubre <strong>de</strong>l 2003. [En línea]. [Consultado: 08/01/10][31]. Guzmán Arenas, Dr. Adolfo. “Herramientas <strong>de</strong> software <strong>para</strong> <strong>la</strong> organización distribuida”.1996. [En línea]. [Consultado: 25/05/05][32]. Heffelfinger, David R. “Getting Started With JasperReports”. Septiembre <strong>de</strong>l 2005. [Enlínea]. [Consultado:05/12/07][33]. Heffelfinger, David R. “JasperReports for Java Developers”. Packt Publishing, 2006. ISBN:1-904811-90-6.86


REFERENCIAS BIBLIOGRÁFICAS[34]. Hilzinger, Marcel. “Una ayuda <strong>la</strong> oficina”. [En línea]. [Consultado: 27/05/05][35]. Hofmann, H.F; Lehner, F. “Requirements engineering as a success factor in softwareprojects”. IEEE Software. Agosto <strong>de</strong>l 2001.[36]. Infante G, Lic. Sonia. “Propuesta <strong>de</strong> una nueva versión <strong>de</strong>l sistema automatizado <strong>de</strong>activos fijos tangibles <strong>para</strong> el sector <strong>de</strong> salud cubano”. [En línea]. [Consultado: 16/01/06][37]. InSoft Ltda. “Software especializado en contabilidad <strong>de</strong> costos y <strong>gestión</strong> <strong>para</strong> Pymes”. [Enlínea]. [Consultado: 30/05/05][38]. Interface21, Inc. “Spring Security 2.0.0 Released”. 15 <strong>de</strong> Abril <strong>de</strong>l 2008. [En línea]. [Consultado: 10/01/10][39]. Jacobson, Ivar; Booch, Grady; Rumbaugh, James. “El Proceso Unificado <strong>de</strong> Desarrollo <strong>de</strong>Software”. 2000. Addison Wesley. ISBN: 81-7829-031x2.[40]. Jaspersoft Corporation. “Jaspersoft Business Intelligence Suite”. 2008. [En línea].[Consultado: 12/06/08][41]. Jaspersoft Corporation. “JasperStudio, powered by iReport”. [En línea]. [Consultado: 29/11/07][42]. Java-Source.net. “BCEL”. [En línea]. [Consultado: 08/10/09][43]. “Java Open Source reporting frameworks. Evaluation results”. 24 <strong>de</strong> Enero <strong>de</strong>l 2007. [Enlínea]. [Consultado: 08/01/10][44]. “Java Security Frameworks”. [En línea]. [Consultado: 08/01/10][45]. “JFreeReport”. [En línea]. [Consultado: 25/11/07][46]. “JFreeReport joined Pentaho”. [En línea]. [Consultado: 27/11/07]87


REFERENCIAS BIBLIOGRÁFICAS[47]. Jorgensen, M; Molokken, K. “How <strong>la</strong>rge are software cost overruns?”. Critical Commentson the Standish Group’s CHAOS Reports. Information and Software Technology. 2006.[48]. Lafortune, Eric. “ProGuard”. [En línea]. [Consultado:28/06/09][49]. Landrum, Rodney; McGehee, Shawn; Voytek III, Walter J. “Pro SQL Server 2008Reporting Services”. Apress. 2008. ISBN: 978-1-4302-0652-1.[50]. LISI/ENSMA. “PLIB API. User Manual”. [En línea]. [Consultado: 10/01/10][51]. LISI/ENSMA. “PLIBEditor Manual”. Futuroscope, Francia. 2001. [En línea]. [Consultado: 10/01/10][52]. Martínez Rodríguez, Dr. Raúl; Achang García Ing. Julio. “Aspectos Generales <strong>de</strong>lGREHU”. Cuidad <strong>de</strong> <strong>la</strong> Habana. Cuba. 2003.[53]. Martínez Rodríguez, Dr. Raúl; Pérez Gort, Ing. Maikel Lázaro. “<strong>Sistema</strong> <strong>para</strong> Gestionar <strong>de</strong>forma Integral el Capital Humano <strong>de</strong> Entida<strong>de</strong>s Laborales”. Fórum <strong>de</strong> Ciencia y TécnicaProvincial, Ciudad <strong>de</strong> <strong>la</strong> Habana, Cuba, Octubre <strong>de</strong>l 2008.[54]. Martínez Rodríguez, Raúl; Pérez Gort, Maikel Lázaro; Alcai<strong>de</strong> Rodríguez, Iliana. “<strong>Sistema</strong>Informativo <strong>para</strong> Gestionar <strong>de</strong> forma Integral el Capital Humano <strong>de</strong> Entida<strong>de</strong>s Laborales”.III Taller <strong>de</strong> Informática Aplicada, Simposio <strong>de</strong> Ingeniería Industrial Informática y Afines,XIV Convención Científica <strong>de</strong> Ingeniería y Arquitectura, CUJAE, Ciudad <strong>de</strong> <strong>la</strong> Habana,Cuba, Diciembre <strong>de</strong> 2008. ISBN: 978-959-261-281-5.[55]. Mathematical Systems, Inc. “XML REPORTING”. [En línea]. [Consultado: 11/01/10][56]. Microsoft Corporation. “Mo<strong>de</strong>l Designer Object Re<strong>la</strong>tionship Diagram”. SQL Server 2008Books Online. Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 10/01/10][57]. Microsoft Corporation. “Report Definition Language Reference”. SQL Server 2008 BooksOnline. Noviembre <strong>de</strong>l 2009. [En línea]. [Consultado: 10/01/10][58]. Microsoft Corporation. “Report Definition Language Specification”. Segunda Versión.Noviembre <strong>de</strong>l 2005.88


REFERENCIAS BIBLIOGRÁFICAS[59]. Moreno, Carlos Miguel. “¿Que es moReport?”. [En línea] [Consultado: 01/06/05][60]. Nummenmaa, Jyrki; Zhang, Zheying; Thanisch, Peter; Pérez Gort, Maikel L. “A PersonaMethod Adaptation for Requirements Engineering in Business Intelligence Reporting”.Information Technologies 2009 (IT 2009), 15 th International Conference on Informationand Software Technologies, Abril <strong>de</strong>l 2009, Kaunas, Lithuania.[61]. Object Refinery Limited. “Welcome To JFreeChart!”. [En línea]. [Consultado: 24/11/07][62]. O<strong>de</strong>ll, J; Van Dyke Parunak, H; Bauer, B. “Extending UML for Agents”, Proceedings of theAgent-Oriented Information System Workshop at the 17 th National Conference on ArtificialIntelligence. Austin, USA, Julio <strong>de</strong>l 2000. [En línea]. [Consultado: 10/01/10][63]. OWASP Foundation. “OWASP Enterprise Security API”. [En línea]. [Consultado: 10/01/10][64]. Pentaho Corporation. “About Pentaho Corporation. The commercial open sourcealternative for business intelligence (BI)”. [En línea]. [Consultado: 20/11/07][65]. Pentaho Corporation. “JDKTM 6 Documentation”. [En línea]. [Consultado: 25/10/07][66]. Pentaho Corporation. “Pentaho BI P<strong>la</strong>tform”. [En línea]. [Consultado: 05/10/07][67]. Pentaho Corporation. “Pentaho Projects”. [En línea]. [Consultado: 21/11/07][68]. Pentaho Corporation. “Pentaho Reporting”. [En línea]. [Consultado: 21/11/07][69]. Pentaho Corporation. “Pentaho Reporting”. [En línea]. [Consultado: 15/12/07][70]. Pérez Gort, Maikel L. “Automatización <strong>de</strong> <strong>la</strong> Gestión Personalizada <strong>de</strong> ReportesInformáticos”. Ciudad <strong>de</strong> <strong>la</strong> Habana, Cuba. Instituto Superior Politécnico José AntonioEcheverría, Facultad <strong>de</strong> Ingeniería Informática, Enero <strong>de</strong>l 2008. Tesina <strong>de</strong> Diplomado(Informática Aplicada).89


REFERENCIAS BIBLIOGRÁFICAS[71]. Pérez Gort, Maikel L. “Subsistema Generador <strong>de</strong> Reportes”. Ciudad <strong>de</strong> <strong>la</strong> Habana, Cuba.Instituto Superior Politécnico José Antonio Echeverría, Facultad <strong>de</strong> Ingeniería Industrial,Junio <strong>de</strong>l 2006. Tesis <strong>de</strong> Diploma (Ingeniería Informática).[72]. Pérez Gort, Maikel L. “Subsistema Generador <strong>de</strong> Reportes <strong>de</strong>l <strong>Sistema</strong> GREHU”. XIIConvención Científica <strong>de</strong> Ingeniería y Arquitectura, CUJAE. Ciudad <strong>de</strong> <strong>la</strong> Habana, Cuba.2006. ISBN: 959-261-248-X.[73]. Pérez Gort, Maikel Lázaro; Martínez Rodríguez, Raúl. “Subsistema Generador <strong>de</strong>Reportes <strong>para</strong> el sistema GREHU”. Fórum <strong>de</strong> Ciencia y Técnica Municipal, Marianao,Ciudad <strong>de</strong> <strong>la</strong> Habana, Cuba. Septiembre <strong>de</strong>l 2008.[74]. Pruitt, J; Grudin, J. “Personas: Practice and Theory”. Proceedings of DUX03: Designing forUser Experiences. 2003.[75]. “QReport Bor<strong>la</strong>nd Delphi”. [En línea]. [Consultado: 12/05/05][76]. Ramb<strong>la</strong>, Jordi. “Microsoft SQL Server 2005. Creating, Editing, and Managing Reportmo<strong>de</strong>ls for Reporting Services”. Enero <strong>de</strong>l 2006. [En línea]. [Consultado: 10/01/10][77]. Robinson, Andy. “ReportLab – a Python reports library for direct PDF output”. [En línea].[Consultado: 15/09/07][78]. Rothman, Mike . “Frameworks, just a part of security p<strong>la</strong>n”. 27 <strong>de</strong> Agosto <strong>de</strong>l 2007. [Enlínea]. [Consultado: 10/01/10][79]. Rpv Software. “Rpv Business Reports 5.2”. [En línea]. [Consultado: 08/09/05][80]. Rpv Software. “Rpv Reports. La solución universal a sus problemas <strong>de</strong> impresión”. [Enlínea]. [Consultado: 08/09/05][81]. Rusty Harold, Elliotte. “XML 1.1 Bible”. 3rd Edition. Wiley Publishing, Inc. 2004. ISBN: 0-7645-4986-3.90


REFERENCIAS BIBLIOGRÁFICAS[82]. Saabas, Ando. “JBE - Java Byteco<strong>de</strong> Editor". Institute of Cybernetics. Aka<strong>de</strong>emia tee 21.12618 Tallinn. Estonia. 2006. [En línea]. [Consultado:08/01/10][83]. Sar<strong>de</strong>t, Eric; Pierra, Guy; Ait-Ameur, Yamine. “Formal Specification, Mo<strong>de</strong>lling andExchange of C<strong>la</strong>sses of Components according to PLib. A case study”. To appear in theProceedings of the Internat. Symp. on Global Engineering Networking GEN’97, SpecialSession on Intelligent Electronic Catalogues. Antwerp, Bélgica, Abril <strong>de</strong> 1997. [En línea]. [Consultado: 10/01/10][84]. Sayed, Asif. “Reporting XML data using Crystal Reports and Windows Forms”. 28 <strong>de</strong> Junio<strong>de</strong>l 2007. [En línea]. [Consultado: 10/01/10][85]. SmartSoftwareReview. “Crystal Reports Review”. [En línea]. [Consultado: 08/01/10][86]. Softpedia. “OLAP - ContourCube 3.0 está disponible”. [En línea]. [Consultado: 04/10/05][87]. SQL Software. “Queryx*Report”. [En línea]. [Consultado: 02/06/05][88]. Sun Microsystems. “Java Authentication and Authorization Service (JAAS)”. ReferenceGui<strong>de</strong> for the Java SE Development Kit 6. [En línea].[Consultado: 08/01/10][89]. Sun Microsystems. “Java SE Security”. [En línea]. [Consultado: 08/01/10][90]. Sun Microsystems. “What is the XWS-Security Framework?”. [En línea].[Consultado: 10/01/10][91]. Swenson, Erik. “Reports ma<strong>de</strong> easy with JasperReports”. The open source JasperReportsuses XML temp<strong>la</strong>tes for your reporting needs”. 20 <strong>de</strong> Septiembre <strong>de</strong>l 2002. [En línea].91


REFERENCIAS BIBLIOGRÁFICAS[Consultado: 10/01/10][92]. Thanisch, Peter; Nummenmaa, Jyrki; Zhang, Zheying; Pérez Gort, Maikel L. “Temas <strong>de</strong>Investigación en el Área <strong>de</strong> Reportes <strong>de</strong> <strong>la</strong> Inteligencia <strong>de</strong> Negocios”. III Taller <strong>de</strong>Informática Aplicada, Simposio <strong>de</strong> Ingeniería Industrial Informática y Afines, XIVConvención Científica <strong>de</strong> Ingeniería y Arquitectura, CUJAE. Ciudad <strong>de</strong> <strong>la</strong> Habana, Cuba.Diciembre <strong>de</strong>l 2008. ISBN: 978-959-261-281-5.[93]. The Ab<strong>la</strong>ze Group. “Crystal Reports 2008: The Complete Reference”. [En línea]. [Consultado: 08/01/10][94]. The Ab<strong>la</strong>ze Group. “Crystal Reports XI: The Complete Reference”. [En línea]. [Consultado: 08/01/10][95]. van Lamsweer<strong>de</strong>, Axel. “Goal-Oriented Requirements Engineering: A Gui<strong>de</strong>d Tour”. 5thIEEE International Symposium on Requirements Engineering. Toronto. Agosto <strong>de</strong>l 2001.[96]. von Halle, Barbara. “Business Rules Applied-Business Better Systems Using the BusinessRules Approach”. John Wiley & Sons. New York. 2001. ISBN: 978-0-471-41293-9.[97]. W3C. “Extensible Markup Language (XML)”. [En línea]. [Consultado: 07/11/07][98]. Whittaker, B. “What went wrong? Unsuccessful information technology projects”. KPMG,MCB University Press, Information Management & Computer Security. 1999.92


BIBLIOGRAFÍA1. Atwood, M; Hewett, T. “A Cognitive Approach to Interactive System Design”. Conference onHuman Factors in Computing Systems. CHI’02. ACM. Minnesota, USA, 2002.2. Baecker, R. “Frontiers of User Support: Bridging the Gap Between What Users Know andWhat They Need to Know”. Conference on Human Factors in Computing Systems. CHI’02.ACM. Minnesota, USA, 2002.3. BCEL. The Apache Jakarta Project. 3 <strong>de</strong> Junio <strong>de</strong>l 2006. [En línea]. [Consultado: 08/01/10]4. Bisbé York, Ana María. “Mejoras en Agrupación <strong>de</strong> datos”. Kansas. Agosto <strong>de</strong>l 2004. [Enlínea]. [Consultado: 18/05/05]5. Bisbé York, Ana María. “Múltiples bandas <strong>de</strong> <strong>de</strong>talle (Multiple-Detail Bands)”. Kansas.Agosto <strong>de</strong>l 2004. [En línea]. [Consultado: 18/05/05]6. Bischof, Brian. “SQL Server Reporting Services and Crystal Reports:A Competitive Analysis”. [En línea].[Consultado: 14/09/07]7. Butler, Keith A.; Jacob, Robert J. K.; John, Bonnie E. “Human-Computer Interaction:Introduction and Overview”. Conference on Human Factors in Computing Systems, CHI’99.ACM. Pittsburgh, Pennsylvania. 1999. ISBN:1-58113-158-5.8. Chi, E.; Stuart, C. “Information Visualization and Visual Perception”. ACM SIGCHI. 2002.ISSN: 0736-6906.9. Chiba, Shigeru; Nishizawa, Muga. An Easy-to-Use Toolkit for Efficient Java Byteco<strong>de</strong>Trans<strong>la</strong>tors. Proc. of 2nd Int'l Conf. on Generative Programming and ComponentEngineering (GPCE '03), LNCS 2830, pp.364-376, Springer-Ver<strong>la</strong>g, 2003. [En línea]. [Consultado: 08/01/10]93


BIBLIOGRAFÍA10. Chiba, Shigeru. “Load-time Structural Reflection in Java”. ECOOP 2000. Object OrientedProgramming. LNCS 1850. Springer Ver<strong>la</strong>g. 2000. [En línea]. [Consultado: 08/01/10]11. Constantine, Larry. “PREPRINT. Users, Roles, and Personas”. IDSA. Constantine &Lockwood, Ltd.12. D Vint Productions. “XML Schema – Data Types Quick Reference”. D VintProductions. 2003. [En línea]. [Consultado:11/01/10]13. Dillion, A. “A Primer on Test Design and Statistics for Usability Evaluation”. ACM SIGCHI.Romania. 2002.14. Dray, S. “Un<strong>de</strong>rstanding User’s Work in Context: Practical Observation Skills”. ACMSIGCHI. 2002. SSN: 0736-6906.15. Ducan Davidson, James; Hunter, Jason. “Java TM API for XML Processing 1.1”. [En línea]. [Consultado:15/11/07]16. Goodwin, K. “Goal-Directed Methods for Great Design”. Conference on Human Factors inComputing Systems. CHI’02. ACM. Minnesota, USA, 2002.17. Google Enterprise EMEA. “GSA Valve Security Framework – Scenarios”. Scenario Gui<strong>de</strong>.[En línea]. [Consultado: 08/01/10]18. Gropp, Eric. “REST Reporting”. 16 <strong>de</strong> Febrero <strong>de</strong>l 2005. [En línea]. [Consultado: 12/01/10]19. Hackos, JoAnn T.; Redish, Janice C. “User and Task Analysis for Interface Design”. JohnWiley & Sons, Inc. 1998. ISBN: 0-471-17831-4.20. Interactive Reporting. “Interactive Reporting. Overview”. White Paper. Diciembre <strong>de</strong>l 2004.[En línea]. [Consultado:11/01/10]21. JASYPT. “JASYPT. Java Simplified Encryption”. [En línea]. [Consultado: 08/01/10]94


BIBLIOGRAFÍA22. Java4Less. “RReport & RReport Visual Buil<strong>de</strong>r 2.6: Java[TM] p<strong>la</strong>tform printing library andweb reports”. [En línea]. [Consultado:15/11/07]23. JavaB<strong>la</strong>ckBelt. “JasperReports TechMap. JavaB<strong>la</strong>ckBelt”. [En línea]. [Consultado: 08/01/10]24. Jenson, S. “The Simplicity Shift: Making Innovative Design Work”. ACM SIGCHI. Romania.2002.25. John, Bonnie E.; Bass, Len. “Avoiding We Can’t Change That!: Software Architecture &Usability”. Conference on Human Factors in Computing Systems. CHI’02. ACM. Minnesota,USA, 2002.26. Johnson, J. “GUI Bloopers: Recognizing and Avoiding Common GUI Design Mistakes”.Conference on Human Factors in Computing Systems. CHI’02. ACM. Minnesota, USA,2002.27. Mayhew, D. “Promoting, Establishing, and Institutionalizing Usability Engineering”.Conference on Human Factors in Computing Systems. CHI’02. ACM. Minnesota, USA,2002.28. Mayhew, D. “The Usability Engineering Lifecycle”. Conference on Human Factors inComputing Systems. CHI’02. ACM. Minnesota, USA, 2002.29. McLaughlin, Brett D. “All about JAXP, Part 1”. 17 <strong>de</strong> Mayo <strong>de</strong>l 2005. [En línea]. [Consultado: 05/12/07]30. Microsoft Corporation. “MS-RDL: Report Definition Language File Format StructureSpecification”. [En línea]. [Consultado: 11/01/10]31. Microsoft Corporation. “Report Definition Chart Overview Diagram”. SQL Server 2008 BooksOnline. Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 08/01/10]32. Microsoft Corporation. “Report Definition Custom Report Item Overview Diagram”. SQLServer 2008 Books Online. Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 08/01/10]95


BIBLIOGRAFÍA33. Microsoft Corporation. “Report Definition Language XML Schema”. SQL Server 2008 BooksOnline. Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 08/01/10]34. Microsoft Corporation. “Report Definition Report Data Overview Diagram”. SQL Server 2008Books Online. Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 08/01/10]35. Microsoft Corporation. “Report Definition Report Layout Overview Diagram”. SQL Server2008 Books Online. Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 08/01/10]36. Microsoft Corporation. “Report Definition XML Diagrams”. SQL Server 2008 Books Online.Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 11/01/10]37. Microsoft Corporation. “Visual FoxPro 8.0. Checking for Differences in Forms, Reports, andOther Table Files”. [En línea]. [Consultado: 11/01/10]38. NetCat Inc. “Java Report Printing SDK Library - ReportCat 1.1”. [En línea]. [Consultado: 14/11/07]39. NetCat Inc. “ReportCat - The Java Report Print SDK Library”. [En línea]. [Consultado: 12/11/07]40. Pérez Gort, Maikel L. “Diseño e Implementación <strong>de</strong> un Generador <strong>de</strong> Reportes utilizandoficheros DBF y FoxPro 2.6 <strong>para</strong> Windows”. Reporte <strong>de</strong> Investigaciones <strong>de</strong>l CEIS. Ciudad <strong>de</strong><strong>la</strong> Habana. Cuba. 2007. ISBN: 978-959-261-2662.41. Richardson, W. C<strong>la</strong>y; Avondolio, Donald; Schrager, Scot; Mitchell, Mark W.; Scanlon, Jeff.“Professional Java, JDK 6 Edition”. Wiley Publishing, Inc. 2007. ISBN: 978-0-471-77710-6.42. Rosson, M.B.; Carroll, J. “Scenario-Based Usability Engineering”. Conference on HumanFactors in Computing Systems. CHI’02. ACM. Minnesota, USA, 2002.43. Rumbaugh, James; Jacobson, Ivar; Booch, Grady. “The Unified Mo<strong>de</strong>ling LanguageReference Manual”. 1999. Addison Wesley. ISBN: 0-201-30998-X.44. Sosnoski, Dennis M. Java programming dynamics, Part 4: C<strong>la</strong>ss transformation withJavassist. IBM <strong>de</strong>veloperWorks, 16 <strong>de</strong> Septiembre <strong>de</strong>l 2003. [En línea]. [Consultado: 08/01/10]96


BIBLIOGRAFÍA45. Sosnoski, Dennis M. Java programming dynamics, Part 7: Byteco<strong>de</strong> engineering with BCEL.15 <strong>de</strong> Abril <strong>de</strong>l 2004. [En línea]. [Consultado: 08/01/10]46. Sun Microsystems. “Java API for XML Processing”. [En línea]. [Consultado: 05/12/07]47. Tatsubori, Michiaki; Sasaki, Toshiyuki; Chiba, Shigeru; Itano, Kozo. A Byteco<strong>de</strong> Trans<strong>la</strong>torfor Distributed Execution of "Legacy" Java Software. ECOOP 2001 -- Object-OrientedProgramming, LNCS 2072, Springer Ver<strong>la</strong>g, pp.236-255, 2001. [En línea]. [Consultado: 08/01/10]48. TEC-IT. “INFORMer, Report Generator for Software Developers”. [En línea]. [Consultado:12/01/10]49. TEC-IT “Professional Label/Form Printing and Reporting”. [En línea]. [Consultado: 20/11/07].50. TEC- IT. “TFORMer. Barco<strong>de</strong> Label Printing and Reporting Software. Version 6.0”. WhitePaper. GmbH. Austria. 6 <strong>de</strong> Agosto <strong>de</strong>l 2009. [En línea]. [Consultado: 08/01/10]51. The Ab<strong>la</strong>ze Group. “The Most Definitive Resources on Crystal Reports Avai<strong>la</strong>ble!”. [Enlínea]. [Consultado: 11/01/10]52. Tiffoli, Giulio. “The Definitive Gui<strong>de</strong> to iReport”. 2007. APRESS. ISBN: 978-1-59059-928-053. Van<strong>de</strong>rhei<strong>de</strong>n, G.; Henry, S.L. “Flexible, Accessible Interfaces More Usable by Everyone”.Conference on Human Factors in Computing Systems. CHI’02. ACM. Minnesota, USA,2002.54. Vre<strong>de</strong>nburg, K.; Isensee, S.; Righi, C. “How to Introduce, Deploy, and Optimize User-Centered Design in Your Organization”. UPA’01. Usability Professionals' Association. 2001.55. Yankelovich, Nicole; Lai, Jennifer. “Designing Speech User Interfaces”. Conference onHuman Factors in Computing Systems. CHI 98. Los Angeles, California, United States.1998. ISBN: 1-58113-028-7.97


GLOSARIO DE SIGLAS Y TÉRMINOSAPI (Application Programming Interface): Interfaz <strong>de</strong> Programación <strong>de</strong> Aplicaciones.Conjunto <strong>de</strong> métodos que ofrece una biblioteca <strong>para</strong> que otros sistemas lo utilicen como unacapa <strong>de</strong> abstracción.Bibliotecas GTK: Conjunto importante <strong>de</strong> bibliotecas o rutinas que contienen objetos yfunciones <strong>para</strong> crear interfaces gráficas <strong>de</strong> usuario.Bor<strong>la</strong>nd (Bor<strong>la</strong>nd Software Corporation): Anteriormente Bor<strong>la</strong>nd International, Inc. Compañía<strong>de</strong> software ubicada en Scotts Valley, California, Estados_Unidos, conocida sobre todo por suherramienta <strong>de</strong> programación Turbo Pascal que evolucionó hasta el Delphi.BPM (Bussiness Process Management): Gestión <strong>de</strong> Procesos <strong>de</strong> Negocios. Consiste en unaestrategia sistemática <strong>para</strong> mejorar los procesos <strong>de</strong> negocios <strong>de</strong> una organización. Susactivida<strong>de</strong>s se orientan en función <strong>de</strong> alcanzar <strong>la</strong> efectividad, eficiencia y adaptabilidad <strong>de</strong> losprocesos <strong>de</strong> negocios. Es una infraestructura <strong>de</strong> <strong>gestión</strong> que concierne al área administrativa<strong>para</strong> el mantenimiento y <strong>la</strong> optimización <strong>de</strong> <strong>la</strong> organización.Byteco<strong>de</strong>: Código intermedio más abstracto que el código máquina.DBF (DataBase File): Fichero <strong>de</strong> Base <strong>de</strong> Datos. Estructura <strong>de</strong> fichero formada por una tab<strong>la</strong><strong>de</strong> almacenamiento <strong>de</strong> datos.DTD (Document Type Definition): Definición <strong>de</strong> Tipo <strong>de</strong> Documento que contiene loselementos, atributos, entida<strong>de</strong>s y notaciones a utilizar en un documento XML, así como susposibles re<strong>la</strong>ciones. A<strong>de</strong>más pue<strong>de</strong> incluir reg<strong>la</strong>s <strong>para</strong> <strong>la</strong> estructura <strong>de</strong>l documento.Framework: Conjunto <strong>de</strong> c<strong>la</strong>ses <strong>de</strong> diseño abstracto que ofrecen herramientas <strong>para</strong> <strong>de</strong>sarrol<strong>la</strong>rproductos <strong>informático</strong>s.FRX: Extensión <strong>de</strong> los ficheros <strong>de</strong> informes <strong>de</strong> <strong>la</strong>s herramientas <strong>de</strong> Microsoft FoxPro.Constituyen ficheros con estructura <strong>de</strong> tab<strong>la</strong>s, que almacenan información <strong>para</strong> <strong>de</strong>finir losreportes en FoxPro.Hibernate: Herramienta <strong>de</strong> Mapeo objeto-re<strong>la</strong>cional <strong>para</strong> <strong>la</strong> p<strong>la</strong>taforma Java.98


GLOSARIO DE SIGLAS Y TÉRMINOSInteligencia <strong>de</strong> Negocio: Proceso que consiste en recopi<strong>la</strong>r, analizar y utilizar datos <strong>de</strong>lnegocio <strong>para</strong> mejorar el rendimiento empresarial.JAX-WS (Java API for XML Web Services): API <strong>de</strong> Java que ofrece un conjunto <strong>de</strong>tecnologías <strong>para</strong> el <strong>de</strong>sarrollo <strong>de</strong> servicios web con el uso <strong>de</strong> <strong>la</strong> tecnología XML.JDK (Java SE Development Kit): Conjunto <strong>de</strong> programas y bibliotecas <strong>de</strong> libre distribuciónque permiten <strong>de</strong>sarrol<strong>la</strong>r, compi<strong>la</strong>r y ejecutar programas en Java. Existe también una versiónreducida <strong>de</strong>l JDK, <strong>de</strong>nominada JRE (Java Runtime Environment) <strong>de</strong>stinada únicamente aejecutar código Java.JVM (Java Virtual Machine): Máquina Virtual <strong>de</strong> Java. Es un programa nativo (ejecutable enuna p<strong>la</strong>taforma específica) capaz <strong>de</strong> interpretar y ejecutar instrucciones expresadas en uncódigo binario especial (Java byteco<strong>de</strong>), el cual es generado por el compi<strong>la</strong>dor <strong>de</strong>l lenguajeJava.KChart: Generador <strong>de</strong> gráfico integrado al paquete KOffice.KDE (K Desktop Environment): Entorno <strong>de</strong> escritorio gráfico e infraestructura <strong>de</strong> <strong>de</strong>sarrollo<strong>para</strong> sistemas Unix y Linux. La ‘K’ originalmente representaba <strong>la</strong> pa<strong>la</strong>bra “Kool”, pero susignificado fue abandonado más tar<strong>de</strong>.KOffice: Colección <strong>de</strong> programas libres <strong>para</strong> el proyecto KDE.KWord: Editor <strong>de</strong> texto integrado al paquete KOffice.Ofuscador: Herramienta que transforma el byteco<strong>de</strong> a otra c<strong>la</strong>se <strong>de</strong> byteco<strong>de</strong> más difícil <strong>de</strong><strong>de</strong>scompi<strong>la</strong>r.PDF (Portable Document Format): Formato <strong>de</strong> Documento Portátil. Es un formato <strong>de</strong>almacenamiento <strong>de</strong> documentos <strong>de</strong>sarrol<strong>la</strong>do por <strong>la</strong> empresa Adobe Systems.PostScript: Lenguaje <strong>de</strong> Descripción <strong>de</strong> Página (en inglés PDL, Page Description Language),utilizado en muchas impresoras y como formato <strong>de</strong> transporte <strong>de</strong> archivos gráficos en talleres<strong>de</strong> impresión profesional.99


GLOSARIO DE SIGLAS Y TÉRMINOSPSG (Persona-Scenario-Goal): Metodología que extien<strong>de</strong> <strong>de</strong> <strong>la</strong> Metodología Persona –Escenario (PS) y está centrada en el estudio <strong>de</strong> los requerimientos <strong>de</strong> los usuarios en supuesto <strong>la</strong>borar según los objetivos a cumplir.RDL (Report Definition Language): Representación XML <strong>de</strong> <strong>la</strong> <strong>de</strong>finición <strong>de</strong> los reportesutilizados en los servicios <strong>de</strong> reportes <strong>de</strong> SQL Server. Contiene información sobre <strong>la</strong> exposición<strong>de</strong> los datos y <strong>la</strong> estructura <strong>de</strong>l reporte. Está compuesto por documentos XML que estandarizan<strong>la</strong> gramática creada <strong>para</strong> los servicios <strong>de</strong> reportes <strong>de</strong> SQL Server.RUP (Rational Unified Process): Proceso Unificado <strong>de</strong> Desarrollo. Mo<strong>de</strong>lo <strong>de</strong> proceso <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> software que utiliza el lenguaje UML <strong>para</strong> pre<strong>para</strong>r todos los esquemas <strong>de</strong> unsistema <strong>de</strong> software. Se distingue por promover un <strong>de</strong>sarrollo dirigido por casos <strong>de</strong> uso,centrado en <strong>la</strong> arquitectura y <strong>de</strong> manera iterativa e incremental.SAAJ (SOAP with Attachments API for Java): API <strong>de</strong> SOAP con Adjuntos <strong>para</strong> Java quesuministra una manera estándar <strong>de</strong> enviar documentos XLM sobre Internet <strong>de</strong>s<strong>de</strong> <strong>la</strong> p<strong>la</strong>taformaJava. SAAJ permite a los <strong>de</strong>sarrol<strong>la</strong>dores producir y consumir mensajes uqe comp<strong>la</strong>n con <strong>la</strong>sespecificaciones <strong>de</strong> SOAP. Suele utilizarse también <strong>para</strong> <strong>de</strong>sarrol<strong>la</strong>r aplicaciones <strong>de</strong>mensajería.SGBD (<strong>Sistema</strong> <strong>de</strong> Gestión <strong>de</strong> Bases <strong>de</strong> Datos): <strong>Sistema</strong> que permite a los usuariospreservar, recuperar y modificar información digital.SMDL: Especificación XML que <strong>de</strong>fine los elementos válidos <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> un reportealmacenado en un fichero <strong>de</strong> extensión ‘smdl’. A<strong>de</strong>más especifica <strong>la</strong>s re<strong>la</strong>ciones entre objetossemánticos y <strong>de</strong> vistas <strong>de</strong> fuentes <strong>de</strong> datos pertenecientes al mo<strong>de</strong>lo.Stand-Alone: In<strong>de</strong>pendiente. Se<strong>para</strong>do <strong>de</strong> un conjunto. Autónomo. Caracteriza a un terminal oun puesto <strong>de</strong> trabajo que está conectado directamente al or<strong>de</strong>nador o que tiene una so<strong>la</strong>conexión a través <strong>de</strong> una línea externa.SysML (systems Mo<strong>de</strong>ling Language): Lenguaje <strong>de</strong> mo<strong>de</strong><strong>la</strong>do gráfico <strong>de</strong> propósito generalque consiste en un subconjunto <strong>de</strong> UML 2.0 con extensiones requeridas <strong>para</strong> mo<strong>de</strong><strong>la</strong>r losrequerimientos, el comportamiento y <strong>la</strong> estructura <strong>de</strong> sistemas complejos que pue<strong>de</strong>n estarformados por software, hardware, información, personal, procedimientos y medios. Es utilizado<strong>de</strong> manera integrada con otros mo<strong>de</strong>los <strong>de</strong> ingeniería <strong>de</strong> análisis <strong>de</strong> sistemas.100


GLOSARIO DE SIGLAS Y TÉRMINOSUML (Unified Mo<strong>de</strong>ling Language): Lenguaje Unificado <strong>de</strong> Mo<strong>de</strong><strong>la</strong>do <strong>para</strong> propósito generalformado por un conjunto <strong>de</strong> notaciones y diagramas estándares utilizado <strong>para</strong> el mo<strong>de</strong><strong>la</strong>do <strong>de</strong>proyectos o sistemas complejos orientados a objetos.Unico<strong>de</strong>: Codificación estandarizada <strong>de</strong> caracteres <strong>de</strong> <strong>la</strong> industria <strong>de</strong> <strong>la</strong> computación quepermite a <strong>la</strong>s computadoras representar y manipu<strong>la</strong>r texto en <strong>la</strong> mayoría <strong>de</strong> los idiomas <strong>de</strong>lmundo.URL (Uniform Resource Locator): Dirección Global <strong>de</strong> Documentos. Es una secuencia <strong>de</strong>caracteres <strong>de</strong> formato estándar utilizada <strong>para</strong> localizar recursos, como documentos eimágenes, en Internet.XML (Extensible Markup Language): Lenguaje <strong>de</strong> Marcas Extensible. Es un Metalenguajeestandarizado por el W3C <strong>para</strong> formatear datos, en otras pa<strong>la</strong>bras, un lenguaje <strong>de</strong> metamarcado que ofrece un formato <strong>para</strong> <strong>la</strong> <strong>de</strong>scripción <strong>de</strong> datos estructurados. Es una formaflexible <strong>de</strong> crear formatos <strong>de</strong> información y compartir tanto el formato como los datos enInternet y otras re<strong>de</strong>s.W3C (World Wi<strong>de</strong> Web Consortium): Consorcio internacional que encabeza y rige <strong>la</strong>s normasy estándares <strong>de</strong>finidos en pos <strong>de</strong> una mayor interoperabilidad e intercambio a través <strong>de</strong> Internety <strong>la</strong> Web en general.101


ANEXOSAnexo 1. Existencia numerosa <strong>de</strong> herramientas <strong>para</strong> reportes [19] .PropietarioHerramientas- Report Sharp-Shooter 3.6- Report Sharp-Shooter 3.7- Report Sharp-Shooter Express 3.5- IntelliVIEW Designer 3.6.2- IntelliVIEW Report Analyzer 3.6.2- IntelliVIEW suite 3.6.2- Telerik Reporting Q2 2007- Xtreme ReportControl 2007 Vol 2- SpreadsheetGear for .NET 2007 V3.1- Aspose.BarCo<strong>de</strong> for Reporting Services V1.1- Aspose.Cells for .NET V4.4- Aspose.Cells for Reporting Services 1.0.0.0- Aspose.Pdf for Reporting Services V1.0- Aspose.Sli<strong>de</strong>s for Reporting Services 1.0.0.0- Aspose.Words for .NET V4.4.2- Aspose.Words for Reporting Services V2.0.1.0- TextDynamic V1.38- WPTools V5.35.1- WPTools V5.22- Izenda Ad Hoc V5.0- ActiveReports V2.4.1- ActiveReports for .NET 3.0 V5.2.3.068- Data Dynamics Reports 1.0.33.0I


ANEXOS- XtraPivotGrid Suite 2007.2.4- XtraReports Suite 2007.3.5- Essential Grouping 2008 Vol 1- CrossCompass Query and Reporting 3.9- DynamicPDF Generator for COM/ActiveX V4.0- DynamicPDF Generator C<strong>la</strong>ssic V2.6b- DynamicPDF Generator for .NET V4.0.3- DynamicPDF Generator for Java V4.0.3- DynamicPDF Merger for .NET V4.0.3- DynamicPDF Merger for Java V4.0.3- DynamicPDF ReportWriter V1.6- dbQwikReport V1.1- DBxtra 2005 SP1- Report Miner V4.0.10- eDocEngine VCL V2.5- StimulReport.Net 2007.2- Stimulsoft Reports.Net 2007.3- Visual Reports V2.2- Visual Reports for .NET 1.0- CRChart V3.1Three D Graphics, Inc.- GemBox.Spreadsheet V2.9II


ANEXOS- RReport Visual Buil<strong>de</strong>r (Java Edition) 2.6- Flexcel Studio for .NET V4.0.0.3- PrintForm for .NET V2.1.0.10Elixir Technology - Elixir Dashboard 7.1.2- Elixir Repertoire 7.1.2- Elixir Report 7.1.2Software Forces, LLC - .rpt Inspector Enterprise Suite V3.1- .rpt Inspector Professional Suite V3.0LogiXML- LGX Ad Hoc Report Buil<strong>de</strong>r V8.2.12Epsilon Logic Systems, Inc. - ELS-Script® Web Report Tool V3.0Anexo 2. Noveda<strong>de</strong>s <strong>de</strong> Reportes <strong>de</strong> Pentaho [68] .III


ANEXOSAnexo 3. Formato Genérico <strong>de</strong> una P<strong>la</strong>ntil<strong>la</strong> <strong>de</strong> Reporte.Banda <strong>de</strong> Título <strong>de</strong>l ReporteBanda <strong>de</strong> Encabezamiento <strong>de</strong> PáginaBandas <strong>de</strong> Encabezamiento <strong>de</strong> GrupoBandas <strong>de</strong> Encabezamiento <strong>de</strong> ColumnasBanda <strong>de</strong> DetalleBanda <strong>de</strong> ResumenBandas Pie <strong>de</strong> ColumnasBandas <strong>de</strong> Pie <strong>de</strong> GrupoBanda <strong>de</strong> Pie <strong>de</strong> PáginaBanda <strong>de</strong>l Pie <strong>de</strong>l ReporteIV


ANEXOSAnexo 4. Reporte Informático <strong>de</strong>finido con criterios <strong>de</strong> Agrupamiento.V


ANEXOSAnexo 5. Reporte Informático con inclusión <strong>de</strong> Gráficos.VI


ANEXOSAnexo 6. Variada Atención <strong>de</strong> Pentaho al Área <strong>de</strong> los Reportes [68] .Anexo 7. P<strong>la</strong>nil<strong>la</strong>s <strong>de</strong> Encuestas <strong>para</strong> Clientes <strong>de</strong> <strong>Sistema</strong>s <strong>de</strong> Reportes.VII


ANEXOSVIII


ANEXOSIX


ANEXOSAnexo 8. Re<strong>la</strong>ción entre Objetos <strong>de</strong>l Diseñador <strong>de</strong> Reportes <strong>de</strong>l SQL Server [56] .Ficheros que componen el mo<strong>de</strong>lo <strong>de</strong> un reporteObjetos semánticos <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> un reporteX


ANEXOSObjetos semánticos y objetos <strong>de</strong> vistas <strong>de</strong> fuentes <strong>de</strong> datos (DSV)Objetos <strong>de</strong> expresión <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> reportesObjetos <strong>de</strong> consultas <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong>l reporteXI


ANEXOSXII


ANEXOSAnexo 9. Re<strong>la</strong>ción entre Objetos en el RDL <strong>para</strong> Reportes <strong>de</strong> SQL Server [57] .Definición <strong>de</strong>l diseño <strong>de</strong>l reporteElementos <strong>de</strong> datos <strong>de</strong> tab<strong>la</strong>s <strong>de</strong>l reporteXIII


ANEXOSElementos <strong>de</strong> tab<strong>la</strong>s <strong>de</strong>l reporteXIV


ANEXOSElementos <strong>de</strong> gráficos <strong>de</strong>l reporteXV


ANEXOSOtros elementos <strong>de</strong>l reporteXVI


ANEXOSElementos <strong>de</strong> datos <strong>de</strong>l reporteXVII


ANEXOSAnexo 10. Com<strong>para</strong>ción <strong>de</strong> Frameworks <strong>de</strong> Reportes <strong>de</strong> Código Abierto [43] .Framework BIRT Jasper PentahoVersion 2.1.0 1.2.6 1.2.RC1Report DesignerWYSIWYG editor Yes Yes YesFat clientEclipse plug-in Yes Yes (JasperAssistant) YesStandalone JavaapplicationYes Yes (iReport) YesHTML client No No NoPalette Yes Yes YesData Explorer Yes Yes YesProperty Editor Yes Yes YesChart Buil<strong>de</strong>r Yes Yes YesReport preview Yes Yes YesScript Editor Yes Yes NoOutline Yes Yes YesExpression Buil<strong>de</strong>r Yes Yes YesReusabilityReport temp<strong>la</strong>tes Yes Yes YesReport element libraries Yes Yes YesLibrary Explorer Yes Yes YesReport Items Yes No NoData Sources Yes Yes YesStyles Yes Yes YesScripts Yes No NoSub-reports Yes Yes NoCrosstab No Yes NoCompiled report <strong>de</strong>finition No Yes NoParameterized reports Yes Yes YesData SourceSupported typesJDBC Yes Yes YesXML Yes Yes YesPOJO Yes Yes YesF<strong>la</strong>t file Yes No NoScripted Yes No NoXVIII


ANEXOSEJB No Yes NoHibernate No Yes YesOLAPMDXMondrian No Yes YesConnection pool supportIn <strong>de</strong>signer Yes (JNDI) No Yes (JNDI)Programmatically Yes Yes YesData SetQuery buil<strong>de</strong>r Yes Yes YesData preview Yes Yes YesJoined Data Set Yes No NoCustomizationComputed fields Yes No NoParameterized SQLstring (any part)built-in system<strong>para</strong>metersUser-<strong>de</strong>fined context<strong>para</strong>metersFormattingNo Yes NoNo Yes NoYes Yes NoConditional Formatting Yes No YesConditional Visibility Yes No NoValue Mapping Yes No NoHighlighting Yes No YesProject ManagementEclipse project Yes No NoEclipse CVS support Yes No NoInteractive reportsHyperlinking (in ReportDesigner)ChartsChart Types (in ReportDesigner)Yes Yes NoPie (3D) Yes, No Yes, Yes Yes(Stacked) Bar (3D) Yes, Yes, Yes Yes, Yes, Yes YesLine (3D) Yes, Yes Yes, No YesArea (3D) Yes, Yes Yes, No YesXIX


ANEXOSScatter Yes Yes NoBubble Yes Yes NoTime Series No Yes NoMeter Yes No NoStockHigh Low OpenClose/Bar-stickYes Yes NoCandle-stick Yes Yes NoInteractive charts (inReport Designer)Hyperlinking Yes Yes NoLocalizationStrings in the report<strong>de</strong>finitionResource bundle Yes Yes YesLocale-aware dataformattingDeploymentReport Viewer for WebapplicationReport Viewer forStandalone Java applicationLicenseReport <strong>de</strong>signerReport engineSupport and <strong>de</strong>velopmentCommercial support and<strong>de</strong>velopmentOnline supportactive community ofusersDocumentationTutorialYes No NoYes Yes NoEclipse PublicLicense Version 1.0("EPL").Eclipse PublicLicense Version 1.0("EPL").GPL/CommercialLGPLMozil<strong>la</strong> PublicLicenseLGPLYes (Actuate) Yes (JasperSoft) Yes (Pentaho)Yes Yes YesYes (Very goodtutorial)Yes (outdated orcommercial)Cheat Sheets Yes No NoIntegrationYesXX


ANEXOSReport DesignerStandalone JavaapplicationYes Yes YesEclipse plug-in Yes Yes YesDesign Engine API Yes No NoReport Engine API Yes Yes YesCharting Engine API Yes Yes YesReport Viewer Yes No NoPerformance No No NoExtensibilityCustom Data Accessruntime component forgetting the datacustom <strong>de</strong>sign-time UIfor building a custom queryYes Yes YesYes No NoCustom Report Items Yes Yes YesCustom Chart Types Yes Yes YesScriptingEvent handlingJavaScript Yes No NoJava Yes Yes NoGroovy No Yes NoExpressionsJavaScript Yes No NoJava No Yes NoGroovy No Yes NoOutput formatsHTML Yes Yes YesPaginated HTML Yes No NoPDF Yes Yes YesXLS No Yes YesCSV Yes Yes NoCustom converter Yes No NoRTF No Yes YesTXT No Yes YesXML No Yes NoXXI

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

Saved successfully!

Ooh no, something went wrong!