• No se han encontrado resultados

Módulo de Reportes para el Sistema Biofasis®

N/A
N/A
Protected

Academic year: 2020

Share "Módulo de Reportes para el Sistema Biofasis®"

Copied!
70
0
0

Texto completo

(1)Universidad Central “Marta Abreu” de Las Villas. Facultad Matemática, Física y Computación Licenciatura en Ciencia de la Computación. Trabajo de Diploma Título: Módulo de Reportes para el Sistema Biofasis® Autor: Lemay Espinosa Betancourt Tutor: Lic. Alain Álvarez Chávez Departamento: DPS “Año del 50 aniversario del triunfo de la revolución” 2008-2009.

(2) Dictamen. Hago constar que el presente trabajo fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad. Firma del autor:. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del tutor:. Firma del jefe del Laboratorio:. II.

(3) Pensamiento. Pensamiento Un hombre de genio no se equivoca. Sus errores son los umbrales del descubrimiento. James Joyce. III.

(4) Dedicatoria. Dedicatoria Dedico este trabajo de diploma de manera muy especial a mi abuelo Rafael donde quiera que esté estoy seguro que se sentiría muy orgulloso de verme realizado. A mis padres por ser quienes me han educado y formado durante todos estos años y me han inculcado todo el amor de sí.. IV.

(5) Agradecimientos. Agradecimientos Agradezco a mi madre por ser la mejor del mundo y por su magnífico apoyo en cada momento de mi carrera y de mi vida en general. Agradezco a mi padre, por haberme educado en la vía correcta y por su apoyo constante en cada momento de mi vida. A mi familia de forma general especialmente a mi tía Maritza por su preocupación y apoyo moralmente. A mi novia por su preocupación constante y confiar en mí en cada momento. A todos mis amigos personas especiales, gracias por sus ayudas y preocupaciones. A todas aquellas personas que de una forma u otra han colaborado en la realización de este trabajo de diploma.. V.

(6) Resumen. Resumen El presente trabajo de diploma expone las principales características del proceso productivo de una biofábrica. Específicamente se adentra en la realización de reportes relacionados con el proceso de producción de la biofábrica. Se establece un sistema manejador de reportes para la biofábrica del Instituto de Biotecnología de las Plantas (IBP), siendo este extensible a cualquier centro de este tipo. Se describe la solución a este problema mediante una exposición de la arquitectura y los principales momentos de la implementación, obteniendo un sistema automático para la manipulación de los reportes que se integra eficientemente con el sistema Biofasis®. Se desarrollo un sistema manejador de reportes con la funcionalidad de crear todo tipo de reportes relacionados con el proceso de producción, así de esta forma hacer el trabajo más cómodo y más controlado para los trabajadores de dicha institución.. VI.

(7) Abstract. Abstract This diploma work describes the main features of the production process of a biofábrica. Specifically in the conduct of reports related to the production process. Establishing a management system for reporting biofábrica Institute of Plant Biotechnology (IBP), this is extensible to any institution of this kind. We describe the solution to this problem through an exhibition of architecture and the main stage of implementation, resulting in the automatic system for handling reports that efficiently integrates with the system Biofasis®. We developed a management system with reporting functionality to create all kinds of reports related biofábrica this way and make work more comfortable and more controlled for the workers of that institution.. VII.

(8) Indice. Índice Pensamiento ................................................................................................................... III Dedicatoria ......................................................................................................................IV Agradecimientos ............................................................................................................... V Resumen ..........................................................................................................................VI Abstract .......................................................................................................................... VII Índice ........................................................................................................................... VIII Introducción ...................................................................................................................... 1 Planteamiento del problema ........................................................................................ 2 Objetivo General ............................................................................................................ 2 Objetivos Específicos .................................................................................................. 3 Estructura .................................................................................................................... 3 Capítulo 1. Estado del arte............................................................................................... 4 1.1 Introducción ........................................................................................................... 4 1.2 ¿Qué es una Biofábrica? ........................................................................................ 4 Objetivos de una Biofábrica. ....................................................................................... 5 1.3 Biofábricas en Cuba ............................................................................................... 6 1.4 El proceso de una biofábrica .................................................................................. 6 Proceso Productivo (Fases) ......................................................................................... 6 1.5 Manejadores de reportes ........................................................................................ 7 BIRT ............................................................................................................................ 7 Crystal Reports ............................................................................................................ 8 Agata Report ............................................................................................................... 9 JasperReport .............................................................................................................. 10 1.6 Motores de plantillas ............................................................................................ 11 Biblioteca PHPLib clase template:............................................................................ 11 Smarty ....................................................................................................................... 12 Noktemplate .............................................................................................................. 13 1.7 Estructuras de sistemas Web................................................................................ 14 1.8 Reportes ............................................................................................................... 19 Actual proceso de realización de reportes en el IBP ................................................. 19 Conclusión................................................................................................................. 19 Capítulo 2. Generalidades de la modelación e implementación del sistema ............ 20 2.1 Introducción ............................................................................................................ 20 2.2 Entorno Web ........................................................................................................... 20 Ventajas de un sistema Web. .................................................................................... 21 2.3 Herramientas utilizadas, valoración objetiva ......................................................... 21 Funcionamiento de JasperReport .............................................................................. 21 Funcionamiento de iReport ....................................................................................... 24 2.4 Lenguaje de Desarrollo........................................................................................... 24 ¿Por qué PHP?........................................................................................................... 24 Sistema de Bases de Datos: MySQL® ...................................................................... 27 Plataforma de Trabajo: Biblioteca PHPLib............................................................... 27 2.5 Solución Biofasis® Reportes.................................................................................. 29. VIII.

(9) Indice. Arquitectura multicapas ............................................................................................ 29 Componentes de interfaz de usuario: ........................................................................ 30 Componentes de Negocio: ........................................................................................ 30 Componente lógico de acceso a datos: ...................................................................... 30 Bases de Datos y Sistema de Archivos ..................................................................... 31 Uso de la biblioteca PHPLib ..................................................................................... 32 Funcionalidades del negocio ..................................................................................... 32 Capa visual ................................................................................................................ 32 Planteamiento de la arquitectura de los reportes ....................................................... 33 2.6 Modelación del sistema .......................................................................................... 33 2.6.1 Casos de Uso .................................................................................................... 34 Caso de uso general ................................................................................................... 34 Caso de uso 1: Visualizar reporte.............................................................................. 34 Caso de uso 2: Deshabilitar reporte .......................................................................... 34 Caso de uso 3: Eliminar reporte ................................................................................ 35 Caso de uso 4: Adicionar reporte .............................................................................. 35 Caso de Uso 5: Actualizar reporte ............................................................................ 35 2.6.2 Diagramas de actividad .................................................................................... 36 Adicionar reporte: ..................................................................................................... 36 Actualizar reporte: ..................................................................................................... 38 2.6.3 Diagrama de navegación .................................................................................. 38 2.6.4 Diagramas de secuencia ................................................................................... 40 Adicionar reporte: ..................................................................................................... 40 2.6.5 Diagrama de clases ........................................................................................... 40 Reportes..................................................................................................................... 41 Reportes administración ............................................................................................ 41 Capítulo 3. Manual de usuario ..................................................................................... 42 3.1 Aplicación cliente ................................................................................................... 42 Visualizar Reporte ..................................................................................................... 43 3.2 Aplicación de Administración ................................................................................ 44 Adicionar Reporte: .................................................................................................... 45 Eliminar reporte: ....................................................................................................... 47 Deshabilitar reporte: .................................................................................................. 47 Actualizar reporte: ..................................................................................................... 48 Capítulo 4. Manual del desarrollador .......................................................................... 50 Forma de instalación para Windows: ........................................................................ 50 Forma de instalación para Linux ............................................................................... 52 Conclusiones ................................................................................................................... 58 Recomendaciones ............................................................................................................ 59 Bibliografía ..................................................................................................................... 60. IX.

(10) Introducción. Introducción El cultivo de tejidos representa una de las técnicas más novedosas de la Biotecnología en la actualidad utilizada para la Micropropagación Masiva Comercial de plantas in Vitro. Este punto dentro de “La Ciencia” es importante no solo porque es el área de la Biotecnología que tiene mayor aplicación práctica en la agricultura, sino porque, constituye en efecto, un puente necesario para llevar a cabo las manipulaciones genéticas desde el laboratorio hasta el campo. El desempeño de las Empresas dedicadas a la Micropropagación Comercial de Cultivos In Vitro, como sustento a los programas de mejoramiento genético de los diferentes cultivos, está dado por la introducción y el traspaso de las producciones por diferentes fases en las cuales se realizan las operaciones fundamentales y que complementan un proceso productivo bien establecido. Las fases se llevan a cabo en condiciones controladas y de total asepsia y donde se emplean medios de cultivo artificiales para obtener un elevado coeficiente de multiplicación y plantas libres de enfermedades. La producción de vitroplantas a nivel mundial en estos años ha alcanzado un desarrollo elevado. Se produce ya sea en los grandes laboratorios como en pequeñas instalaciones, en casas e invernaderos, con medios sofisticados. Esta rama de la biotecnología, que se encarga de la multiplicación (ya sea por micropropagación o por otras técnicas) de plantas (entiéndase del reino vegetal) de importancia económica o medioambiental, reviste amplia significación y una gran atención por parte de los gobiernos e instituciones de todo el mundo. Mucho auge ha tomado esta tecnología desde los años 70 y en la actualidad, dándose especial atención a los problemas económicos y medioambientales. Cuba marcha a la punta en la región del Caribe. Desde su introducción en 1988 hasta la fecha, nuestro país ha producido unos 100 millones de vitroplantas de alta calidad fundamentalmente dirigidas hacia la producción económica (AIN, 06). La producción de vitroplantas no es el único objetivo de las biofábricas cubanas. La investigación y obtención de variedades más resistentes también hace que nuestro país sea líder en este campo. La mejora de cultivos como la piña, el plátano, la caña de azúcar y la papa, sitúa 1.

(11) Introducción. a Cuba entre los exportadores de tecnología a países como Etiopía, Brasil, Colombia y Argentina. El Instituto de Biotecnología de las Plantas (IBP), de la Universidad Central “Marta Abreu” de Las Villas, por los resultados que ha obtenido en los procesos productivos y en algunas ramas de investigación, se sitúa a la punta de las biofábricas cubanas. Planteamiento del problema Actualmente se cuenta con un sistema de producción apoyado en el uso de una solución informática integradora Biofasis® la cual es en efecto, una solución computacional distribuida que facilita tanto la gestión de la información dentro y fuera de las empresas dedicadas al cultivo de tejidos, como el apoyo a los procesos productivos y a la planificación de la producción en si misma, el problema es que el sistema Biofasis® no cuenta con un módulo para la manipulación y generación de reportes , siendo procesados los datos por especialistas, ocupando mayor cantidad de tiempo y siendo propenso el error humano. Esta situación fue planteada a la Dirección de Producción de Software (DPS) de la Universidad Central “Marta Abreu” de Las Villas. Especialistas del departamento que conforman el grupo Argos® han propuesto una solución. Bajo un análisis de las condiciones y los requisitos de negocio, se pretende desarrollar la solución Biofasis® Reportes, un sistema informático, que procese la información de los procesos de una biofábrica de forma integradora y emita reportes dinámicos de los mismos.. Objetivo General El objetivo general de este trabajo de diploma, consiste en obtener una solución informática, capaz de administrar y procesar la información necesaria para generar reportes dinámicamente del proceso de una biofábrica, además de desarrollar una arquitectura para la creación de nuevos reportes dentro del sistema.. 2.

(12) Introducción. Objetivos Específicos . Identificar una herramienta para la realización de los reportes. . Integrar la herramienta seleccionada con el mismo lenguaje de desarrollo del sistema Biofasis®. . Identificar las funcionalidades del administrador del sistema. . Definir una arquitectura para la realización de nuevos reportes. . Implementar las interfaces Web de forma sencilla y eficiente.. . Diseñar e implementar una primera versión del módulo. Estructura Este trabajo de diploma esta estructurado en 4 capítulos con objetivos bien definidos cada uno. Capítulo 1. Estado del arte. Pretende dar una visión general de cuales son los objetivos, funcionamiento, y alcance de una biofábrica, se hace un análisis detallado de los diferentes manejadores de reportes, motores de plantillas y estructuras de sistemas Web que existen en Internet para su selección y fundamentación.. Capítulo 2. Generalidades de la modelación e implementación del sistema. En este capítulo se exponen las tecnologías y herramientas a utilizar. También se describe la arquitectura desarrollada y el análisis de la solución.. Capítulo 3. Manual de usuario de Biofasis® Reportes. En este capítulo se explica detalladamente, los manuales de usuario para los clientes y los administradores del sistema.. Capítulo 4. Manual del desarrollador. En este capítulo se explica detalladamente el manual del desarrollador.. 3.

(13) Capítulo 1. Estado del arte. Capítulo 1. Estado del arte En este capítulo se da una visión general de las biofábricas especialmente en Cuba. Se exponen sus principales objetivos, funcionamiento y alcance. Adentrándonos en el sistema de reportes, valorando distintas soluciones informáticas para el problema de generación de reportes.. 1.1. Introducción. A nivel mundial se ha experimentado un auge de las biotecnologías en beneficio de la economía. Países como Estados Unidos de Norteamérica, México, Argentina, Brasil y Holanda, llevan el liderazgo de la producción mundial de material biológico a partir de biotecnologías de propagación. Biofábricas de diversas proporciones y con diversas tecnologías se han desarrollado en el mundo, como punto de ventaja en la economía. La producción de material in Vitro ha aumentado vertiginosamente, siendo las más segura, barata y de mejores y mayores rendimientos.. 1.2 ¿Qué es una Biofábrica? Biofábrica es el centro de producción masiva de plantas y semillas de calidad cercana a la excelencia, tanto fenotípica como genotípicamente, obtenidas para un objetivo concreto: lograr la propagación de estas características y/o aumentar la producción y calidad de los cultivos (Bio, 08). La producción de material vegetal in Vitro es la micromultiplicación de plantas a partir de progenitores especialmente seleccionados, micromultiplicación que se lleva a cabo bajo condiciones de máxima asepsia en laboratorios, con medios de cultivo y nutrientes, en recipientes de vidrio o similares, siempre extremadamente estériles. Estas medidas y condiciones de esterilidad prevén una contaminación de la vitroplanta en cualquiera de los estados por los que cruza.. 4.

(14) Capítulo 1. Estado del arte. Las biofábricas se capacitan para mantener una o varias líneas de producción de vitroplantas. Téngase entonces en cuenta, que estas biofábricas, son centros especializados, que se rigen por normas internacionales y patrones de calidad estándares. Las diferentes técnicas de propagación en una Biofábrica surgen como una alternativa real y novedosa para solucionar algunos problemas de gran importancia en la reforestación y agricultura moderna, y que muchos de los viveros tradicionales no pueden cumplir, ya sea porque producen material vegetal sin calidad certificada, o con tecnologías tradicionales (artesanales) poco eficientes, mano de obra no calificada y volúmenes de producción bajos que significan altos costos y baja productividad. La investigación para la mejora biológica del material vegetal, se ha convertido en estos años, en otra de las metas de las biofábricas, buscando resistencia a agentes externos, ya sean meteorológicos o biológicos. (Kan, 05). Objetivos de una Biofábrica. Las biofábricas surgen como una necesidad, y para cumplir una labor específica. Tiempo después se logran avances en el campo de la investigación. Sus principales objetivos, entre muchos son: Lograr una producción de plántulas y semillas altamente mejoradas y certificadas por normas internacionales. Mejoramiento genético mediante la clonación, pruebas de progenie y manejos científicos de cada planta. Producir masivamente plántulas de buen fenotipo, libre de enfermedades, en especial viral y bacteriana. Lograr producir en cualquier época del año, los cultivos que se requieran en la economía. (Kan, 05). 5.

(15) Capítulo 1. Estado del arte. 1.3 Biofábricas en Cuba El primer laboratorio de propagación vegetal de Cuba nació en 1987. Por su trabajo multiplicando especies para comercializarlas se hizo popular con el nombre de Biofábrica. En nuestro país la producción y distribución de semillas mejoradas constituye uno de los principales puntos de apoyo de la Agricultura. El Ministerio de Agricultura, a través de las Instituciones Científicas y de Producción, garantiza la cantidad y calidad de las semillas en los cultivos esenciales de la economía cubana. Además, incentiva la producción nacional de aquellas semillas que pertenecen a cultivos básicos y que por distintas razones aun son importadas. En la actualidad el país gasta cada año más de 10 millones de dólares en la importación de semillas, por ejemplo de papa. En tal sentido, y con el objetivo de independizar la importación de las semillas, se ha creado un sistema de 15 biofábricas con capacidad para producir anualmente 60 millones de plántulas in vitro y semillas artificiales. Una cantidad similar, estiman los especialistas cubanos, a la que se puede producir en un país desarrollado como Holanda. Para la actividad de Biotecnología Agropecuaria el país ha creado un grupo nacional que, dirigido desde el Centro de Ingeniería Genética y Biotecnología (CIGB), se encarga de orientar y apoyar con personal y/o recursos financieros los trabajos que realizan equipos de científicos desde diferentes centros del país (Puj, 01).. 1.4 El proceso de una biofábrica Una biofábrica funciona como un todo. Compuesta por varios órganos, cada uno tiene una funcionalidad específica, que hace que otros funcionen adecuadamente. Estos órganos son los distintos momentos y áreas de la biofábrica, que conforman el proceso de la misma.. Proceso Productivo (Fases) El proceso productivo de una biofábrica se estructura en fases. El material vegetal cuidadosamente seleccionado, que servirá como semilla de reproducción, se obtiene en la primera fase del proceso. Este material va pasando de fase en fase, ya sea para. 6.

(16) Capítulo 1. Estado del arte. esterilizar, micropropagar, crecer, estabilizar la vitroplanta y por último, aclimatar la planta obtenida, bajo las futuras condiciones a las que tendrá que enfrentarse en el campo de cultivo. Por supuesto que estas fases pueden cambiar, y de hecho, las investigaciones avanzan para hacer mejoras significativas en este proceso, a fin de obtener mayores y mejores resultados en esta área.. 1.5 Manejadores de reportes Habiendo ya identificado el proceso a realizar, se procedió a buscar en Internet fuentes de documentación del caso. El objetivo primordial de la búsqueda fue encontrar un manejador de reporte que se adaptara a los objetivos y requerimientos que necesitábamos para nuestra solución. Principalmente, necesitábamos de una herramienta sobre código libre que nos permitiera realizar reportes del proceso de producción de la biofábrica, y que fuera capaz de en cada momento generar el reporte en formato pdf. Usando la herramienta de búsqueda Google® (http://www.google.com.cu) encontramos registro de varias soluciones a este problema. También nos dirigimos directamente a SourceForge.net (http://sourceforge.net), un sitio de repositorio de proyectos de software libre.. BIRT BIRT es un sistema de generación de informes basado en Eclipse. Es open source y puede. integrarse. con. aplicaciones. Java. y. J2EE.. El beneficio de usar BIRT es que se puede exportar a múltiples formatos diseñando una vez el reporte, además es mucho más sencillo el construir el reporte. Business Intelligence and Reporting Tools, es un software que diagrama el reporte de forma agradable, con una interfaz rica y fácil de usar para el diseño del reporte, funciona en dos modos:. 7.

(17) Capítulo 1. Estado del arte. 1. El diseñador (birt-designer): una interfaz visual para Eclipse el cual se tiene varias similitudes con Dreamweaver. Pinchando y arrastrando objetos, vas dibujando el reporte deseado. Aquí se establecen conexiones a BD, SQL, parámetros, scripts, etc. y todo queda en un archivo XML con extensión .rptdesign. 2. El visualizador (birt-viewer): funciona bajo un servidor de servlets o paginas jsp como Apache Tomcat. Este toma en tiempo de ejecución el archivo .rptdesign y lo muestra en varios formatos: html, pdf, cvs, excel. Este puede trabajar perfectamente con cualquier otro lenguaje, digamos php, y sólo has de llamar a una URL para que esta haga el trabajo de crear el reporte. El principal problema de este sistema para ser adaptado a nuestras exigencias es que: BIRT corre bajo el servidor Apache Tomcat y el diseñador del reporte en Eclipse y necesitamos una herramienta que se integre directamente con Apache y PHP solamente sin tener que instalar otro software para su ejecución. También existe mucha falta de documentación, depende de lo que se quiera hacer se podrá encontrar documentación o no, además está muy poco organizada.. Crystal Reports Brinda una funcionalidad integral para diseñar, explorar, visualizar y entregar reportes urgentes. Posee un tablero de parámetros, en el cual se pueden configurar parámetros sin necesidad de actualizar los datos utilizando el tablero de parámetros incluido en la interfaz de diseño de Crystal Reports, el visor .NET Winform, el visor .NET Webform y Crystal Reports Viewer. Recuse la cantidad de reportes que necesita mantener y los costos de tiempo de implementación permitiendo que un solo reporte se adapte a muchas necesidades. Presenta buena integración con Flash, se pueden realizar sorprendentes visualizaciones agregando a los reportes cuadros dinámicos, gráficos y archivos de video.. 8.

(18) Capítulo 1. Estado del arte. También tiene poderosas tablas de referencias cruzadas mediante las cuales se puede agregar información crucial para la empresa a sus reportes sin necesidad de usar códigos. Se pueden insertar resúmenes, variaciones y otros cálculos personalizados en la fila o la columna de una tabla de referencias cruzadas, lo cual puede ser especialmente beneficioso para los reportes financieros que se presentan en estructura de tabla. Genera y mantiene reportes con mayor rapidez gracias a la estructura tabular de las tablas de referencias cruzadas. Además tiene controlador de datos de servicios Web mejorado, el cual le permite ampliar su acceso a datos por medio de la Web. El nuevo controlador de datos ofrece un acceso Web adicional a los servicios Web al brindar soporte para la codificación RPC de mensajes SOAP, servidores Web con seguridad SSL y una compatibilidad de funcionamiento con el estándar de seguridad WS. Se adapta a los requisitos de registro personalizados, como las direcciones de correo electrónico o el usuario y la contraseña. Los desarrolladores pueden combinar la flexibilidad de los servicios XML y Web con el formateo y la visualización de reportes, a fin de entregar reportes que vinculen sus datos con sofisticadas aplicaciones Web híbridas de datos interactivos, como la integración con sistemas de asignación de terceros. El principal problema de esta herramienta para ser adaptada a nuestras exigencias es que: Primeramente Crystal Reports no es software libre, y estamos realizando el sistema de reportes bajo software libre, además esta herramienta para desarrollarla entorno Web se requiere tener instalado el Internet Information Server (IIS) no se puede integrar con el lenguaje de desarrollo PHP 5.1.4 ni con el servidor Web Apache utilizado en nuestro sistema.. Agata Report Agata Report es un conjunto de herramientas para sacar lo más sustantivo de las bases de datos. Parecido a Crystal Report pero en versión libre, permite extraer datos de. 9.

(19) Capítulo 1. Estado del arte. PostgreSQL, MySQL, Oracle, DB2, MS-SQL, Informix, InterBase, Sybase, o Frontbase y exportarlas a PostScript, texto, HTML, XML, PDF, o CSV. Entre otras funcionalidades interesantes, da la posibilidad de generar un completo diagrama ER en formato DIA, proporciona un módulo para crear gráficas en curvas o en bastones y permite cruzar informes con otras bases de datos. Además, el programa soporta parámetros temporales de ejecución (consulta estos valores antes de correr la aplicación). Agata Report es una herramienta adaptada a las necesidades de aquellos que manipulan datos con frecuencia. Con una interfaz intuitiva y disponible en Inglés, Portugués, Español, Italiano, Francés, Alemán y Sueco, permite su uso de cualquier persona con unas pocas nociones de SQL. Bajo licencia GNU, Agata Report funciona tanto para Linux como para Microsoft Windows. El principal problema de esta herramienta para ser adaptada a nuestras exigencias es que: En los cambios que ocurrieron en las librería PHP-GTK2, mas preciso las librerías GTK (widgets) ya que el proyecto Agata en el momento en el que se desarrolló utilizaba el control GTKCTree o GTKCList y otros controles que ahora están descontinuados en la actual GTK2, además el Glade utilizado para el diseño del reporte interfaz grafica era una de las primeras versiones completamente distinto a la estructura del XML actual. Quienes desarrollaron el Agata no han puesto más actualizaciones y el tiempo ha hecho que esta herramienta se haya muerto. Es por eso que muchas personas tienen problemas para instalarlo.. JasperReport El JasperReport es una librería para la generación de informes. Está escrita en java y es libre. El funcionamiento consiste en escribir un xml donde se recogen las particularidades del informe. Este xml lo tratan las clases del Jasper para obtener una salida. Esta salida puede ser un PDF, XML, HTML, CSV, XLS, RTF, TXT.. 10.

(20) Capítulo 1. Estado del arte. Para escribir el xml se utiliza el iReport que es un diseñador visual de código libre para JasperReports escrito en Java, para diseñar reportes visualmente. A través de una interfaz rica y simple de usar, iReport provee las funciones más importantes para crear reportes amenos en poco tiempo. IReport puede ayudar a las personas que no conocen la sintaxis XML para diseñar reportes de JasperReport. De las herramientas analizadas, JasperReport, es la más completa, Está avalado por diversos grupos de trabajo de software libre, siendo el recomendado para la realización de los reportes. Además se integra perfectamente con el lenguaje de desarrollo PHP 5.1.4, servidor Web Apache y el sistema de base de datos MySQL®.. 1.6 Motores de plantillas El objetivo primordial de la búsqueda fue encontrar un motor de plantillas que se adaptara a los objetivos y requerimientos del sistema y que a su vez fuera sencillo de utilizar.. Biblioteca PHPLib clase template: Una implementación de Templates, o plantillas HTML. Uno de los problemas fundamentales con lenguajes como PHP, donde se mezcla el código PHP con el código HTML, es que no está bien delimitado el campo del diseñador HTML y del programador y que el código resultante puede ser complejo de entender y por lo tanto, muy complicado de mantener. Esta clase permite separar el diseño de la programación de aplicaciones Web. Las ventajas del uso de la clase template de PHPLib son: . El uso de clases permite crear aplicaciones de manera rápida, reutilizando código que resulta de fácil mantención.. . Al separar el código PHP del código HTML, mediante el uso de plantillas, se permite que personas sin conocimientos de programación, como por ejemplo un. 11.

(21) Capítulo 1. Estado del arte. diseñador gráfico, pueda modificar la apariencia de un sitio de manera rápida y sin problemas.. Smarty Smarty es un motor de plantillas Open Source para PHP que lleva muchos años en el mercado. Con él podremos realizar aplicaciones Web de calidad separando el código (PHP) de la presentación (HTML/CSS). El lenguaje PHP es completamente abierto, en el sentido de que no requiere desarrollar en alguna arquitectura concreta, sino que un fichero puede contener un millón de líneas con código PHP y código HTML intercalados, lo cual tiene severas desventajas y problemas: . Un diseñador tendrá muy difícil manejar el código HTML/CSS de esa página.. . La escalabilidad es prácticamente nula.. . Mantener una aplicación así se complica progresivamente.. . La depuración de ese tipo de aplicaciones se hace muy complicada.. Pero podemos escribir aplicaciones PHP usando motores de plantillas que separan la presentación (HTML/CSS) del código (PHP), solventando de este modo todos esos problemas, y ofreciéndonos además multitud de ventajas adicionales. Este es el caso de Smarty, un motor de plantillas ya veterano en el mercado. Estas son las funcionalidades que podremos disfrutar con Smarty: . Plantillas limpias fáciles de usar por los diseñadores.. . Escalabilidad.. . Mantenimiento más sencillo (al igual que la escalabilidad, únicamente con la separación de código y presentación no se consigue un mantenimiento más sencillo, también se requerirá de una buena codificación).. . Depuración óptima del código, al tener ficheros pequeños únicamente con código PHP.. 12.

(22) Capítulo 1. Estado del arte. . Posibilidad de introducir comentarios dentro de las plantillas que no se enviarán al servidor. Ejemplo: {* comentario smarty *} en lugar de <!-- comentario HTML -->. . Funciones integradas que facilitan el tratamiento de variables. Ejemplos: {foreach}{/foreach}, {if}{else}{/if}.. . Funciones asistentes para generación de código HTML. Ejemplos: {html_image file=”banner.jpg”}. generaría <img src="banner.jpg" alt="" width="700". height="55" /> . Expandir Smarty con más funcionalidades mediante plugins.. Desventajas: Parece un lenguaje de programación más, entonces no separas mucho el código del diseño, sino que le añades código al diseño sería como aprender otro lenguaje de programación y su utilización puede resultar mas compleja.. Noktemplate Es una clase escrita en PHP, para manejar Templates. La cual se utiliza cuando se desea separar el diseño de la página de la aplicación misma, es decir el código php por un lado y el diseño HTML por otro. Esto generalmente se usa cuando son aplicaciones o sitios de gran complejidad y envergadura, permitiendo separar en grupos de trabajo a los programadores y diseñadores. Con la utilización de template la aplicación se torna mas genérica y reusable. Ventajas: . Independencia entre la aplicación y la interface. Lo recomendado en todo tipo de software.. . Puedes rediseñar tu sitio sin tener cambiar prácticamente nada de tu código.. . Las actualizaciones a tu sitio serán más fáciles de realizar. Solamente cambias el contenido y no el diseño.. 13.

(23) Capítulo 1. Estado del arte. . El mantenimiento del código es más fácil rápido. No tienes que preocuparte por el HTML. Desventajas: . Puede que programar utilizando Templates se torne un poco más pesado.. . El tiempo de procesamiento del Template puede hacer caer el rendimiento de tu sitio. La utilización de un sistema de caché puede solventar la perdida de rendimiento.. Finalmente nos decidimos a utilizar la clase template de PHPLib puesto que se adapta perfectamente para la separación del código html del diseñador y el código php del desarrollador, además es muy clara y sencilla su utilización.. 1.7 Estructuras de sistemas Web Las definiciones relacionadas con la forma que tendrá el sitio que se está desarrollando. Ello implicará trabajar en tres áreas concretas, a través de las cuales se definirá la estructura del sitio, el árbol de contenidos y los sistemas de navegación que se ofrecerá a los usuarios para que avancen a través de sus contenidos. Las tres etapas se explican a continuación: Creación de la estructura Se refiere al proceso de identificar la forma que tendrá el Sitio Web que se está desarrollando. En este sentido es importante hacer una diferencia entre estructura y diseño. Estructura: Se refiere a la forma que tendrá el Sitio Web en términos generales con sus secciones, funcionalidades y sistemas de navegación. No considera ni incluye elementos gráficos (logotipos, viñetas, etc.). Diseño:. 14.

(24) Capítulo 1. Estado del arte. Se refiere a la solución gráfica que se creará para el sitio, en la cual aparecen colores, logotipos, viñetas, y otros elementos de diseño que permiten identificar visualmente al sitio. Dado lo anterior, cuando hablamos de la estructura nos estamos refiriendo básicamente a cuál será la experiencia que tendrá un usuario cuando accede al sitio. De esta manera podremos determinar dónde estarán ubicados los servicios interactivos (buscador, sistemas de encuestas, áreas de contenidos). Gracias a la realización de esta etapa es posible discutir en términos muy prácticos cuál será la oferta de elementos de información e interacción que tendrá el usuario. Al no incluir elementos de diseño, se permite que la discusión sobre la estructura se desarrolle en aspectos concretos, sin que intervengan aún consideraciones estéticas que habitualmente atrasan la aprobación de esta etapa del desarrollo. Mapas permanentes del sitio Se refiere al proceso de crear un árbol de contenido en el que se muestre de manera práctica cuántas secciones tendrá el sitio en desarrollo y cuántos niveles habrá dentro de cada uno. Cuando se usa la idea de crear un árbol, se refiere exactamente a generar un diagrama que cuente con un tronco, ramas y hojas, para mostrar las zonas principales, secundarias y contenidos finales que se irán incorporando. En este sentido se debe evitar a toda costa que el árbol de contenidos represente la estructura de la organización, dado que ésta es conocida y comprendida internamente, pero constituye una barrera de entrada para usuarios externos. Si ellos llegan a buscar en una estructura de contenidos basada en la forma en que funciona la organización, primero deberán comprender cómo funciona la entidad para luego encontrar lo que les interesa. En este sentido se sugiere el uso de dos tipos de árboles posibles, Árbol Organizacional (Ver Fig. 1.7.1) y Árbol Funcional (Ver Fig. 1.7.2).. 15.

(25) Capítulo 1. Estado del arte. Fig.1.7.1 Árbol Organizacional: agrupa los contenidos de la manera como se organiza la institución, pero no basado en su estructura de funcionamiento, sino en su lógica de actividad.. Fig. 1.7.2 Árbol Funcional, agrupa los contenidos de acuerdo a las tareas que se puedan realizar dentro del sitio. Se recomienda para la generación de este árbol lo siguiente: Secciones: Se debe intentar que sean las menos posibles, con el fin de concentrar las acciones del usuario en pocas áreas; hay que considerar que cada una de las áreas a integrar en el árbol requerirá de mantenimiento posterior en contenidos, gráfica y funcionalidad, lo que encarecerá el costo final de operación del sitio. Dado lo anterior, se recomienda que las secciones se sitúen entre cinco y siete.. 16.

(26) Capítulo 1. Estado del arte. Niveles: Se debe intentar que el usuario esté siempre a menos de tres clicks del contenido que anda buscando. Por ello no se debería crear más de tres niveles de acceso; esto significa una Portada, una Portadilla de Sección y los contenidos propiamente tales. Definición de los sistemas de navegación Una vez que se cuenta con los árboles de contenido desarrollados en el paso anterior, la tarea siguiente consiste en generar los sistemas de acceso a dichos contenidos en el Sitio Web. A través de estos, los usuarios podrán avanzar por sus diferentes áreas, sin perderse. En la generación de dichos sistemas se debe atender a dos elementos que serán muy importantes: Textual: Se refiere a que la navegación se hará a través de elementos concretos, tales como menús, guías, botones y otros elementos que deben ser claramente distinguibles dentro de la interfaz. Para generarlos se debe conseguir que cada uno de ellos represente claramente la función para la que fueron designados y no dejar lugar a dudas sobre su función ni sobre la acción que desarrollarán al ser usados. Es decir, un botón debe parecer tal y no sólo un parche de color sobre la pantalla. Adicionalmente, es muy importante que las palabras escogidas para indicar acciones, sean claras y precisas. En este sentido, si un botón necesita ser explicado, es mejor desecharlo y buscar otra solución. Contextual: Es todo lo referido a cómo se presenta la información, utilizando para ellos elementos basados en texto, gráficos o bien de entorno. Los elementos relevantes en este caso, serán todos aquellos que permiten mostrar la navegación en la pantalla. Entre ellos, la gráfica utilizada, la redacción de los textos que se muestran e incluso el nombre del dominio (URL) que permitirá que el usuario sienta que está en el lugar indicado. Características de los sistemas de navegación. 17.

(27) Capítulo 1. Estado del arte. Al generar el sistema de navegación, se deben tener en cuenta las siguientes características: Consistente: El sistema debe ser similar en todo el sitio, en lo referido a su ubicación y disposición en las páginas. Esto se aplica también a aquellas instituciones que pueden tener más de un Sitio Web. Uniforme: El sistema debe utilizar similares términos con el fin de que el usuario que lo vea en las páginas, confíe en que sus opciones llevan siempre hacia los mismos lugares dentro del sitio. Visible: El sistema debe distinguirse claramente dentro del sitio, con el fin de que el usuario cuente con él, como si se tratara de una guía permanente en el área en que se encuentre del sitio. Se debe tener en cuenta que los buscadores de Internet tienen la capacidad de indexar e incluir en sus bases de datos, cualquier página del sitio, aún las más internas. Por ello, es de suma importancia que todas las páginas del sitio cuenten con el sistema de navegación, especialmente si el Sitio Web está desarrollado con frames (o marcos) que normalmente impiden que se indique claramente en cada página la información referida a la navegación general. De esta manera, si un usuario accede al sitio por una página interior que estaba indexada en un buscador, siempre contará con las herramientas adecuadas para ir a la portada o realizar cualquier otra acción que le interese. En general para la realización de un sitio Web no hay definida exactamente una estructura determinada, aunque si debe cumplir con todas estas características. Tomando en cuenta lo anteriormente expuesto se decidió que la estructura de nuestro sistema cumpla con las características mencionadas, aunque adaptando la estructura en carpetas a la arquitectura y a las exigencias del sistema.. 18.

(28) Capítulo 1. Estado del arte. 1.8. Reportes. El desarrollo de reportes dentro de una biofábrica es muy importante ya que en los mismos están involucrados todos los parámetros y medios que intervienen en el proceso de producción. El proceso productivo de una biofábrica se estructura en fases y dentro de cada una de ellas se involucran materiales y tecnologías usadas, cantidad de explantes, variedad de cultivos, entre otras no menos importantes. La realización de reportes estaría enfocada entonces en tomar los datos involucrados en las fases y generar reportes con los mismos, partiendo de la selección de los usuarios.. Actual proceso de realización de reportes en el IBP El proceso actual de realización de reportes en la biofábrica del IBP está restringido a una fase en específico dentro de la producción. Esto hace que todas las demás partes del proceso no influyan visiblemente en la realización de reportes. Además no se integra con el sistema Biofasis® que es el actualmente utilizado en el IBP. Esta forma de trabajo trae consigo una pérdida de enorme cantidad de información, pues todas las demás fases quedan fuera del control y del plan de la biofábrica. Además, no se sabe con exactitud las características de cada cultivo involucrado en las demás fases.. Conclusión Luego de haber realizado un análisis completo de los manejadores de reportes y motores de plantillas mediante el uso de internet y haber definido en el estado del arte de cada una de estas herramientas lo que se necesita, hemos llegado a la conclusión que para la realización de los reportes el que más se adecua a nuestras exigencias es el JasperReport e iReport para realizar los diseños de los reportes y como motor de plantillas la clase template de PHPLib por las facilidades que ofrece y por su fácil utilización.. 19.

(29) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. Capítulo 2. Generalidades de la modelación e implementación del sistema En este capítulo se exponen las razones para usar un sistema Web como soporte a la solución Biofasis® Reportes. Se justifica el uso de las herramientas, tecnologías, lenguajes de programación que se usan en el desarrollo del sistema y se plantea la necesidad de crear una arquitectura para el desarrollo de los reportes.. 2.1 Introducción Desde el nacimiento de Internet, el 2 de diciembre de 1969 (Col, 03). Los creadores de la red de redes nunca pudieron predecir el alcance que tendrían las incipientes conexiones que de forma experimental lograron un día. Desarrollo ulterior de las nuevas tecnologías de la información, trajeron consigo que miles de desarrolladores se propusieran usar para diversos fines Internet. Así surgieron herramientas, filosofías y arquitecturas para la red de redes. En este capítulo pretendemos dar una visión de la solución desarrollada incluyendo la arquitectura y las herramientas utilizadas, como parte de un sistema Web para la administración y generación de reportes.. 2.2 Entorno Web El sistema Biofasis® y dentro de él, Biofasis® Reportes, tiene objetivos bien definidos. Brindar ayuda al proceso productivo de una biofábrica. Entonces, primeramente, debemos saber como es una biofábrica por dentro, a rasgos generales, para dadas esas condiciones, crear un sistema capaz de cumplir sus objetivos. Primeramente, una biofábrica en un centro especializado, que puede ser de grandes dimensiones, y distribuido por un área relativamente extensa. Con condiciones de asepsia bien reguladas, debido a la necesidad de seguridad biológica. Por demás, circula una gran cantidad de información, de extremada sensibilidad y confidencialidad. Con estas características, podemos ver que nuestro sistema deberá extenderse en un área, por tanto, propagará sus datos por una red, además de que el sistema Biofasis® esta. 20.

(30) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. desarrollado en un ambiente Web. No debemos pasar por alto, que tenemos que brindar seguridad a los datos, y facilidades de manejo. Esto hace que se piense en un sistema Web.. Ventajas de un sistema Web. Un sistema Web usa para su difusión, una red de computadoras. Además, usando la tecnología de Cliente-Servidor, podemos centralizar la información, y hacer accesible la interfaz de nuestro sistema desde prácticamente cualquier lugar. Usando un sistema Web para la solución Biofasis® Reportes, lograremos posicionar nuestra solución en cualquier área de la biofábrica, logrando que haya poca movilidad del personal para usarla. Esto favorece las condiciones de asepsia. La información sensible, estará centralizada en el servidor, siendo más fácil su protección, y mantenimiento. Esto hará que no haya que mantener estaciones de trabajo independientes. Solo con el uso de un navegador de Internet en cada puesto, se logrará usar el sistema.. 2.3 Herramientas utilizadas, valoración objetiva La búsqueda de soluciones en Internet y en otras fuentes informativas fue amplia, los ejemplos descritos en el estado del arte son la parte más relevante de los resultados. Es por ello que las herramientas utilizadas en el sistema para la realización de los reportes son el JasperReport e iReport para el diseño de los reportes. El JasperReport es una librería para la generación de informes. Está escrita en java y es libre. El funcionamiento consiste en escribir un xml donde se recogen las particularidades del informe. Este xml lo tratan las clases del Jasper para obtener una salida. Esta salida puede ser un PDF, XML, HTML, CSV, XLS, RTF, TXT. (Vázquez, 06). Funcionamiento de JasperReport JasperReport trabaja de forma similar a un compilador y a un intérprete, (ver figura 2.3.1). El usuario diseña el reporte codificándolo en XML de acuerdo a las etiquetas y. 21.

(31) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. atributos definidos en un archivo llamado JasperReport.dtd (parte de JasperReport). Usando XML el usuario define completamente el reporte, describiendo donde colocar texto, imágenes, líneas, rectángulos, cómo adquirir los datos, como realizar ciertos cálculos para mostrar totales, etc. (Vázquez, 06). Figura 2.3.1 Método de trabajo del JasperReport Este archivo fuente XML debe ser compilado para obtener un reporte real. La versión compilada de la fuente es nombrada "archivo.jasper". Un Archivo jasper es el compilado de un código fuente. Cuando tenemos un archivo jasper, necesitamos otra cosa para producir un reporte: necesitamos datos ya sea de una base de datos o texto. Para proporcionar estos registros al “jasper engine” necesitamos presentarlos usando una interfaz especial específica llamada JRDataSource. Una fuente de datos + un Archivo jasper = un “archivo print”. Un “archivo print” puede exportarse en muchos formatos como PDF, HTML, RTF, XML, XLS, CVS, etc. La exportación se puede realizar utilizando clases especiales. para. implementar. (Vázquez, 06) Ejemplo de funcionamiento del JasperReport: 1. Carga del fichero .jrxml 22. exportadores específicos..

(32) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. $JasperDesign = $JRXmlLoader->load("$inputPaths"); 2. Definición de la consulta $JRDesignQuery->setText($query); $JasperDesign->setQuery($JRDesignQuery); 3. Compilando el fichero cargado $report = $compileManager->compileReport($JasperDesign); 4. Rellenar el reporte con datos: $jasperPrint. =. $fillManager->fillReport($report,. $params,. $Conn-. >getConnection()); 5. Obtener el pdf $exportManager->exportReportToPdfFile($jasperPrint, $outputPath); El iReport es un diseñador visual de código libre para JasperReports escrito en Java, ver figura 2.3.2. Es un programa que ayuda a los usuarios y desarrolladores que usan la librería JasperReports para diseñar reportes visualmente. A través de una interfaz rica y simple de usar, iReport provee las funciones más importantes para crear reportes amenos en poco tiempo. (Vázquez, 06). Figura 2.3.2 Forma de trabajo del iReport. 23.

(33) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. IReport puede ayudar a las personas que no conoce la sintaxis XML para diseñar reportes de JasperReports.. Funcionamiento de iReport IReport provee a los usuarios de JasperReports una interfaz visual para construir reportes, generar archivos “jasper” y “print” de prueba. IReport surgió como una herramienta de desarrollo, pero puede utilizarse como una herramienta de oficina para adquirir datos almacenados en una base de datos, sin pasar a través de alguna otra aplicación (Vázquez, 06).. 2.4 Lenguaje de Desarrollo Bajo todas las especificaciones antes expuestas, y valorando los diversos recursos con que contamos actualmente, nos decidimos a usar para desarrollar la solución Biofasis® Reportes, el lenguaje PHP (PHP Versión 5.1.4) ,usando PHP-Java-Bridge para poder realizar los reportes usando la herramienta JasperReport.. ¿Por qué PHP? En primer lugar, PHP es un lenguaje diseñado desde cero con el fin único de construir aplicaciones Web. Esto quiere decir que las tareas más habituales en el desarrollo de estas aplicaciones, pueden hacerse con PHP de forma fácil, rápida y efectiva. Otros lenguajes, como ASP (VBS), Perl o Java serán sin duda más completos y potentes, pero no fueron diseñados con este enfoque especializado. En segundo lugar, PHP resulta fácil de aprender para recién llegados al mundo de la programación. PHP es un lenguaje multiplataforma, y no propietario. Un script PHP normal puede ejecutarse sin cambiar ni una sola línea de código en cualquier servidor que interprete PHP, es decir, en servidores Windows, Linux etc. ASP, por contra, es un lenguaje propietario de Microsoft® y solo puede ejecutarse en servidores Microsoft®. Perl si puede ejecutarse bajo Windows y Unix, pero antes hay que realizar labores de adaptación de cada script al concreto sistema operativo.. 24.

(34) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. PHP esta en el entorno OpenSource. Esto quiere decir que en su desarrollo hay un proceso de colaboración que hace que se tengan inmediatamente disponibles, de forma gratuita, una enorme cantidad de recursos: el lenguaje en si, el servidor para ejecutarlo, manuales y tutoriales sin fin, y sobre todo scripts, que pueden ser descargados y usados en cuestión de minutos. Esta abundancia de código libremente disponible ayuda aun más en el proceso de aprendizaje. PHP combina excelentemente con otras inmejorables herramientas, como son el servidor Apache y la base de datos MySQL (o mSQL, o PosgreSQL), todas ellas gratuitas. PHP es la gran opción de desarrollo de aplicaciones Web porque el código de PHP se ejecuta sin cambios en una gran variedad de sistemas, cosas que no pueden decir otras herramientas como ASP de Microsoft® y en distintos servidores. PHP tiene muchas virtudes que lo han convertido en el lenguaje elegido de muchos desarrolladores. Podríamos resumir sus ventajas en la siguiente lista: . La facilidad de aprendizaje del lenguaje.. . La gran cantidad de funciones desarrolladas (PHP incorpora mas de 1000 funciones). . La amplia disponibilidad de secuencia de comandos regenerados en PHP. . La capacidad de incrustar código PHP en las páginas HTML. . El código fuente es abierto y gratuito. Quizás la característica más potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz vía Web para una base de datos es una tarea simple con PHP. Las siguientes bases de datos están soportadas actualmente: . Adabas D. . Ingres. . Oracle (OCI7 and OCI8). . dBase. 25.

(35) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. . InterBase. . PostgreSQL. . Empress. . FrontBase. . Solid. . FilePro. . MSQL. . Sybase. . IBM DB2. . MySQL. . Velocis. . Informix. . ODBC. . Unix dbm. PHP también tiene soporte para gran cantidad de estándares de red: LDAP, Corba, Calc, FTP, IMAP, POP3, NNTP, NIS, SMNP, HTTP y derivados. También se pueden abrir sockets de red directos (raw sockets) e interactuar con otros protocolos. Se integra perfectamente con la herramienta JasperReport que esta escrita en Java, mediante el uso del PHP-Java-Bridge para la realización de los reportes. Y además ofrece: . Soporte de Plantillas Dinámicas y Caché de Plantillas.. . Multiplataforma y multiservidor Web. . Soporte XML, WDDX, XSLT, DOM. . Extensa documentación. 26.

(36) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. . Soporte expresiones regulares (de perl, posix y propias).. . Generación on-the-fly de Imágenes, Flash y PDF.. . Con la última versión de PHP, también viene incorporado, además de todo lo anterior, el soporte de sesiones.. Sistema de Bases de Datos: MySQL® MySQL® se ha convertido en la más popular base de datos de código abierto del mundo, debido a su consistente rápido rendimiento, su alta fiabilidad y su facilidad de uso. Esta siendo usado en más de 8 millones de instalaciones, extendiéndose desde grandes corporaciones a aplicaciones especializadas ubicadas en cada continente en el mundo. No es solo MySQL® las mas popular base de datos del mundo, es también la base de datos por excelencia para una nueva generación de aplicaciones construidas en la pila de LAMP (Linux, Apache, MySQL, PHP / Perl / Python). MySQL® se ejecuta en mas de 20 plataformas, incluidas Linux, Windows, OS/X, HP-UX, AIX, Netware, dando la flexibilidad que permite su control. Tanto para usuarios no tan avanzados en la tecnología de bases de datos o como para experimentados desarrolladores de DBA, MySQL® ofrece una amplia gama de software certificado, soporte, entrenamiento y consultoría para hacer satisfactorio el uso de esta herramienta.. Plataforma de Trabajo: Biblioteca PHPLib PHPLib es marco de desarrollo de aplicaciones en PHP, que provee una vía orientada a objetos de fácil uso, para el manejo de sesiones, autenticación y permisos en la aplicación PHP en cuestión. PHPLib también contiene varias clases ayudantes, entre las que se destacan DB_sql, plantillas, formas HTML Orientadas a Objeto (OOH Forms) y Carrito de compras (Cart). Esta biblioteca provee ayuda para el desarrollo de aplicaciones Web de mediano y gran tamaño, en manejo de datos. "Aplicaciones Web de mediano y gran tamaño" se define como las aplicaciones que contienen múltiples consultas a bases de datos, tienen que 27.

(37) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. generar tablas desde los datos de la base de datos, necesitan de una interfaz de usuario que genere consultas SQL o una forma confortable y amigable para proteger páginas y funcionalidades en las páginas. "Aplicaciones de manejo de datos" son aquellas que usan una base de datos con soporte SQL para crear contenido HTML y que usan formas HTML para conducir las transacciones. Las características principales de PHPLib se podrían resumir describiendo las siguientes clases: . DB_Sql. Esta clase es una abstracción de las bases de datos. Hasta el momento hay 8 implementaciones: MySQL, MSSQL (MS SQL Server), PostgreSQL, ODBC, Sybase, MSQL, Oracle y OCI8. Básicamente esta clase realiza todas las tareas de acceso a BD que se harían mediante las funciones de PHP, con la diferencia que PHPLib lo hace de forma abstracta. Esto permite cambiar de BD sin la necesidad re-escribir el código fuente.. . Session. Se encarga del manejo de sesiones. El manejo de sesiones lo hace a través de cookies del navegador.. . Auth. Se encarga de la "autenticación" de las sesiones. Esto se hace a través de un usuario/contraseña y se puede configurar un tiempo de expiración.. . Perm. Se encarga del manejo de permisos. Se puede proteger una página entera o sólo cierta parte de ella. De no tener los permisos necesarios se muestra una pantalla de autenticación. Esta clase facilita enormemente la creación de un sistema de privilegios basado en perfiles de usuario, donde cada perfíl de usuario permitirá el acceso a sólo una cierta parte de la Base de Datos, o por ejemplo, a sólo ciertos módulos/opciones de la aplicación Web.. . Cart. El típico Carro de Compras para aplicaciones Web de comercio electrónico.. . Template. Una implementación de Templates, o plantillas HTML. Uno de los problemas fundamentales con lenguajes como PHP, donde se mezcla el código PHP con el código HTML, es que no está bien delimitado el campo del diseñador. 28.

(38) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. HTML y del programador y que el código resultante puede ser complejo de entender y por lo tanto, muy complicado de mantener. Esta clase permite separar el diseño de la programación de aplicaciones Web. Se podrían destacar las siguientes ventajas del uso de PHPLib: . El uso de clases permite crear aplicaciones de manera rápida, reutilizando código que resulta de fácil mantención.. . La abstracción de la Base de datos permite escalar la aplicación a otro motor de base de datos sin tener que modificar el código de la aplicación, basta con modificar un archivo de configuración del PHPLib.. . Al separar el código PHP del código HTML, mediante el uso de plantillas, se permite que personas sin conocimientos de programación, como por ejemplo un diseñador gráfico, pueda modificar la apariencia de un sitio de manera rápida y sin problemas.. . El sistema de sesiones, autenticación y privilegios que ofrece PHPLib permite crear módulos individuales, restringidos para ciertos usuarios. Los perfiles de los usuarios se mantienen en la Base de Datos, permitiendo una fácil mantención. Las contraseñas de los usuarios se guardan encriptadas. (Muñ, 04). 2.5 Solución Biofasis® Reportes La solución Biofasis® Reportes, como componente de Biofasis®, debe seguir las mismas líneas de desarrollo que esta. Arquitectura multicapas, donde se separan los componentes del negocio, sistemas de bases de datos y mejoras del lenguaje, hacen del sistema, una novedosa implementación. Arquitectura multicapas Muchas aplicaciones están compuestas por múltiples componentes, donde cada uno realiza una tarea distinta. Todas las soluciones de software contienen similares componentes considerando el tipo específico de negocio al que esté dirigido. Por ejemplo muchos tipos de negocio contienen componentes de acceso a datos, encapsulan reglas de negocio, manipulan interacciones con los usuarios. Identificando los tipos de. 29.

(39) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. componentes comunes encontrados en las soluciones nos ayuda a construir un buen diseño para aplicaciones. Una arquitectura multicapa, particiona todo el sistema en distintas unidades funcionales: cliente, presentación, lógica-de-negocio, integración, y sistema de información empresarial. Esto asegura una división clara de responsabilidades y hace que el sistema sea más mantenible y extensible. Los sistemas con tres o más capas se han probado como más escalables y flexibles que un sistema cliente-servidor, en el que no existe la capa central de lógica-de-negocios. Los desarrolladores han podido separar de forma óptima las tareas que no debían estar mezcladas internamente en la lógica específica de cada aplicación, dentro de la implementación de código orientado a objetos. “Se trata de tareas que normalmente se aplican a gran cantidad de componentes de una forma horizontal, como conexiones a bases de datos, utilización transparente de transacciones o comprobaciones de seguridad”. Componentes de interfaz de usuario: Muchas soluciones necesitan proporcionar la vía al usuario de interactuar con las aplicaciones. Las interfaces de usuario están implementadas usando formas de Windows, páginas Web, controles y otras muchas tecnologías para brindar y mostrar datos al usuario y adquirir y validar datos provenientes de los mismos. Componentes de Negocio: Considerando que el proceso de negocio puede consistir en un simple paso o en un total engranado flujo de trabajo, las aplicaciones probablemente requerirán de componentes que sean capaces de implementar reglas de negocio y realizar tareas del negocio. Componente lógico de acceso a datos: Muchas aplicaciones necesitan acceder a los datos durante el proceso de negocio, se hace sensible abstraer el acceso a datos de los componentes lógicos de acceso a datos. Esto logra centralizar las funcionalidades de acceso y logra facilidad de configuración y mantenimiento (NET, 03).. 30.

(40) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. Biofasis® Reportes, contiene un conjunto de capas en las cuales se sigue la filosofía antes expuesta, logrando una especialización de cada capa, y una independencia bastante alta entre ellas.. Fig. 2.5.1 Diagrama de capas de Biofasis® Reportes Iremos describiendo capa por capa, desde la más baja, hasta el nivel de Interfaz de Usuario.. Bases de Datos y Sistema de Archivos Una vez conocido y analizado el gestor de datos a utilizar (MySQL® versión 5.0.18. El análisis de la base de datos esta realizada con el objetivo primordial de lograr una buena integridad referencial, necesitada especialmente, para asegurar las transacciones de y hacer más sencillo el trabajo con el gestor. En este sentido, el sistema Biofasis® Reportes utiliza la misma base de datos que Biofasis® la cual usa para la extracción de los datos. Tablas con los usuarios, con los cultivos que intervienen en las diferentes fases, con la descripción de las tecnología, etc. que son necesarios para la realización de los reportes.. 31.

(41) Capítulo 2.Generalidades de la arquitectura, modelación e implementación del sistema. Uso de la biblioteca PHPLib La biblioteca PHPLib nos asiste en este modulo brindando las facilidades para el trabajo con las plantillas y para la autenticación y permisos. Las plantillas nos permitieron aislar la programación en PHP, del diseño en HTML.. Funcionalidades del negocio En la capa de funcionalidades del negocio, se construyeron objetos con objetivos bien específicos. El trabajo con los datos y la conexión a la base de datos, el tratamiento de la información a ser mostrada además de las funciones propias para la realización de los reportes. Se implementaron y se usaron clases serializadoras para el manejo de los datos, las conexiones a la base de datos y la manipulación de ficheros XML. Estas clases se encargaron de gestionar la conexión a la base de datos, la extracción de datos de las mismas, el tratamiento de las consultas y de los errores y la manipulación de ficheros XML. La implementación de las clases que intervendrían en los reportes, cumplieron un objetivo basado en tratar los datos entregados por los usuarios para la generación de los reportes dinámicamente.. Capa visual El sistema visual de Biofasis® Reportes sigue la misma filosofía que la solución Biofasis® debido a la integración que debe haber entre todos los módulos del sistema. Ahora bien, la capa visual fue implementada usando PHPLib para aislar el diseño y el código HTML (plantillas o Templates) de la programación en PHP. Esta vía nos brindó una rapidez extraordinaria en el desarrollo de la solución, además de una claridad enorme en el código y una muy buena documentación. Otras tecnologías fueron usadas en la apariencia de Biofasis® Reportes. El uso de las especificaciones de CSS 2.0 (Hojas de estilo en cascada), y de HTML 4.1 nos dotaron de una estandarización para construir la interfaz visual de la solución.. 32.

Figure

Fig. 1.7.2 Árbol Funcional, agrupa los contenidos de acuerdo a las tareas que se puedan  realizar dentro del sitio
Figura 2.3.1  Método de trabajo del JasperReport
Figura 2.3.2 Forma de trabajo del iReport
Fig. 2.5.1 Diagrama de capas de Biofasis® Reportes
+7

Referencias

Documento similar

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Existen diferentes conceptos por parte de autores de bibliografía especializada en lo que respecta a los métodos requeridos para realizar una evaluación económica de un

El objetivo general que se ha trazado, es un sistema diseñado para obtener reportes .Que estos reportes den una información clara del estado de los ataques para que el usuario

Para dar solución a dicho problema se realiza el siguiente trabajo de diploma que tiene como objetivo principal desarrollar un sistema de autenticación para el

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el