Your SlideShare is downloading. ×
Mejores a nuestros proyectos de Software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Mejores a nuestros proyectos de Software

1,149
views

Published on

Mejorando nuestros proyectos de software usando jfreechart, spring, ireport.

Mejorando nuestros proyectos de software usando jfreechart, spring, ireport.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,149
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Mejoras Profesionales Ing. José Luis BugarinIng. José Luis Bugarin jbugarin@consultorjava.comjbugarin@consultorjava.com 1
  • 2. Objetivos Al final de la sesión usted debe ser capaz de: Conocer sobre las librerías para poder elaborar reportes Conocer sobre las librerías que permiten elaborar graficas Aplicar las librerías a un caso especifico 2
  • 3. MEJORAS PROFESIONALES JFREECHART Descripciones 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érminos de la GNU Lesser General Public License (LGPL); que permite a JFreeChart ser utilizado en propiedad o aplicaciones de software libre. 3
  • 4. Grafica Aplicando JfreeChart Ejemplo de una Grafica: 4
  • 5. Que graficas puedo generar con JfreeChart Pie Chart De Barras De lineas De dispersion De series de tiempo De Gantt 5
  • 6. PIE CHART 6
  • 7. Diagramas de línea 7
  • 8. MEJORAS PROFESIONALES REPORTES-JASPERREPORTS Jasperreports 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
  • 9. ¿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
  • 10. Características de Jasperreports Ademá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
  • 11. Características de Jasperreports Permite 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
  • 12. 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
  • 13. 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
  • 14. PROCESO DE CREACION DE UN REPORTE 14
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. Prerrequisitos • Necesitará disponer de lo siguiente: • Apache Ant • IReport • Jassperreport-0.x.x (usar la versión que viene incluida con iReport) 18
  • 19. Apariencia de la interfaz grafica de Ireport 19
  • 20. Edición de Reportes 20 • Estructura de un reporte basado en Ireport
  • 21. SPRING FRAMEWORK Ing. José Luis BugarinIng. José Luis Bugarin jbugarin@consultorjava.comjbugarin@consultorjava.com 21
  • 22. Objetivos Al final de la sesión usted debe ser capaz de: Conocer las generalidades del Framework Spring Elaborar servicios basados en Spring 22
  • 23. ¿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
  • 24. ¿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
  • 25. Objetivos de usar un Framework Los 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
  • 26. 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
  • 27. 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
  • 28. ¿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
  • 29. 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
  • 30. 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
  • 31. MODULOS DE SPRING 31
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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 DAO apoyo, proporcionando una forma cómoda de crear DAO en varias soluciones ORM. • Spring no trata de aplicar su propia solución ORM, pero proporciona las 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
  • 37. 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 hace fácil exponer los Beans de su aplicación como MBeans JMX. • Esto hace que sea posible supervisar y configurar una aplicación en ejecución. 37
  • 38. 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 una forma estándar de integración de aplicaciones Java con una gran variedad de información empresarial desde sistemas, incluyendo mainframes y bases de datos. 38
  • 39. 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 la ló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én viene con su propio marco de trabajo MVC muy capaz, ya que promueve técnicas acopladas en la capa web de una aplicación. 39
  • 40. 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
  • 41. Spring’s web module • Spring MVC y Spring Portlet MVC requieren una consideración especial cuando se carga el contexto de aplicación de Spring (aplication- context.xml). Por lo tanto, el módulo web de Spring ofrece especiales clases de apoyo para Spring MVC y Spring Portlet MVC. 41
  • 42. Remoting • En varias ocasiones, las aplicaciones trabajan solas. A menudo, es necesario para una aplicación aprovechar 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, incluyendo Invocación de Métodos Remotos (RMI), Hesse, arpillera, JAX-RPC, HTTP invoker, etc. 42
  • 43. 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