Módulo de salidas para el sistema de postgrado v5 4
70
0
0
Texto completo
(2) Santa Clara, 2011 Año 53 de la Revolución. II.
(3) Dictamen.. El que suscribe, , hago constar que el trabajo titulado fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de , 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. Fecha. Dedicatoria III.
(4) A mis espíritus divinos mensajeros de Dios: mi madre espiritual Francisca 7C y mi abuelita Josefa Ranero Rodríguez, por ser mi luz, mi guía y mi sostén, por cada día protegerme y fortalecerme espiritualmente el alma y estar conmigo a cada paso que doy. Por ayudarme a convertir mi sueño, de ser una profesional, en realidad, y por dedicar parte de sus vidas a convertirme en la mujer que soy. A mi adorado padre Osvaldo Rodríguez Ranero, por ser mi padre y mi madre, por su dedicación, su entrega, su paciencia y comprensión. Porque junto a él he vivido los mejores y más intensos momentos de mi vida; la soledad no la conozco gracias a él; ha sufrido, llorado y gozado mis alegrías y ha entregado su cuerpo y alma a mi crianza y educación. Ha dado su vida entera por ver hoy realizada a su hija. Es lo más importante de mi vida y es por eso que este Trabajo de Diploma es parte de la hermosa labor que él ha realizado. A mi madre Margarita García Cervantes, porque desde que llegó a mi vida, los golpes se convirtieron en enseñanzas; las mentiras en verdades; porque le encontré sentido a mi vida. A ella, que me conoce y me comprende, me ha entregado su confianza y me ha fortalecido con sus grandiosas palabras. Con su ayuda he superado los momentos más amargos que he vivido, y ha sido junto a mis espíritus divinos, la protagonista de la vida de mi padre y mía. A ellos les dedico esta gran victoria, por ser ejemplos para mí, por darme la fuerza para seguir adelante y por ser mis grandes inspiraciones, sin ellos no estaría donde estoy. Me han dado la vida y por eso que donde quiera que estén, los amaré hasta el día de mi muerte. Anabel. IV.
(5) Agradecimientos A mi madre espiritual Francisca 7C y mi abuelita Josefa Ranero Rodríguez por estar siempre a mi lado y ser mis mayores ejemplos. A mi madre Margarita y mi segundo padre Alberto por sus grandes enseñanzas. A mi padre Osvaldo Rodríguez Ranero por ser el mejor papá del mundo. A mi familia Doralys, Claudia y Alex por confiar en mí. A todos mis hermanos de religión por su presencia en los momentos malos y buenos. A mi novio Frank por su comprensión, paciencia y amor. A Alcides por su ayuda y apoyo en todo momento. A mi tutor Rosendo por estar siempre que lo necesitaba. A Belkis, Daliana y Lizandra por ayudarme y estar siempre. A todas mis compañeras de cuarto por haber compartido todos estos años. A todas las amistades que tengo de quienes he aprendido cada día. A todos los profesores que me han educado para ser una profesional. A todos los que de una forma u otra ha tenido que ver con la realización de esta victoria.. A todos Muchas Gracias.. V.
(6) Resumen El presente trabajo refiere el desarrollo del módulo de salida de datos de un nuevo sistema de información para la gestión de la actividad de postgrado, basado en Software Libre y compatible con los requerimientos del proyecto SIGENU. Para la modelación del mismo se utilizaron las facilidades de los diferentes diagramas de UML. La implementación de este módulo se realizó siguiendo el patrón Modelo-VistaControlador utilizando las ventajas del lenguaje Java para la plataforma de Java empresarial J2EE; utilizando el sistema de gestión de bases de datos PostgreSQL, para el manejo de la base de datos y las consultas correspondientes, así como la biblioteca JasperReport para el diseño e implementación de los informes.. Palabras Claves SIGENU, Control de Postgrado, Sistemas de Información, Bases de Datos. VI.
(7) Abstract This paper concerns the development of data output module of a new information system for the management of postgraduate activity, based on Free Software and supports SIGENU project requirements. To model the same facilities some different UML diagrams were used. The implement of this module was carried out using the Model-View-Controller with the advantages of Java for the J2EE Enterprise Java platform and using the management system PostgreSQL database, to manage the database and for consultations and JasperReport library for the design and the implement of reports.. Keywords SIGENU, Postgraduate control, Information Systems, Databases. VII.
(8) CONTENIDOS Resumen....................................................................................................... VI Palabras Claves.............................................................................................VI Abstract........................................................................................................VII Keywords......................................................................................................VII INTRODUCCIÓN .............................................................................................2 CAPÍTULO 1. MARCO TEÓRICO.......................................................................9 1.1 Sistemas de Información..........................................................................9 1.2 Concepto Subsistema...............................................................................9 1.3 Concepto de Sistema de Información ......................................................9 1.4 Base de datos ..........................................................................................9 1.4.1 Base de Datos Relacional.................................................................10 1.4.2 Tablas...............................................................................................10 1.4.3 Cardinalidad.....................................................................................12 1.4.4 Base de Datos Objeto-Relacional.....................................................13 1.5 Lenguaje de Programación Java.............................................................13 1.5.1 Características de Java.....................................................................14 1.5.2 Plataforma Java Empresarial J2EE....................................................15 1.5.3 Servidor de Aplicaciones JBOSS AS..................................................16 1.5.4 JBoss Seam......................................................................................17 1.6 PostgreSQL.............................................................................................17 1.6.1 Características de PostgreSQL.........................................................17 1.6.2 Ventajas de PostgreSQL...................................................................19 1.6.3 Desventajas de PostgreSQL.............................................................19 1.7 JasperReports.........................................................................................20 1.8 Herramienta iReport...............................................................................20 1.8.1 Características de iReport................................................................21 1.8.2 Ventajas de iReport..........................................................................22 1.8.3 Desventajas de iReport....................................................................22 1.9 Soluciones Asíncronas. JMS....................................................................22 1.9.1 Arquitectura de JMS..........................................................................23 VIII.
(9) CAPÍTULO 1. MARCO TEÓRICO.......................................................................9 1.10 Enterprise JavaBeans............................................................................24 1.10.1 MDB - Beans Dirigidos por Mensajes..............................................24 Conclusiones Parciales.................................................................................26 CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA............................................28 2.1 Diagrama de Casos de Uso.....................................................................28 2.1.1 Casos de Uso del Módulo de Reportes.............................................29 CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA............................................28 2.1.2 Actores del Módulo de Reportes.......................................................30 2.1.3 Diagrama de Casos de Uso del Módulo de Reportes........................30 2.2 Diagramas de Actividades......................................................................31 2.2.1 Diagramas de Actividades del Módulo de Reportes........................33 2.3 Diagramas de Componentes..................................................................33 2.3.1 Diagrama de Componentes del Sistema de Postgrado....................34 2.4 Diagramas de Despliegue.....................................................................35 2.4.1 Diagrama de Despliegue del Sistema de Postgrado.........................35 Conclusiones Parciales.................................................................................36 CAPÍTULO 3. Aspectos de la Implementación y el uso del Módulo de Informes del SPG......................................................................................................... 38 3.1 Aspectos de la Implementación..............................................................38 3.1.1 Gestión del Certificado de Evaluación de Curso de Postgrado.........40 3.2 Uso del Módulo de Salidas......................................................................43 CAPÍTULO 3. Implementación y el Uso del Módulo de Informes...................38 3.3 Otros Aspectos Generales de Implementación.......................................48 3.3.1 Creando el Informe...........................................................................48 3.3.2 Guardando el Informe......................................................................49 3.3.3 Enviando Notificación de Informe Terminado...................................49 Conclusiones Parciales.................................................................................50 CONCLUSIONES............................................................................................52 RECOMENDACIONES.....................................................................................53 RECOMENDACIONES.....................................................................................54 IX.
(10) Referencias Bibliográficas............................................................................56 Referencias Bibliográficas............................................................................56 BIBLIOGRAFÍA...............................................................................................58. Resumen....................................................................................................... VI Palabras Claves.............................................................................................VI Abstract........................................................................................................VII Keywords......................................................................................................VII INTRODUCCIÓN .............................................................................................2 CAPÍTULO 1. MARCO TEÓRICO.......................................................................9 1.1 Sistemas de Información..........................................................................9 1.2 Concepto Subsistema...............................................................................9 1.3 Concepto de Sistema de Información ......................................................9 1.4 Base de datos ..........................................................................................9 1.4.1 Base de Datos Relacional.................................................................10 1.4.2 Tablas...............................................................................................10 1.4.3 Cardinalidad.....................................................................................12 1.4.4 Base de Datos Objeto-Relacional.....................................................13 1.5 Lenguaje de Programación Java.............................................................13 1.5.1 Características de Java.....................................................................14 1.5.2 Plataforma Java Empresarial J2EE....................................................15 1.5.3 Servidor de Aplicaciones JBOSS AS..................................................16 1.5.4 JBoss Seam......................................................................................17 1.6 PostgreSQL.............................................................................................17 1.6.1 Características de PostgreSQL.........................................................17 1.6.2 Ventajas de PostgreSQL...................................................................19 1.6.3 Desventajas de PostgreSQL.............................................................19 1.7 JasperReports.........................................................................................20 1.8 Herramienta iReport...............................................................................20 1.8.1 Características de iReport................................................................21 1.8.2 Ventajas de iReport..........................................................................22 X.
(11) 1.8.3 Desventajas de iReport....................................................................22 1.9 Soluciones Asíncronas. JMS....................................................................22 1.9.1 Arquitectura de JMS..........................................................................23 CAPÍTULO 1. MARCO TEÓRICO.......................................................................9 1.10 Enterprise JavaBeans............................................................................24 1.10.1 MDB - Beans Dirigidos por Mensajes..............................................24 Conclusiones Parciales.................................................................................26 CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA............................................28 2.1 Diagrama de Casos de Uso.....................................................................28 2.1.1 Casos de Uso del Módulo de Reportes.............................................29 CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA............................................28 2.1.2 Actores del Módulo de Reportes.......................................................30 2.1.3 Diagrama de Casos de Uso del Módulo de Reportes........................30 2.2 Diagramas de Actividades......................................................................31 2.2.1 Diagramas de Actividades del Módulo de Reportes........................33 2.3 Diagramas de Componentes..................................................................33 2.3.1 Diagrama de Componentes del Sistema de Postgrado....................34 2.4 Diagramas de Despliegue.....................................................................35 2.4.1 Diagrama de Despliegue del Sistema de Postgrado.........................35 Conclusiones Parciales.................................................................................36 CAPÍTULO 3. Aspectos de la Implementación y el uso del Módulo de Informes del SPG......................................................................................................... 38 3.1 Aspectos de la Implementación..............................................................38 3.1.1 Gestión del Certificado de Evaluación de Curso de Postgrado.........40 3.2 Uso del Módulo de Salidas......................................................................43 CAPÍTULO 3. Implementación y el Uso del Módulo de Informes...................38 3.3 Otros Aspectos Generales de Implementación.......................................48 3.3.1 Creando el Informe...........................................................................48 3.3.2 Guardando el Informe......................................................................49 3.3.3 Enviando Notificación de Informe Terminado...................................49 Conclusiones Parciales.................................................................................50 XI.
(12) CONCLUSIONES............................................................................................52 RECOMENDACIONES.....................................................................................53 RECOMENDACIONES.....................................................................................54 Referencias Bibliográficas............................................................................56 Referencias Bibliográficas............................................................................56 BIBLIOGRAFÍA...............................................................................................58. XII.
(13) INTRODUCCIÓN.
(14) INTRODUCCIÓN. INTRODUCCIÓN Desde hace varios años, el perfeccionamiento constante de la Educación Superior se ha materializado en la Educación de Postgrado. Desde la década de los 90 del pasado siglo, se dio comienzo a la formación académica de Postgrado, incorporando la figura de master, y perfeccionando las de especialista, así como el doctorado. Con esto, todos los Centros de Educación Superior (CES) y demás entidades autorizadas han incrementado su oferta y su labor en el postgrado, aumentando por tanto la necesidad del control. En el Sistema Nacional de Educación, la Educación de Postgrado es uno de los objetivos esenciales de la Educación Superior. Se conoce comúnmente como el cuarto nivel de enseñanza. La educación postgraduada constituye el nivel más elevado y tiene como objetivos fundamentales la superación profesional continua de los egresados universitarios durante su vida profesional, para incrementar sus aptitudes científicotécnicas, sociales y políticas, así como la especialización académica a través de programas avanzados de maestrías, especialidades y doctorados, contribuyendo a la elevación sistemática de la productividad, eficiencia y calidad del trabajo a partir de la intensificación de la aplicación de los avances tecnológicos y científicos actuales. El control de actividades de postgrado radica en tener la información actualizada de todos los procesos que requiere la educación de postgrado. Hasta los momentos actuales se ha cumplido con una labor de educación de postgrado intensiva y extensiva, incluyendo programas académicos denominados de “amplio acceso”; pero las nuevas tendencias político-sociales y económicas del país permiten afirmar que se debe restringir en algunos casos y de seleccionar en otros el acceso y los resultados de este nivel de educación, sobre todo hacerlos más acordes a las verdaderas necesidades del país. Desde hace más de 20 años en la Universidad Central de Las Villas se ha desarrollado y explotado un Sistema para el control de Postgrado a nivel de áreas que desarrollan esta actividad (Facultades y Centros de Investigación o de Estudios). La Dirección de Postgrado de la Universidad Central de Las Villas es la encargada de controlar las actividades de postgrado que se efectúan en dicha entidad y las que este centro imparte en otras entidades tanto nacionales como internacionales. Desde hace varios años, la Universidad Central de las Villas participa en el proyecto SIGENU con la responsabilidad de la implantación de un Sistema de control de Postgrado (SPG) 2.
(15) INTRODUCCIÓN. compatible con la plataforma SIGENU y los nuevos lineamientos de nuestro país en el uso de Software Libre. El Sistema de control de Postgrado (SPG) es de gran utilidad, ya que mediante el mismo se controla todo lo que está vinculado con las acciones de postgrado pero las versiones anteriores en este momento no satisfacen ni los requerimientos técnicos del Ministerio de Educación Superior (MES) para este tipo de sistemas, ni otras derivadas de actualizaciones al Reglamento de la Educación Postgraduada de la República de Cuba No 132-2004 y sus últimas adecuaciones hechas en la Resolución No. 166/09.. Antecedentes Este sistema ha tenido diferentes versiones anteriores. La primera versión, desarrollada en DataEase 4.53 para DOS, cumplió con los objetivos de aquel momento pero en la actualidad dicho sistema no es utilizado, no solo por estar desarrollado sobre DOS, sino porque en su concepción se tuvo en cuenta el anterior reglamento de Postgrado que no incluía toda una serie de actividades actuales (Maestrías, Doctorados, entre otros) y los informes de estadística actuales. El segundo fue un sistema desarrollado en FoxPro 2.6 para Windows que también sirvió de preámbulo al definitivo sistema y su instalación fue parcial. Ya la tercera versión, desarrollada en Access’97 para Windows fue totalmente explotada desde un primer comienzo con Access’95, hasta su perfeccionamiento con la versión ‘97. La cuarta versión desarrollada sobre el SGBD Access 2000 y ha sido actualizada a través de los años haciendo unos pequeños cambios sobre Access XP, y finalmente Access 2003, adolece de la actualización que permita cumplir con todo lo establecido en el actual Reglamento de Postgrado de la República de Cuba. Por ejemplo, no se obtiene la interrelación entre Maestrías y Diplomados que lo conforman, además de que varió el Informe Estadístico Nacional correspondiente a las adecuaciones que desde el 2004 (fecha de la última actualización de la versión 4.3) a la fecha se han realizado en las estadísticas nacionales oficiales. La versión 4.3, ha sido muy utilizada por varias facultades de La Universidad Central de Las Villas, como por ejemplo, la IBP y Ciencias Sociales que siguen utilizándola, así como Ciencias de la Información que usó por mucho tiempo esta versión y por problemas de decisión la dejó de usar. La versión 4.4, que también está desarrollada en Access 2003, sigue en uso por las facultades de Psicología, Mecánica, Construcciones y Matemática-Física-Computación. 3.
(16) INTRODUCCIÓN. Eléctrica usó la misma durante mucho tiempo y por una mala decisión administrativa dejó de usarla, así como Mecánica, Química y Ciencias Agropecuarias por problemas de equipamiento. En el año 2007, la Dirección de Informatización de la UCLV, a quien se le había acometido la tarea de desarrollar un Sistema para el Control de Postgrados, hizo un intento para la versión 5, mediante el trabajo de Diploma de Tomás Boliño de la Coba, con los requerimientos del MES, en un ambiente Web, pero esta adolecía de todo tipo de informes, y no se concibe un sistema sin salidas. Además que no se siguió el análisis de desarrollo y no cumplía con las exigencias de la Dirección de Postgrado, por tanto no fue aceptado. En cuanto a la versión 5.1 desarrollada en el 2010 por el tesiante Michel Alain Rodríguez, se hizo una división de las entradas y las salidas del sistema, donde las salidas se adquirían de un supuesto almacén de datos con errores de concepción, y además faltaban informes, tampoco cumplía con los requerimientos de la Dirección de Postgrado. En el 2010, Yordanis Ronquillo Alfonso, con la tutoría del Dr. Rosendo Moreno Rodríguez, desarrolló la versión 5.2, como un ejercicio académico demostrativo en software propietario, la cual aunque cumple con los requisitos de los reglamentos, no se puede usar porque no cumple con uno de los requerimientos del MES, que el sistema sea desarrollado en software libre.. Planteamiento del problema Por todas estas versiones que han dado al traste con la implementación del Sistema de Postgrado, se desea crear un nuevo Módulo de Informes, que incluya la actualización de los informes, con las consultas que requieran sobre el Sistema Gestor de Bases de Datos PostgreSQL y programado en software libre, tal como orienta el Ministerio de Educación Superior, y que cumpla con el Reglamento de Postgrado de la República de Cuba 132/2004, con las Adecuaciones de cinco artículos de la Resolución 166/2009 y además con las Normas y Procedimientos para la gestión de Postgrado en la Instrucción 1/2006.. 4.
(17) INTRODUCCIÓN. Objetivo General Desarrollar, utilizando Software Libre, un nuevo módulo de salidas del Sistema de Postgrado, que satisfaga los requerimientos técnicos y legales del Ministerio de Educación Superior, para poder responder a las nuevas necesidades de la información derivadas de actualizaciones del Reglamento de la Educación Postgraduada.. Objetivos específicos 1. Modelar el sistema a implementar en UML. 2. Crear en PostgreSQL las consultas necesarias para las salidas del SPG. 3. Implementar el Módulo de Salidas como una aplicación WEB en java.. Preguntas de investigación 1. ¿Qué salidas, informes y reportes serán necesarias modelar para satisfacer a las necesidades de la Dirección de Postgrado y a la integración con el proyecto SIGENU? 2. ¿Cómo recuperar los datos que requieren las salidas del SGP utilizando el Sistema de Gestión de Bases de Datos Relacionales PostgreSQL? 3. ¿Cómo utilizar el servidor de aplicaciones JBOSS para recuperar datos del SGP utilizando una arquitectura cliente servidor? 4. ¿Cuán eficiente es desarrollar un ambiente WEB para el módulo de recuperación de datos del SGP utilizando los recursos de la plataforma Java Empresarial (J2EE)?. Justificación de la investigación El Ministerio de Educación Superior, ha encomendado a varios centros el desarrollo de varios sistemas de control de las actividades de las Universidades, bajo el proyecto SIGENU. Actualmente existe el Sistema de Control Docente o Académico (control de pregrado), aplicado en diferentes Universidades del país. El MES dio a la UCLV la responsabilidad hace cuatro años del desarrollo del Sistema de Control de Postgrado, dentro del marco del proyecto SIGENU. Esta tarea la acomete oficialmente el Departamento de Producción de Software (DPS) de la UCLV, pero por diversos motivos han dado al traste con la implementación adecuada del mismo, el que debe hacerse sobre un conjunto de tecnologías de Software Libre especificadas en las disposiciones del MES. Por todo lo anteriormente planteado 5.
(18) INTRODUCCIÓN. se hizo imprescindible emprender el desarrollo de esta nueva versión del SPG.. Factibilidad de la Investigación La experiencia del tutor en el trabajo de control de Postgrado durante más de 20 años lo avala como un experto fiable para obtener un modelo correcto de la gestión de Postgrado. La disponibilidad de un generador de reportes iReport compatible con las tecnologías utilizadas en la plataforma de desarrollo, facilitan el desarrollo y prueba de las salidas y reportes necesarios. También se cuenta con bibliografía actualizada para estudiar las herramientas de programación propuestas y la teoría de bases de datos y sistemas de información y con el equipamiento mínimo necesario para desarrollar el sistema.. Tipo de Investigación Esta investigación se desarrolla utilizando un tipo de investigación aplicada con características de exploratoria en cuanto al uso de herramientas diversas de software libre.. Hipótesis de la Investigación La utilización de las herramientas y facilidades de la plataforma de Java Empresarial y del generador de reportes iReport, facilitan el desarrollo de una interfaz Web como módulo de recuperación de datos. Estos reportes se pueden recuperar e implementar adecuadamente con el Sistema de Gestión de Bases de Datos Relacionales PostgreSQL, en ambiente cliente-servidor lo que permitirá la interacción de cada área con la base de datos centralizada correspondiente al Sistema de Control Postgrado satisfaciendo los requerimientos de la Dirección de Posgrado y en particular, todos los modelos de carácter oficial que se necesitan.. 6.
(19) INTRODUCCIÓN. Organización de la Tesis La tesis está organizada en tres capítulos: Capítulo1 Marco Teórico. Referente a los principales conceptos utilizados durante el desarrollo de la tesis, tales como, conceptos de Sistemas de Información, Subsistemas, Bases de Datos Relacionales y Base de Datos Objeto-Relacional, Tablas, Cardinalidad, Lenguaje de Programación JAVA, la plataforma J2EE, Sistema Gestor de Bases de Datos PostgreSQL y una breve panorámica del software que se utiliza para el desarrollo de los informes: iReport, así como el uso de la Web y las Soluciones Asíncronas. Capítulo2 Análisis y Diseño del Sistema. Descripción del Sistema mediante el Lenguaje Unificado de Modelado (UML), diferentes diagramas que permiten el análisis del sistema como son: Diagrama de Casos de Uso, Diagramas de Clases, Diagrama de Actividades, Diagrama de Interacción, Diagrama de Componentes y Diagrama de Despliegue. Capitulo3 Aspectos de la Implementación y el uso del módulo de informes del SPG. Describe algunos aspectos interesantes de la implementación de las consultas e informes y la conexión de los módulos correspondientes; así como detalla la utilización de las opciones del Sistema, su funcionamiento y el modo de interactuar con este.. 7.
(20) CAPÍTULO 1. MARCO TEÓRICO. 8.
(21) CAPÍTULO 1. MARCO TEÓRICO. CAPÍTULO 1. MARCO TEÓRICO 1.1 Sistemas de Información Los sistemas de información están en todas partes, proporcionando información adecuada y actualizada, es tanto el impacto de la tecnología de la información en la sociedad, al grado de que hay quienes llaman a esta época la era de la información, si consideramos el desarrollo alcanzado por estas tecnologías, conforma el cambio más radical del medio ambiente humano, podremos comprender el por qué de su importancia para la humanidad, pues las organizaciones buscan y utilizan la información de manera específica para tomar decisiones así como resolver problemas de manera efectiva. La teoría general de los sistemas afirma que las propiedades de los sistemas no pueden ser descritas significativamente en términos de sus elementos por separados. La comprensión de los sistemas solamente se presenta cuando se estudian los sistemas globalmente, involucrando todas las interdependencias de sus subsistemas.. 1.2 Concepto Subsistema Un Subsistema es un componente genérico que puede ser descompuesto en componentes específicos. Los componentes de un sistema pueden estar relacionados de diferentes formas para lograr subjetivos que contribuyen a lograr el objetivo del sistema. Los Sistemas pueden clasificarse de acuerdo con numerosas dimensiones, pueden ser simples o complejos, abiertos o cerrados, estables o dinámicos, adaptables o no adaptables, permanentes o temporales.. 1.3 Concepto de Sistema de Información “Un conjunto formal de procesos que, operando sobre una colección de datos estructurada según las necesidades de la empresa, recopilan, elaboran y distribuyen la información (o parte de ella) necesaria para las operaciones de dicha empresa y para las actividades de dirección y control correspondientes (decisiones) para desempeñar su actividad de acuerdo a su estrategia de negocio.. 1.4 Base de datos Una base de datos no es más que un conjunto de datos que pertenecen al mismo contexto y almacenados para su posterior uso. Existe software que permiten almacenar 9.
(22) CAPÍTULO 1. MARCO TEÓRICO. para luego acceder a los datos de forma rápida y estructurada de una base de datos, los cuales son denominados sistemas gestores de bases de datos, abreviado (SGBD). Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. La creación de una base de datos lleva consigo fases para el diseño de la misma, el diseño canónico es uno dentro de los esquemas de creación de una base de datos. El esquema canónico o lógico global como se le denomina, es un esquema que presenta de forma conceptual la estructura de una base de datos. Es un esquema que depende del tipo de SGBD que se vaya a utilizar. Existen varios tipos de bases de datos, estas se clasifican de acuerdo a su modelo de administración de datos, un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores.. 1.4.1 Base de Datos Relacional Una base de datos relacional es una tipo de base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores o relaciones, y en donde todas las operaciones de la base de datos operan sobre estas tablas. En las bases de datos se definían los objetivos de este modelo: 1. Independencia física. La forma de almacenar los datos, no debe influir en su manipulación lógica. 2. Independencia lógica. Las aplicaciones que utilizan la base de datos no deben ser modificadas por que se modifiquen elementos de la base de datos. 3. Flexibilidad. La base de datos ofrece fácilmente distintas vistas en función de los usuarios y aplicaciones. 4. Uniformidad. Las estructuras lógicas siempre tienen una única forma conceptual (las tablas). 5. Sencillez.. 1.4.2 Tablas Las bases de datos relacionales se basan en el uso de tablas (también se las llama relaciones). Las tablas se representan gráficamente como una estructura rectangular 10.
(23) CAPÍTULO 1. MARCO TEÓRICO. formada por filas y columnas. Cada columna almacena información sobre una propiedad determinada de la tabla (se le llama también atributo). Cada fila posee una ocurrencia o ejemplar de la instancia o relación representada por la tabla (a las filas se las llama también tuplas). Tipos de tablas 1. Persistentes. Sólo pueden ser borradas por los usuarios: 2. Base. Independientes, se crean indicando su estructura y sus ejemplares. 3. Vistas. Son tablas que sólo almacenan una definición de consulta, resultado de la cual se produce una tabla cuyos datos proceden de las bases o de otras vistas e instantáneas. Si los datos de las tablas base cambian, los de la vista que utiliza esos datos también cambia. 4. Instantáneas. Son vistas (creadas de la misma forma) que sí que almacenan los datos que muestra, además de la consulta que dio lugar a esa vista. Sólo modifican su resultado (actualizan los datos) siendo refrescadas por el sistema cada cierto tiempo. 5. Temporales. Son tablas que se eliminan automáticamente por el sistema. Pueden ser de cualquiera de los tipos anterior Terminología relacional. Tupla. Cada fila de la tabla (cada ejemplar que la tabla representa). Atributo. Cada columna de la tabla. Grado. Número de atributos de la tabla. Cardinalidad. Número de tuplas de una tabla. Dominio. Conjunto válido de valores representables por un atributo. El modelo relacional permite al usuario incorporar restricciones personales a los datos. Las principales son: Clave primaria. Hace que los atributos marcados como clave primaria no puedan repetir valores. 11.
(24) CAPÍTULO 1. MARCO TEÓRICO. Unicidad. Impide que los valores de los atributos marcados de esa forma, puedan repetirse. Obligatoriedad. Prohíbe que el atributo marcado de esta forma no tenga ningún valor. Integridad referencial. Prohíbe colocar valores en una clave externa que no estén reflejados en la tabla donde ese atributo es clave primaria. Regla de validación. Condición que debe de cumplir un dato concreto para que sea actualizado.. 1.4.3 Cardinalidad Relaciones varios a varios. En las relaciones varios a varios, la relación se transforma en una tabla cuyos atributos son: los atributos de la relación y las claves de las entidades relacionadas (que pasarán a ser claves externas). La clave de la tabla la forman todas las claves externas. Relaciones de orden n. Las relaciones ternarias, cuaternarias y n-arias que unen más de dos relaciones se transforman en una tabla que contiene los atributos de la relación más los identificadores de las entidades relacionadas. La clave la forman todas las claves externas. Relaciones uno a varios y uno a uno. Las relaciones binarias de tipo uno a varios no requieren ser transformadas siempre en una tabla en el modelo relacional. En ocasiones la tabla del lado varios (tabla relacionada) incluye como clave externa el identificador de la entidad del lado uno (tabla principal). En el caso de las relaciones uno a uno, ocurre lo mismo, la relación no se convierte en tabla, sino que se coloca en una de las tablas (en principio daría igual cuál) el identificador de la entidad relacionada como clave externa. En el caso de que una entidad participe opcionalmente en la relación, entonces es el identificador de ésta el que se colocará como clave externa en la tabla que representa a la otra entidad. Relaciones recursivas 12.
(25) CAPÍTULO 1. MARCO TEÓRICO. Las relaciones recursivas se tratan de la misma forma que las otras, sólo que un mismo atributo puede figurar dos veces en una tabla como resultado de la transformación.. 1.4.4 Base de Datos Objeto-Relacional El modelo de Base de Datos Objeto-Relacional surge como una respuesta a la incorporación de la tecnología de objetos en las Bases de Datos Relacionales y con ello permitir el tratamiento de datos y relaciones complejas. Es compatible con la tecnología relacional y tiene un mejor soporte para aplicaciones voluminosas. Las Bases de Datos Objeto-Relacional permiten que los datos sean grabados como objetos, sin embargo todos los metadatos y la información siguen utilizando el sistema de filas y columnas para este propósito de tal forma que la base de datos pueda ser accedida también como una base de datos relacional. Y así mismo cuando los datos son recuperados la base de datos tiene la capacidad de reconstruir nuevamente los datos simples a objetos complejos.. 1.5 Lenguaje de Programación Java Java es un lenguaje de programación de alto nivel orientado a objetos desarrollado por Sun Microsystems a principio de los años 90´s, que resuelve los problemas en la complejidad de los sistemas y permite escribir tanto programas convencionales como para Internet. La tecnología Java está compuesta básicamente por 2 elementos: el lenguaje Java y su plataforma. Con plataforma nos referimos a la máquina virtual de Java (Java Virtual Machine). Una de las principales características que favoreció el crecimiento y difusión del lenguaje Java es su capacidad de que el código funcione sobre cualquier plataforma de software y hardware. Esto significa que nuestro mismo programa escrito para Linux puede ser ejecutado en Windows sin ningún problema. Una de las ventajas significativas de Java sobre otros lenguajes de programación es que es independiente de la plataforma, tanto en código fuente como en binario. Esto quiere decir que el código producido por el compilador Java puede transportarse a cualquier plataforma (Intel, Sparc, Motorola, etc.) que tenga instalada una máquina virtual Java y ejecutarse. Pensando en Internet esta característica es crucial ya que esta red conecta ordenadores muy distintos. En cambio, C++, por ejemplo es independiente de la plataforma sólo en código fuente, lo cual significa que cada plataforma diferente debe 13.
(26) CAPÍTULO 1. MARCO TEÓRICO. proporcionar el compilador adecuado para obtener el código máquina que tiene que ejecutarse.. 1.5.1 Características de Java Orientado a objetos. Java fue diseñado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente en entornos cada vez más complejos y basados en red. Robusto. Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria. Seguro. Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real. Portable. La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas. Estas dos últimas características se conocen como la Máquina Virtual Java (JVM). 14.
(27) CAPÍTULO 1. MARCO TEÓRICO. Alto rendimiento Multihilo. Hoy en día ya se ven como terriblemente limitadas las aplicaciones que sólo pueden ejecutar una acción a la vez. Java soporta sincronización de múltiples hilos de ejecución (multithreading) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos. Dinámico. El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy variadas, incluso desde la Red. Produce applets. Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java. Por su parte, las applets son pequeños programas que aparecen embebidos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc.. 1.5.2 Plataforma Java Empresarial J2EE Java Platform, Enterprise Edition o Java EE es una plataforma de programación para desarrollar y ejecutar software de aplicaciones en Lenguaje de programación Java con arquitectura de N capas distribuidas y que se apoya ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. J2EE proporciona: 15.
(28) CAPÍTULO 1. MARCO TEÓRICO. • Un modelo de desarrollo de componentes Web (Servlet, JSP) y de componentes activos (EJB) bajo la forma de APIs de Java. • Un conjunto de servicios (JDBC, JTA, JNDI, JMS, RMI/IIOP, JavaMAil, XML), herramientas para los componentes, bajo la forma de APIs de Java. • Un modelo de creación de módulos Web (.war), de módulos EJB (.jar) y de módulos corporativos (.ear), asociados a descriptores de despliegue en formato WML, herramientas para el desarrollo de aplicaciones de empresa. • Contenedores (web y EJB), para la realización de los componentes.. 1.5.3 Servidor de Aplicaciones JBOSS AS JBoss AS es el primer servidor de aplicaciones de código abierto, preparado para la producción y certificado J2EE 1.4, disponible en el mercado, ofreciendo una plataforma de alto rendimiento para aplicaciones de negocios. Combinando una arquitectura orientada a servicios revolucionaria con una licencia de código abierto, JBoss AS puede ser descargado, utilizado, incrustado y distribuido sin restricciones por la licencia. Por este motivo es la plataforma más popular de middleware para desarrolladores, vendedores independientes de software y para grandes empresas. Las características destacadas de JBoss incluyen: •. Producto de licencia de código abierto sin coste adicional.. •. Cumple los estándares.. •. Confiable a nivel de empresa.. •. Incrustable, orientado a arquitectura de servicios.. •. Flexibilidad consistente.. •. Servicios del middleware para cualquier objeto de Java.. •. Soporte completo para JMX.. •. Implementa la especificación de EJB 3.0.. •. Está orientado a trabajar con programación orientada a aspectos.. •. Incorpora Hibernate como servicio de persistencia objeto/relaciones y consultas para Java.. 16.
(29) CAPÍTULO 1. MARCO TEÓRICO. 1.5.4 JBoss Seam JBoss Seam es un marco de trabajo desarrollado por JBoss, una división de Red Hat. El líder del proyecto es Gavin King, también autor del framework para mapeo objeto relacional Hibernate. Combina a los 2 frameworks Enterprise JavaBeans EJB3 y JavaServerFaces JSF. Se puede acceder a cualquier componente EJB desde la capa de presentación refiriéndote a él mediante su nombre de componente seam. Seam introduce el concepto de contextos. Cada componente de Seam existe dentro de un contexto. El contexto conversacional por ejemplo captura todas las acciones del usuario hasta que éste sale del sistema o cierra el navegador - inclusive puede llevar un control de múltiples pestañas y mantiene un comportamiento consistente cuando se usa el botón de regresar de el navegador.. 1.6 PostgreSQL PostgreSQL es un sistema de gestión de base de datos relacional (SGBDR) orientada a objetos y libre (gratuito) y de código abierto (open source), publicado bajo la licencia BSD (Berkeley Software Distribution). PostgreSQL está ampliamente considerado como el sistema de bases de datos de código abierto más avanzado del mundo. Posee muchas características que tradicionalmente sólo se podían ver en productos comerciales de alto calibre.. 1.6.1 Características de PostgreSQL PostgreSQL está considerado como la base de datos de código abierto más avanzada del mundo. PostgreSQL proporciona un gran número de características que normalmente sólo se encontraban en las bases de datos comerciales tales como DB2 u Oracle. La siguiente es una breve lista de algunas de esas características, a partir de PostgreSQL 7.1.x. DBMS Objeto-Relacional. PostgreSQL aproxima los datos a un modelo objeto-relacional, y es capaz de manejar complejas rutinas y reglas. Ejemplos de su avanzada funcionalidad son consultas SQL declarativas, control de concurrencia multi-versión, soporte multi-usuario, transactions, optimización de consultas, herencia, y arrays. 17.
(30) CAPÍTULO 1. MARCO TEÓRICO. Altamente_Extensible PostgreSQL soporta operadores, funciones métodos de acceso y tipos de datos definidos por el usuario. Soporte_SQL_Comprensivo PostgreSQL soporta la especificación SQL99 e incluye características avanzadas tales como las uniones (joins) SQL92. Integridad Referencial PostgreSQL soporta integridad referencial, la cual es utilizada para garantizar la validez de los datos de la base de datos. API Flexible La flexibilidad del API de PostgreSQL ha permitido a los vendedores proporcionar soporte al desarrollo fácilmente para el RDBMS PostgreSQL. Estas interfacaes incluyen Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/C++, y Pike. Lenguajes Procedurales PostgreSQL tiene soporte para lenguajes procedurales internos, incluyendo un lenguaje nativo denominado PL/pgSQL. Este lenguaje es comparable al lenguaje procedural de Oracle, PL/SQL. Otra ventaja de PostgreSQL es su habilidad para usar Perl, Python, o TCL como lenguaje procedural embebido. Cliente/Servidor PostgreSQL usa una arquitectura proceso-por-usuario cliente/servidor. Esta es similar al método del Apache 1.3.x para manejar procesos. Hay un proceso maestro que se ramifica para proporcionar conexiones adicionales para cada cliente que intente conectar a PostgreSQL. En la figura 1.1 se observan algunas características más generales.. Características. Evaluación. Lenguaje de Definición de Datos (DDL) Creación de tablas. Muy Buena. Relaciones. Muy Buena 18.
(31) CAPÍTULO 1. MARCO TEÓRICO. Métodos de Indexado. Muy Buena. Lenguaje de Manipulación de Datos (DML) Consultas. Buena. Procedimientos almacenados y funciones. Muy Buena. Informes y Formularios. No Tiene. Control de la Concurrencia. Bueno. Respaldo y Recuperación. Muy Buena. Figura 1.1 Características de PostgreSQL.. 1.6.2 Ventajas de PostgreSQL • Posee una gran variedad de tipos de datos, pero es el único SGBD que cuenta con los arreglos, característica que permite que pueda ser utilizado para crear sistemas de información geográficos. •. Es el gestor más completo en cuanto a los métodos de indexado, crea automáticamente un índice para la llave primaria. Se pueden crear índices adicionales para las demás tablas.. •. Posee muy buenas estrategias de respaldo y resguardo, Además, es posible hacer backups directamente desde pgAdmin III.. 1.6.3 Desventajas de PostgreSQL •. No cuenta con un diagrama de relaciones por lo que para establecerlas se crean las llaves foráneas a medida que se van creando las tablas.. •. A la hora de crear consultas PostgreSQL tiene una pequeña deficiencia, cuando creamos la consulta de forma visual se genera el código correspondiente, pero el código no genera la consulta de forma visual, características importante de los SGBD.. •. PostgreSQL no cuenta con ninguna herramienta suya para la creación de los informes y formularios, por tanto esto es considerado una deficiencia porque obliga a implementar los formularios e informes a través de súper lenguajes o de herramientas que ni siquiera están en el mismo sitio que su instalación 19.
(32) CAPÍTULO 1. MARCO TEÓRICO. 1.7 JasperReports JasperReports es una herramienta de creación de informes que tiene la habilidad de entregar contenido enriquecido al monitor, a la impresora o a ficheros PDF, HTML, XLS, CSV y XML. Está escrito completamente en Java y puede ser usado en gran variedad de aplicaciones de Java, incluyendo J2EE o aplicaciones web, para generar contenido dinámico. Su propósito principal es ayudar a crear documentos de tipo páginas, preparados para imprimir en una forma simple y flexible. JasperReports se usa comúnmente con iReport, un front-end gráfico de código abierto para la edición de informes. Se encuentra bajo licencia libre GNU, por lo que es Software libre. Forma parte de la iniciativa apilada open source Lisog.. 1.8 Herramienta iReport La herramienta iReport es un constructor / diseñador de informes visual, poderoso, intuitivo y fácil de usar, escrito en Java. Este instrumento permite crear toda la parte visual de los reportes (formatos, posiciones, tipos de letra, estilos, imágenes, decoraciones, etc.) iReport brinda las más importantes funciones para crear complejos reportes con gran facilidad, a través de una rica y fácil interfaz de usuario. iReport utiliza la biblioteca JasperReports para crear informes. JasperReports es, en cierto sentido, el núcleo de iReport. JasperReports es la fuente abierta más popular de la colección de informes para la tecnología Java, e iReport es un diseñador de informes visuales para JasperReports. Un informe de iReport está pensado a nivel de página. Lo que se define es el aspecto general de una página y no se pueden definir (a priori) elementos fuera del tamaño de la página. El significado de cada banda es el siguiente: • Title: Esta banda se mostrará sólo una vez al principio del informe tenga las páginas que tenga el mismo. • PageHeader: Esta banda es la cabecera de la página; se repite cada vez que se pinta una página nueva.. 20.
(33) CAPÍTULO 1. MARCO TEÓRICO. • ColumnHeader: Esta banda es la cabecera de las columnas. Inicialmente nosotros hemos definido sólo. una columna, por lo que su comportamiento. es análogo a PageHeader. • Detail: Esta banda es la encargada de mostrar los elementos que tienen alguna repetición, estos elementos se mostrarán en los subinformes que explicaremos más adelante. En esta banda solo se deben insertar los subinformes, ya que los mismos son los encargados de hacer las repeticiones. • ColumnFooter: Pie de la columna. Su comportamiento es análogo a ColumnHeader. • PageFooter: Pie de página, se repite una vez por página. Su comportamiento es análogo a PageHeader. • Sumary: Sólo se repite una vez por informe en la última página del mismo. Su comportamiento es análogo a Title.. 1.8.1 Características de iReport • iReport puede conectarse a cualquier base de datos y adquisición de datos de diferentes fuentes de datos. • La interfaz de usuario (UI) de iReport es muy fácil de usar. •. Permite diseñar un informe con un diseñador de informes inteligentes: el uso de un ratón o el teclado en la posición, alinear y cambiar el tamaño de los objetos, conjunto completo de herramientas de formato, menú contextual para realizar operaciones comunes con rapidez, copiar y pegar elementos, cuadrículas y reglas para dar formato a los elementos, entre otras.. • Está compuesto por bandas de tamaño variable para el encabezado, pie de página, resumen, fondo, y así sucesivamente, con múltiples detalles. • Permite crear variables para realizar cálculos a nivel de informe diferente, incluyendo suma, promedio, recuento, min / max, cálculos personalizados y la desviación estándar. • Contiene elementos gráficos como imágenes, cuadros, líneas, rectángulos, rectángulos redondeados, elipses, etc. 21.
(34) CAPÍTULO 1. MARCO TEÓRICO. • iReport ha incorporado muchas plantillas de informes, que se puede utilizar muy fácilmente proporcionando el diseño automático y la orientación de los elementos del informe. • En iReport, se obtiene una vista previa de un solo clic de sus informes. El visor de informes • tiene la funcionalidad de exportar el informe a muchos otros formatos como: PDF, XHTML, OpenOffice, MS Word, MS Excel, XML, texto, y muchos más.. 1.8.2 Ventajas de iReport •. Una vez diseñado el informe lo podemos exportar a diferentes formatos como PDF, HTML, CSV, XSL, etc.. •. Ideal para los informes corporativos: facturas, presupuestos, pedidos.. •. Permite crear informes con diseño a gusto del usuario.. 1.8.3 Desventajas de iReport •. Documentación pobre.. •. Utiliza tecnología Java. Se requiere JDK java Sun (no funciona correctamente con OpenJDK). 1.9 Soluciones Asíncronas. JMS Sistema de Mensajería de Java (Java Messaging System, JMS) es la solución de Sun (Stanford University Network) para los sistemas de mensajes. Los sistemas de mensajes aportan una serie de mejoras a la comunicación entre aplicaciones que no tienen por qué residir en la misma máquina. JMS se sitúa como “capa media” (middleware) en medio de la comunicación de dos aplicaciones. En entornos cliente servidor, cuando la aplicación A quiere comunicarse con la Aplicación B, necesita saber dónde está B (su IP por ejemplo) y que B esté escuchando en ese momento. Cuando se usa JMS (o cualquier otro sistema de mensajes), la aplicación A envía un mensaje, el sistema de mensajes lo recibe y se lo envía a B cuando se conecte al servicio. De esta manera se. 22.
(35) CAPÍTULO 1. MARCO TEÓRICO. consigue una comunicación asíncrona entre A y B, es decir no hace falta que B esté presente en el momento del envío del mensaje, y no por ello va a dejar de recibirlo.. Figura 1.2 Sistema de Mensajes de Java Asíncrono. 1.9.1 Arquitectura de JMS Una aplicación JMS consta de los siguientes elementos:. • Clientes JMS. Aplicaciones que envían o reciben mensajes a través de JMS. • Mensajes. Los mensajes que se intercambian. • Objetos administrados. Los objetos JMS a los que se dirigen comunicaciones. las. Clientes JMS Son clientes de JMS tanto el que suministra mensajes como el que los recibe. Mensajes Es el corazón del sistema de mensajes. Están formados por tres elementos: cabecera (header), propiedades (properties) y cuerpo (body). •. Cabecera: Es la cabecera del mensaje, contiene una serie de campos que le sirven a los clientes y proveedores a identificar a los mensajes. 23.
(36) CAPÍTULO 1. MARCO TEÓRICO. •. Propiedades: Son propiedades personalizadas para un mensaje en particular.. • Cuerpo: Es el mensaje en sí. Objetos administrados Los objetos administrados son el punto al que se comunican los clientes JMS para enviar o recibir mensajes, se denominan objetos administrados por que los crea el administrador. Hay dos tipos de objetos administrados en JMS: •. ConnectionFactory: Se usa para crear una conexión al proveedor del sistema de mensajes.. •. Destination: Son los destinos de los mensajes que se envían y el recipiente de los mensajes que se reciben.. 1.10 Enterprise JavaBeans EJB (Enterprise JavaBeans) es un modelo de programación que nos permite construir aplicaciones Java mediante objetos ligeros. El objetivo de los EJB es dotar al programador de un modelo que le permita abstraerse de los problemas generales de una aplicación empresarial (concurrencia, transacciones, persistencia, seguridad, etc.) para centrarse en el desarrollo de la lógica de negocio en sí y deja el resto de responsabilidades al contenedor de aplicaciones donde se ejecutará la aplicación. Existen tres tipos de EJBs: EJB de Entidad (Entity EJBs), EJB de Sesión (Session EJBs) y EJB dirigidos por mensajes (Message-Driven Beans, MDB). En este caso lo interesante son los EJB dirigidos por mensajes (MDB).. 1.10.1 MDB - Beans Dirigidos por Mensajes Message-Driven Beans (MDB - Beans Dirigidos por Mensajes) son componentes de tipo listener que actúan de forma asíncrona. Su misión es la de consumir mensajes (por ejemplo: eventos que se producen en la aplicación), los cuales pueden gestionar directamente o enviar (derivar) a otro componente. Los MDB actúan sobre un proveedor de mensajería, en este caso, Java Messaging System (JMS es además soportado de forma implícita por la especificación EJB). Los Message-Driven Beans no mantienen estado entre invocaciones. 24.
(37) CAPÍTULO 1. MARCO TEÓRICO. 25.
(38) CAPÍTULO 1. MARCO TEÓRICO. Conclusiones Parciales El módulo que se nos ha encomendado realizar es una parte de un sistema de información que tiende a controlar la información del Postgrado en un Centro de Educación Superior. Para su análisis, diseño e implementación se tienen en cuenta los conceptos abordados en este capítulo, en especial lo referente a Sistemas de Información y Bases de Datos Objeto-Relacional. El SGBD PostgreSQL fue el seleccionado para realizar la implantación del módulo que nos ocupa, ya que a pesar de sus desventajas, es un buen gestor (figura 1.1). Además es una orientación del MES que se trabaje con el mismo, porque tiene la propiedad de ser un software libre y el Sistema de Postgrado debe ser compatible con el proyecto SIGENU, cuyas bases de Datos se encuentran también en PostgreSQL. Para la creación de los informes se ha utilizado el iReport, porque además de ser un software libre posee características fundamentales para el desarrollo de los informes requeridos, y es muy fácil de usar. En cuanto al sistema de mensajes, conviene utilizarlo ya que permite manejar de una forma segura los informes que se requieren y así el usuario no tendría que esperar a que el sistema termine los informes, sino que puede seguir trabajando en otras opciones.. 26.
(39) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. 27.
(40) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA Para el análisis y diseño del sistema, se utilizó el Lenguaje Unificado de Modelado (Unified Modeling Language, UML) es un lenguaje gráfico estándar para escribir planos de software. UML prescribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan.. 2.1 Diagrama de Casos de Uso En UML, un Diagrama de casos de uso es una especie de diagrama de comportamiento que muestra la relación entre los actores y los casos de uso del sistema. Un diagrama de casos de uso consta de los siguientes elementos: Actor, Casos de Uso y Relaciones. Actor Un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto se especifica que un Actor no necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema. Casos de Uso Un caso de uso es una secuencia de interacciones que se desarrollarán entre un sistema y sus actores en respuesta a un evento que inicia un actor principal sobre el propio sistema. Es una operación/tarea específica que se realiza tras una orden de algún agente externo, sea desde una petición de un actor o bien desde la invocación desde otro caso de uso. Relaciones Una relación es una conexión entre los elementos del modelo: Actor y Casos de Uso.. 28.
(41) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. 2.1.1 Casos de Uso del Módulo de Reportes Para el Módulo de Reportes del Sistema de Postgrado, los Casos de Uso se basan en Gestionar diferentes tipos de informes. Cada Caso de Uso incluye un conjunto de informes, como se observa a continuación: Informes sobre Profesores de PG • Certificación de Impartición de Curso de Postgrado • Certificación de Tutoría de Tesis de Postgrado • Certificación de Asesoría de Entrenamiento de Postgrado Informes Finales de Superación Profesional de Postgrado (SPPG) • Acta de Evaluación de Curso de Postgrado • Acta de Evaluación de Entrenamiento de Postgrado • Informe Final de Curso de Postgrado • Informe Final de Diplomado de Postgrado • Informe Final de Entrenamiento de Postgrado • Lista de Matrícula de Curso de Postgrado • Lista de Matrícula de Diplomado de Postgrado • Lista de Matrícula de Entrenamiento de Postgrado • Modelo Oficial Matrícula PGSP • Planificación de Curso de Postgrado • Planificación de Entrenamiento de Postgrado Certificados de SPPG • Certificación de Curso de Postgrado • Certificación de Diplomado de Postgrado • Certificación de Entrenamiento de Postgrado Informes sobre Postgrados Académicos (PGA) • Acta de Defensa de tesis de Maestría 29.
(42) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. • Constancia de Aprobación de Autorización de Defensa de Tesis • Fichas de Maestrías y Especialidades • Modelo Oficial Matrícula PGA • Informe Final de Curso de Postgrado de PGA Certificados sobre PGA • Certificación de Culminación de Estudios de Especialidad • Certificación de Culminación de Estudios de Maestría Informes Estadísticos Oficiales • Modelo 1164-01 a nivel de Facultad • Modelo 1164-01 a nivel de Universidad Informes sobre Aspirantes y Doctores • Aval de Predefensa • Aprobación de Ingreso del Aspirante • (Modelo3) Exámenes de candidato realizados y tiempo de desarrollo del Doctorado. 2.1.2 Actores del Módulo de Reportes Los Actores que interactúan con el sistema son: • Secretaria Docente • Secretaria de PG • Vice Decano PG • Dirección PG Universitaria. 2.1.3 Diagrama de Casos de Uso del Módulo de Reportes A continuación se muestra el Diagrama de Casos de Uso del Módulo de Reportes del Sistema de Postgrado. 30.
(43) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. Figura 2.1 Diagrama de Casos de Uso.. 2.2 Diagramas de Actividades En UML un diagrama de actividades muestra la serie de actividades que deben ser realizadas en un caso de uso, así como las distintas rutas que pueden irse desencadenando en el caso de uso. Los diagramas de actividades muestran el flujo de trabajo desde el punto de inicio hasta el punto final detallando muchas de las rutas de decisiones que existen en el progreso de eventos contenidos en la actividad. Estos también pueden usarse para detallar situaciones donde el proceso paralelo puede ocurrir en la ejecución de algunas actividades. 31.
(44) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. Un diagrama de actividad es utilizado en conjunción de un diagrama de caso de uso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y cómo reacciona en determinados eventos. Los elementos fundamentales que constituyen un Diagrama de Actividades son: Inicio El inicio de un diagrama de actividad es representado por un círculo de color negro sólido. Actividad Una actividad representa la acción que será realizada por el sistema. Transición Una transición ocurre cuando se lleva acabo el cambio de una actividad a otra. Ramificación (Branch) Una ramificación ocurre cuando existe la posibilidad que ocurra más de una transición (resultado) al terminar determinada actividad. Bifurcación (Fork) Un fork representa una necesidad de ramificar una transición en más de una posibilidad. Aunque similar a una ramificación (Branch) la diferencia radica en que un fork representa más de una ramificación obligada, esto es, la actividad debe proceder por ambos o más caminos, mientras que una ramificación (Branch) representa una transición u otra para la actividad (como una condicional). Unión (Join) Un join ocurre al fusionar dos o más transiciones provenientes de un fork, y es empleado para dichas transiciones en una sola, tal y como ocurría antes de un fork . Fin El fin de un diagrama de actividad es representado por un círculo, con otro círculo concéntrico de color negro sólido. 32.
(45) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. 2.2.1 Diagramas de Actividades del Módulo de Reportes Cuando un usuario necesita un informe, lo primero que debe hacer es identificarse con el Sistema. Un vez que tenga permiso el sistema presenta el menú, y el usuario debe seleccionar el informe que necesite y entrar los parámetros que necesita el sistema. En ese momento el Sistema crea la solicitud del informe y la envía al planificador del sistema, el que pone en cola dicha solicitud y notifica al usuario que la solicitud se está procesando. Esta solicitud queda en espera hasta que el planificador del sistema esté listo y pueda recibir la solicitud. Una vez que sea recibida, el JasperReport prepara el informe, se hace la consulta al Sistema Gestor, cuando la consulta está lista el JasperReport crea el informe, seguidamente el planificador guarda el informe y envía una notificación al usuario que el informe está terminado (Ver Figura 2.2).. Figura 2.2 Diagramas de Actividades para Gestionar Informes. 2.3 Diagramas de Componentes Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias lógicas entre estos componentes. Los 33.
(46) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. diagramas de componentes describen los elementos físicos del sistema (incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes.) y sus relaciones muestran las opciones de realización incluyendo código fuente, binario y ejecutable. Son utilizados para modelar la vista estática y dinámica de un sistema.. 2.3.1 Diagrama de Componentes del Sistema de Postgrado El Sistema de Postgrado está compuesto por diferentes componentes. Postgrado WEB es la aplicación en sí, quien llama a Clases de Base de Postgrado, es como el controlador, donde se encuentran todas las clases en Java, una vez que se hace una petición al sistema se envía la solicitud a la Cola de Mensajes, cuando se atiende la solicitud se llama a Postgrado JasperReport para generar el informe y al terminar se envía la notificación al Servidor de Correo. Ver figura 2.3.. Figura 2.4 Diagrama de Componentes del Sistema de Postgrado. 34.
(47) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. 2.4 Diagramas de Despliegue En UML el Diagrama de Despliegue se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes. Los elementos usados por este tipo de diagrama son nodos, componentes o artefactos y asociaciones. Nodo Un Nodo es un elemento de hardware o software, donde se ejecutan los componentes, representan el despliegue físico de estos componentes. Un nodo puede contener otros elementos, como componentes o artefactos. Artefacto Un artefacto es un producto del proceso de desarrollo de software, que puede incluir los modelos del proceso ( modelos de Casos de Uso, modelos de Diseño, etc.), archivos fuente, ejecutables, documentos de diseño, reportes de prueba, prototipos, manuales de usuario, un programa, una biblioteca, o una base de datos construida o modificada en un proyecto. Asociación En el contexto del diagrama de despliegue, una asociación representa una ruta de comunicación entre los nodos.. 2.4.1 Diagrama de Despliegue del Sistema de Postgrado En este caso las salidas del sistema serán generadas en el Servidor de Informes donde va a estar ejecutándose el JasperReport. Ver Figura 2.4. 35.
(48) CAPÍTULO 2. ANÁLISIS Y DISEÑO DEL SISTEMA. Figura 2.4 Diagrama de Despligue del Sistema de Postgrado. Conclusiones Parciales En el capítulo que recién termina, se han diseñado los principales diagramas para el análisis del Módulo de Salidas del Sistema de Postgrado. Utilizando el lenguaje UML, que cumple con el propósito del primer objetivo específico, quedando detallado los casos de usos y las actividades del presente módulo, además de las necesidades de hardware y software que se requieren para instalar el sistema, y de este modo cumplir con los requerimientos del MES y de la Dirección de Postgrado.. 36.
(49) CAPÍTULO 3. Aspectos de la Implementación y el uso del Módulo de Informes del SPG.. 37.
Figure
+7
Outline
Documento similar