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
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
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
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
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