mejores a nuestros proyectos de software
DESCRIPTION
Mejorando nuestros proyectos de software usando jfreechart, spring, ireport.TRANSCRIPT
![Page 2: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/2.jpg)
Objetivos
Al final de la sesión usted debe ser capaz de: Conocer sobre las librerías para poder
elaborar reportesConocer sobre las librerías que permiten
elaborar graficasAplicar las librerías a un caso especifico
2
![Page 3: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/3.jpg)
MEJORAS PROFESIONALES JFREECHARTDescripciones Generales: JFreeChart es una biblioteca gráfica gratuita para JAVA. Está diseñado para su uso en aplicaciones, applets,
servlets y JSP.JFreeChart se distribuye con código fuente completo sujeto
a los términosde la GNU Lesser General Public License (LGPL); que permite a JFreeChart ser utilizado en propiedad oaplicaciones de software libre.
3
![Page 4: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/4.jpg)
Grafica Aplicando JfreeChart
Ejemplo de una Grafica:
4
![Page 5: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/5.jpg)
Que graficas puedo generar con JfreeChartPie ChartDe BarrasDe lineasDe dispersionDe series de tiempoDe Gantt
5
![Page 6: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/6.jpg)
PIE CHART
6
![Page 7: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/7.jpg)
Diagramas de línea
7
![Page 8: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/8.jpg)
MEJORAS PROFESIONALES REPORTES-JASPERREPORTSJasperreports es una poderosa
herramienta para realizar reportes.Es de código abierto.Su principal utilidad es llevar contenidos
ricos a la pantalla, a la impresora o a archivos con extensión .pdf, .html, .csv , .xml
8
![Page 9: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/9.jpg)
¿Qué es Jasperreports?
Librería de clases java creada por Teodor Danciu para agregar capacidades de reporte a las aplicaciones JAVA.
Para Usar JasperReports es necesario incluirla en el classpath de la aplicación.
9
![Page 10: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/10.jpg)
Características de JasperreportsAdemás de los datos en texto,
Jasperreports soporta imágenes, gráficos, etc. para darles un aspecto profesional al reporte.
Permite una diagramación flexible de los reportes.
Los reportes se pueden dividir en secciones: titulo, encabezado, detalle, pie.
10
![Page 11: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/11.jpg)
Características de JasperreportsPermite que los desarrolladores le
agreguen datos de diversas formas.Su principal objetivo es ayudar a la
creación de documentos orientados a paginas y listos para imprimir de forma sencilla.
11
![Page 12: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/12.jpg)
JASPERREPORT
Los datos se pasan como parámetros usando instancias de cualquier clase escrita en java.
Pueden generarse subreportes, es decir que puede crear un reporte dentro de uno ya existente.
Puede calcular o generar datos a partir de los ya existentes.
12
![Page 13: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/13.jpg)
JASPERREPORT
Puede Generar marcas de agua para aplicarle seguridad a los reportes.
Se pueden exportar los reportes a varios tipos de formatos: pdf, xls, html, xml
13
![Page 14: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/14.jpg)
PROCESO DE CREACION DE UN REPORTE
14
![Page 15: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/15.jpg)
IREPORT
• La herramienta iReport es un constructor / diseñador de informes visual, poderoso, intuitivo y fácil de usar para JasperReports escrito en Java.
• Este instrumento permite que los usuarios corrijan visualmente informes complejos con cartas, imágenes, subinformes, etc.
• iReport está además integrado con JFreeChart, una de la biblioteca gráficas OpenSource más difundida para Java.
• Los datos para imprimir pueden ser recuperados por varios caminos incluso múltiples uniones JDBC, TableModels, JavaBeans, XML, etc.
15
![Page 16: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/16.jpg)
Características de iReport
• 100% escrito en JAVA y además OPENSOURCE y gratuito.
• Maneja el 98% de las etiquetas de JasperReports
• Permite diseñar con sus propias herramientas: rectángulos, líneas, elipses, campos de los textfields, cartas, subreports (subreportes).
• Soporta internacionalización nativamente.
• Browser de la estructura del documento.
• Recopilador y exportador integrados .
• Soporta JDBC.
• Soporta JavaBeans como orígenes de datos (éstos deben implementar la interface JRDataSource).
• Incluye Wizard’s (asistentes) para crear automáticamente informes .
• Tiene asistentes para generar los subreportes
• Tiene asistentes para las plantillas.
• Facilidad de instalación.
16
![Page 17: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/17.jpg)
Instalación de iReport
• El iReport viene como un archivo comprimido. Esto contiene los archivos de distribución principales (clases y fuente), algunas plantillas para el ayudante (wizard), todos los .jar requeridos adicionales. Esta herramienta trabaja de manera integrada con el jasperreport, por lo tanto no se requiere una instalación adicional de jasper.
17
![Page 18: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/18.jpg)
Prerrequisitos
• Necesitará disponer de lo siguiente:• Apache Ant• IReport• Jassperreport-0.x.x (usar la versión que
viene incluida con iReport)
18
![Page 19: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/19.jpg)
Apariencia de la interfaz grafica de Ireport
19
![Page 20: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/20.jpg)
Edición de Reportes
20
• Estructura de un reporte basado en Ireport
![Page 22: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/22.jpg)
Objetivos
Al final de la sesión usted debe ser capaz de: Conocer las generalidades del Framework
SpringElaborar servicios basados en Spring
22
![Page 23: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/23.jpg)
¿Qué es un Framework?
• Un Framework es una abstracción de un componente de software(su construcción se basa en la experiencia) para resolver un problema en un Contexto (situación real )
23
![Page 24: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/24.jpg)
¿Qué es un Framework?
• No hay que limitarlo a aplicaciones web.• Existen también para desarrollar juegos,
aplicaciones medicas, aplicaciones empresariales, aplicaciones de escritorio, dispositivos móviles, etc.
• Aplicación genérica que interactúa con nuestro desarrollo y que a la vez es configurable.
24
![Page 25: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/25.jpg)
Objetivos de usar un FrameworkLos objetivos principales que persigue un
frameworks son:
• Acelerar el proceso de desarrollo
• Reutilizar código existente.
• Promover buenas practicas de desarrollo como el uso de patrones
25
![Page 26: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/26.jpg)
Patrón: Inyección de Dependencias• Spring se basa en el patrón de inyección de
dependencias, el cual detallaremos a continuación:– En ingles se le conoce como Dependency
Injection.– Es un patrón de diseño orientado a objetos, en
el que se reemplazan objetos a una clase en lugar de ser la propia clase quien cree el objeto.
26
![Page 27: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/27.jpg)
Como aplicarlo en Java
• La forma habitual de implementar este patrón es mediante un "Contenedor DI" y objetos POJO.
• El contenedor inyecta a cada objeto los objetos necesarios según las relaciones plasmadas en un fichero de configuración.
27
![Page 28: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/28.jpg)
¿Qué es spring?
• Spring es un Java Open Source Application Framework
• Fue creado por Rod Johnson• El objetivo de Spring es minimizar la
complejidad del desarrollo de aplicaciones empresariales bajo la especificación JAVA J2EE.
28
![Page 29: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/29.jpg)
Historia
• 2002 Expert One on One J2EE Design & Development
• 2003 Nace como proyecto open source
• 2004 Spring 1.0
• 2006 Spring 2.0
• 2007 Spring 2.5
• 2008 Nace SpringSource
• 2009 VMWare adquiere SpringSource, Spring 3.0
29
![Page 30: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/30.jpg)
Filosofía de Spring
• Programación basada en POJOs• Ligero• Facilita las buenas practicas de
programación• Modelo de Programación consistente• Facilita las Pruebas• No invasivo• No reinventa la rueda
30
![Page 31: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/31.jpg)
MODULOS DE SPRING
31
![Page 32: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/32.jpg)
The Core Container
• Provee la funcionalidad fundamental de Spring Framework.
• Aquí esta contenido el BeanFactory (factoría de beans de spring).
• En el BeanFactory se base el patrón de diseño de inyección de dependencias DI.
32
![Page 33: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/33.jpg)
Modulo Application Context
• Application context module, se basa en el contenedor principal o modulo principal de BeanFactory y este hace de que Spring sea una armazón.
• En este módulo se extiende el concepto de BeanFactory, añadiendo soporte para (internacionalización I18N) mensajes, eventos del ciclo de vida de aplicación y validación.
• Además, este módulo de suministro de servicios de muchas empresas, como correo electrónico, JNDI , el acceso a la integración de EJB, la comunicación remota, y la programación
33
![Page 34: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/34.jpg)
Modulo AOP o de programación orientada al aspecto• Spring proporciona un amplio soporte para
programación orientada a aspectos en su módulo de AOP.
• Este módulo sirve como base para el desarrollo de sus propios aspectos de su Aplicación Spring.solicitud. Como DI, AOP apoya la articulación flexible de los objetos de aplicación.
• Con AOP, las preocupaciones(tales como las transacciones y la seguridad)están disociadas de los objetos a los que se aplican.
34
![Page 35: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/35.jpg)
Modulo JDBC abstraction and the DAO module• Primero entendamos o recordemos lo que significa
trabajar con jdbc.
• Gran cantidad de código estándar que consigue una conexión, los procesos de un conjunto de resultados y luego cierra la conexión.
• Spring nos da la facilidad de tener el código limpio y simple que interactué con la base de datos.
• También construye una capa de excepciones significativas en la parte superior de los mensajes de error dado por varios servidores de base de datos.
35
![Page 36: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/36.jpg)
Modulo Object-relational mapping (ORM) integration module• Para aquellos que prefieren usar un mapeo objeto-relacional
(ORM) algo similar a JDBC, Spring proporciona el módulo de ORM.
• Apoyo ORM de Spring se basa en el DAOapoyo, proporcionando una forma cómoda de crear DAO en varias soluciones ORM.
• Spring no trata de aplicar su propia solución ORM, pero proporcionalas configuraciones necesarias para los ORM populares, como Hibérnate, Java Persistence API e iBATIS SQL Maps.
• Spring soporta cada uno de estos marcos ORM, así como JDBC.
36
![Page 37: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/37.jpg)
Java Management Extensions (JMX)• Exponer el funcionamiento interno de una aplicación
Java para la gestión es una crítica tarea y muy difícil de hacerla a mano.
• El Módulo de Spring JMX hacefácil exponer los Beans de su aplicación como MBeans JMX.
• Esto hace que sea posiblesupervisar y configurar una aplicación en ejecución.
37
![Page 38: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/38.jpg)
Java EE Connector API (JCA)
• Las aplicaciones empresariales tienen distintos escenarios, servidores, instalaciones, configuraciones, etc.
• La integración de estas aplicaciones puede ser difícil.
• La conexión de la API Java EE (mejor conocido como JCA) proporciona unaforma estándar de integración de aplicaciones Java con una gran variedad de información empresarial desdesistemas, incluyendo mainframes y bases de datos.
38
![Page 39: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/39.jpg)
Spring MVC framework
• El Modelo / Vista / Controlador (MVC) es un enfoque común aceptado en las aplicaciones web, tal es que la interfaz de usuario es independiente de lalógica de la aplicación. Java no tiene escasez de marcos MVC, entre ellos podemos encontrar Apache Struts,JSF, WebWork y Tapestry.
• A pesar de que Spring se integra con varios marcos populares MVC, tambiénviene con su propio marco de trabajo MVC muy capaz, ya que promueve técnicas acopladas en la capa web de una aplicación.
39
![Page 40: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/40.jpg)
Spring Portlet MVC
• Las aplicaciones web se basan en mostrar paginas basadas en código HTML, es decir cada solicitud para la aplicación genera una pagina nueva con los resultados esperados.
• Con spring portlet MVC puedes llegar a conseguir el resultado de varias aplicaciones en una única pagina jsp.
40
![Page 41: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/41.jpg)
Spring’s web module
• Spring MVC y Spring Portlet MVC requieren una consideración especial cuando se cargael contexto de aplicación de Spring (aplication-context.xml). Por lo tanto, el módulo web de Spring ofrece especialesclases de apoyo para Spring MVC y Spring Portlet MVC.
41
![Page 42: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/42.jpg)
Remoting
• En varias ocasiones, las aplicaciones trabajan solas. A menudo, es necesario para una aplicaciónaprovechar la funcionalidad de otra aplicación para obtener su trabajo hecho. Cuando la aplicación viaja a a través de la red, se utiliza alguna forma de interacción remota para la comunicación.
• Varias opciones de comunicación remota están disponibles en Spring, incluyendoInvocación de Métodos Remotos (RMI), Hesse, arpillera, JAX-RPC, HTTP invoker, etc.
42
![Page 43: Mejores a nuestros proyectos de Software](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557b0273d8b42a2d178b506d/html5/thumbnails/43.jpg)
Java Message Service (JMS)
• La desventaja de la interacción remota es que depende de la fiabilidad de la red y que tanto se encuentra la comunicación disponible.
• Spring JMS garantiza el envió de los mensajes así no se encuentre disponible la red.
43