Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
1. Entorno Java EE
Introduccin Arquitectura
2. Frameworks Java EE
Criterios de seleccin Clasificacin de Frameworks Comparando Frameworks
3. Metodologa de proyecto
Descripcin Herramientas
Entorno Java EE
1.
2.
3.
Entorno Java EE Introduccin Arquitectura Frameworks Java EE Criterios de seleccin Clasificacin de Frameworks Comparando Frameworks Metodologa de proyecto Descripcin Herramientas
Java EE 6 2009
Evolucionando hacia la productividad
Tecnologas heterogneas:
Java/.Net/PHP/Ruby HTML (*) CSS (*)
Capa de negocio
Capa de persistencia
JavaScript
ActionScript (Adobe Flex) Silverlight (Microsoft)
HTML / JavaScript
Script.aculo.us
Ext Core Ext JS Mootools
MooLego UI
JxLib Jquery Jquery UI Dojo
AJAX
Servlets
JSP Capa lgica de negocio EJB
Componentes JavaBeans
Web Services
OpenJPA
MyBatis (iBatis)
Tapestry
Wicket JSP / FreeMarker / Velocity Struts 2
Spring MVC
Stripes JSF Mojarra MyFaces
Frameworks
1.
2.
3.
Entorno Java EE Introduccin Arquitectura Frameworks Java EE Criterios de seleccin Clasificacin de Frameworks Comparando Frameworks Metodologa de proyecto Descripcin Herramientas
Acuerdos corporativos
Ajax
Escalabilidad Testing Documentacin
Integracin
Aspectos especiales
Frameworks - Clasificacin
Clasificacin
Frameworks de Aplicacin
Persistencia
Hibernate TopLink Web Service
Axis
CXF Aspectos AspectJ Plantilla Tiles FreeMarker Velocity
Frameworks - Clasificacin
Clasificacin
Frameworks Arquitectnicos
Java EE
Spring Oracle ADF Jboss Seam
Frameworks - Clasificacin
Clasificacin
Frameworks web ZK ItsNat OpenXava
JSF
Tapestry Struts 2 Wicket
FormEngine
EclipseRAP WaveMaker Struts Context Framework AppFuse
Stripes
Oracle ADF Spring MVC GWT Play Grails Vaadin
Frameworks Comparacin
Tapestry
Frameworks Tapestry
Tapestry
Framework web Java orientado a componentes, basado en el API Java Servlet. Primera release 06/2000 Versin actual 5.3.2 02/2012 Licencia Apache License 2.0
Frameworks Tapestry
Tapestry
Actividad/Soporte
Frameworks Tapestry
Tapestry
Testing
Componentes propios
Integracin con herramientas Selenium TestNG/JUnit
Documentacin
Documentacin oficial completa, pero poco adaptada a problemas reales. Varios libros publicados para la versin 3, 4 y 5
Integracin
Spring JPA
Frameworks Tapestry
Tapestry
Caractersticas especiales
Frameworks Comparacin
Wicket
Frameworks Wicket
Wicket
Framework web Java basado en componentes y plantillas XHTML
Frameworks Wicket
Wicket
Actividad/Soporte
Comunidad activa
Ajax Integracin nativa Integracin con Jquery
Escalabilidad
Alta escalabilidad, fijado como objetivo Clustering mediante replica de sesion Testing
Frameworks Wicket
Wicket
Documentacin
Excelente documentacin
Libros disponibles Integracin Spring
EJB
JPA Aspectos especiales Simplificacin entre el enlace HTML / Java Todo es Java
Frameworks Comparacin
JSF
Frameworks JSF
JSF
Especificacin estndar: JSR-314 (JSF v2.0)
Soporte Maven
Frameworks JSF
JSF
Componentes: Elementos que forman la pgina
Backing Beans: Clases Java que gestionan los datos y las acciones
Expression Language(EL): Lenguaje utilizado para enlazar los componentes y los Backing Beans Facelets: Sistema de plantillas
Frameworks JSF
JSF
Actividad/Soporte
Estndar Java EE
Ajax Sin soporte, es necesario incluir libreras de soporte Escalabilidad
Frameworks JSF
JSF
Documentacin
Aspectos especiales
Implementacin de extensiones con libreras de componentes Soporte Ajax mediante libreras de componentes
Frameworks JSF
JSF
Mojarra vs MyFaces
Frameworks Comparacin
Oracle ADF
Browser-Based
JSF ADF Faces JSP
Vi ew
JSF
ADF Controller
Struts
C ont r ol l er
ADF Binding
Java
EJB
ADFbc
BAM
Web Services
BPEL
BI
Portlets
D at a Ser vi ces
Database Web Services Legacy Systems Apps Unlimited
Internacionalizacin
Entities
ViewObjects ApplicationModules Sus elementos son una combinacin de elementos declarativos y cdigo Java: La parte declarativa se gestiona a travs de pantallas de configuracin Las clases asociadas son en parte generadas
Frameworks Comparacin
Spring
Frameworks Spring
Spring
Framework ligero para la construccin de aplicaciones empresariales
Frameworks Spring
Spring
Primera Release: 06/2003
Frameworks Spring
Spring vs Java EE 6
Spring no necesita un servidor de aplicaciones para funcionar
Java EE 6 proporciona un nuevo mecanismo Profiles que hacen a los servidores de aplicaciones ms ligeros
Spring no es un producto estndar lo que lo hace ms flexible y adaptable, permitiendo aadir nuevas funcionalidades Java EE 6 permite incorporar muchas de las libreras de Spring y extender sus funcionalidades, aunque no todas Spring es uno de los frameworks ms usuados dentro del entorno Java, pero no puede competir con las empresas privadas detrs de la especificacin Java EE 6 y sus diferentes implementaciones
Frameworks Comparacin
JBoss Seam
AJAX
JSF JPA EJB 3.0
Jboss Tools, conjunto de herramientas que proporcionan un desarrollo rpido, mediante editores WYSIWYG
Caractersticas
Proporciona una solucin completa y extendida Java EE Elimina la necesidad de Backing Beans (JSF) para enlazar directamente con EJB Integra Ajax utilizando RichFaces y ICEFaces
Frameworks Comparacin
JPA
Frameworks JPA
Java Persistence API JSR 317
API estndar de mapeo O/R
pesados y complicados
Solo puede ejecutarse en servidores Java EE Estndares de facto Hibernate Diversas implementaciones de la especificacin EclipseLink (Implementacin de referencia) JBoss Hibernate
Frameworks JPA
Caractersticas
Diseada para permitir aplicaciones distribuidas
Frameworks JPA
Implementaciones
Hibernate
Hibernate vs EclipseLink
Hibernate es ms popular y extendido que EclipseLink EclipseLink requiere bytecode, mientras Hibernate utiliza proxies dinmicos Control Lazy mejorado en EclipseLink
1.
2.
3.
Entorno Java EE Introduccin Arquitectura Frameworks Java EE Criterios de seleccin Clasificacin de Frameworks Comparando Frameworks Metodologa de proyecto Descripcin Herramientas
Frameworks a utilizar
Seleccin IDE Jdeveloper Eclipse
NetBeans
IDEA Repositorio de cdigo Subversion CVS Mercurial
Maven
Ant Definicin del entorno Entorno de desarrollo
Entorno de integracin
Integracin continua Hudson Jenkins CruiseControl Apache Continuum Bamboo (Atlassian Software Systems)
TestNG
Junit Selenium Pruebas de rendimiento
Jmeter
Grinder
Sonar
Mtricas de cdigo Cdigo testeado en test unitarios Reglas de codificacin
Herramientas incluidas
PMD/Checkstyle Findbugs Cobertura JaCoCo
Conclusiones
Desarrollo de aplicaciones Java EE
Estndares
Soporte empresarial
Tecnologa Oracle
Oracle ADF
Tecnologa JBoss
JBoss Seam
Otras tecnologas
Utiliza estndares Java EE
JSF
EJB JPA