Mejoras Profesionales
Ing. José Luis BugarinIng. José Luis Bugarin
jbugarin@consultorjava.comjbugarin@consultorjava.com
1
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
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
Grafica Aplicando JfreeChart
Ejemplo de una Grafica:
4
Que graficas puedo generar con
JfreeChart
Pie Chart
De Barras
De lineas
De dispersion
De series de tiempo
De Gantt
5
PIE CHART
6
Diagramas de línea
7
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
¿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
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
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
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
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
PROCESO DE CREACION DE
UN REPORTE
14
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
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
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
Prerrequisitos
• Necesitará disponer de lo siguiente:
• Apache Ant
• IReport
• Jassperreport-0.x.x (usar la versión que
viene incluida con iReport)
18
Apariencia de la interfaz grafica
de Ireport
19
Edición de Reportes
20
• Estructura de un reporte basado en
Ireport
SPRING FRAMEWORK
Ing. José Luis BugarinIng. José Luis Bugarin
jbugarin@consultorjava.comjbugarin@consultorjava.com
21
Objetivos
Al final de la sesión usted debe ser capaz de:
Conocer las generalidades del Framework
Spring
Elaborar servicios basados en Spring
22
¿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
¿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
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
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
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
¿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
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
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
MODULOS DE SPRING
31
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
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
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
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
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
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
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
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
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
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
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
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

Mejores a nuestros proyectos de Software

  • 1.
    Mejoras Profesionales Ing. JoséLuis BugarinIng. José Luis Bugarin jbugarin@consultorjava.comjbugarin@consultorjava.com 1
  • 2.
    Objetivos Al final dela 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.
  • 5.
    Que graficas puedogenerar con JfreeChart Pie Chart De Barras De lineas De dispersion De series de tiempo De Gantt 5
  • 6.
  • 7.
  • 8.
    MEJORAS PROFESIONALES REPORTES-JASPERREPORTS Jasperreports esuna 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íade 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 delos 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 quelos 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 sepasan 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 marcasde 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 CREACIONDE UN REPORTE 14
  • 15.
    IREPORT • La herramientaiReport 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á disponerde lo siguiente: • Apache Ant • IReport • Jassperreport-0.x.x (usar la versión que viene incluida con iReport) 18
  • 19.
    Apariencia de lainterfaz 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 dela sesión usted debe ser capaz de: Conocer las generalidades del Framework Spring Elaborar servicios basados en Spring 22
  • 23.
    ¿Qué es unFramework? • 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 unFramework? • 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 usarun 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 enJava • 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 ExpertOne 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.
  • 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 ode 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 abstractionand 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 ConnectorAPI (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 variasocasiones, 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