Mejores a nuestros proyectos de Software

43
Mejoras Profesionales Ing. José Luis Bugarin Ing. José Luis Bugarin [email protected] [email protected] 1

description

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

Transcript of Mejores a nuestros proyectos de Software

Page 1: Mejores a nuestros proyectos de Software

Mejoras Profesionales

Ing. José Luis BugarinIng. José Luis [email protected]@consultorjava.com

1

Page 2: Mejores a nuestros proyectos de Software

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

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

Grafica Aplicando JfreeChart

Ejemplo de una Grafica:

4

Page 5: Mejores a nuestros proyectos de Software

Que graficas puedo generar con JfreeChartPie ChartDe BarrasDe lineasDe dispersionDe series de tiempoDe Gantt

5

Page 6: Mejores a nuestros proyectos de Software

PIE CHART

6

Page 7: Mejores a nuestros proyectos de Software

Diagramas de línea

7

Page 8: Mejores a nuestros proyectos de Software

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

¿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

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

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

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

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

PROCESO DE CREACION DE UN REPORTE

14

Page 15: Mejores a nuestros proyectos de Software

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

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

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

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

Apariencia de la interfaz grafica de Ireport

19

Page 20: Mejores a nuestros proyectos de Software

Edición de Reportes

20

• Estructura de un reporte basado en Ireport

Page 21: Mejores a nuestros proyectos de Software

SPRING FRAMEWORK

Ing. José Luis BugarinIng. José Luis [email protected]@consultorjava.com

21

Page 22: Mejores a nuestros proyectos de Software

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

¿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

¿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

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

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

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

¿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

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

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

MODULOS DE SPRING

31

Page 32: Mejores a nuestros proyectos de Software

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

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

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

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

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

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

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

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

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

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

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

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