SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Frameworks Java EE

José Ramón Romera
05-03-2011
Agenda


         1. Entorno Java EE
            • Introducción
            • Arquitectura

         2. Frameworks Java EE
            • Criterios de selección
            • Clasificación de Frameworks
            • Comparando Frameworks

         3. Metodología de proyecto
            • Descripción
            • Herramientas
Entorno Java EE
1.   Entorno Java EE
     • Introducción
     • Arquitectura
2.   Frameworks Java EE
     • Criterios de selección
     • Clasificación de Frameworks
     • Comparando Frameworks
3.   Metodología de proyecto
     • Descripción
     • Herramientas
Entorno Java EE - Introducción

 • Conjunto de especificaciones basadas en estándares
 • Implementación definida por:
     • Servidor de aplicaciones Java EE
          • Weblogic
          • GlassFish (implementación de referencia)
          • Jboss AS
     • Frameworks
              • JSF
                    • MyFaces
              • JPA
                    • Hibernate
                    • TopLink / EclipseLink
Entorno Java EE - Historia

 • J2EE 1.2 – Dec 1999
     • Orientado a sistemas distribuidos
     • Nacen frameworks web MVC
          • Apache Struts
          • Apache Tapestry
 • J2EE 1.3 – Sep 2001
     • EJB
     • Nacen frameworks como alternativa al modelo de persistencia
          • Hibernate
 • J2EE 1.4 – Nov 2003
     • Aumento de la complejidad
     • Nacen frameworks como alternativa al modelo pesado
          • Spring
Entorno Java EE - Historia

 • Java EE 5 – May 2006
     • Simplificación
     • Incorporación de ideas del resto de frameworks
          • POJO
          • Anotaciones
          • JPA
 • Java EE 6 – 2009
     • Evolucionando hacia la productividad
Entorno Java EE - Arquitectura

 • Limitaciones tecnológicas
     • HTTP: Protocolo sin estado
     • HTML: Formato documental no orientado a componentes
     • Navegador web: Cliente que “ejecuta” la aplicación. Estas aplicaciones
       tiene un control limitado sobre el navegador.
          • Clientes no estándar
     • Tecnologías heterogéneas:
          • Java/.Net/PHP/Ruby …
          • HTML (*)
          • CSS (*)
          • Plugins: Adobe Flash / Silverlight …
          • JavaScript (*)
Entorno Java EE - Arquitectura

 • Multicapa
     • Capa Cliente
     • Capa de negocio
     • Capa de persistencia
Entorno Java EE - Arquitectura

 • Capa Cliente
     • HTML
     • JavaScript
     • ActionScript (Adobe Flex)
     • Silverlight (Microsoft)



                        HTML / JavaScript
Entorno Java EE - Arquitectura

 • Librerías JavaScript
     • Prototype
     • Script.aculo.us
     • Ext Core
          • Ext JS
     • Mootools
          • MooLego UI
          • JxLib
     • Jquery
          • Jquery UI
     • Dojo

                          AJAX
Entorno Java EE - Arquitectura

 • Capa de negocio
     • Capa web
          • Servlets
          • JSP
     • Capa lógica de negocio
          • EJB
          • Componentes JavaBeans
          • Web Services
Entorno Java EE - Arquitectura

 • Capa de persistencia
     • JDBC
     • JPA (O/R Mapper)
          • Hibernate (Jboss)
          • TopLink (Oracle)
          • EclipseLink (Eclipse)
          • OpenJPA
          • …
     • MyBatis (iBatis)
Entorno Java EE - Arquitectura

 • Modelo-Vista-Controlador
Entorno Java EE - Arquitectura

 • El patrón Modelo-Vista-Controlador aporta:
     • División de responsabilidades
     • Acoplamiento bajo entre componentes
     • Fácil mantenimiento
 • Estructura de aplicación en 3 capas:
     • Modelo: responsable de la gestión del negocio.
     • Vista: responsable de la interacción con el usuario.
     • Controlador:
          • Conecta las capas de Vista y Modelo.
          • Controla el flujo de ejecución de la aplicación.
Entorno Java EE - Arquitectura

 • Frameworks MVC
    • Servlet
            • Tapestry
            • Wicket
    • JSP / FreeMarker / Velocity
            • Struts 2
            • Spring MVC
            • Stripes
    • JSF
            • Mojarra
            • MyFaces
Frameworks
1.   Entorno Java EE
     • Introducción
     • Arquitectura
2.   Frameworks Java EE
     • Criterios de selección
     • Clasificación de Frameworks
     • Comparando Frameworks
3.   Metodología de proyecto
     • Descripción
     • Herramientas
Frameworks – Criterios de selección

 • Criterios de la organización
     • Criterios de dirección/comercial
     • Acuerdos corporativos
     • …
 • Criterios de productividad a corto plazo
     • Conocimiento existente
     • Madurez metodológica
     • Librerías de desarrollo propias/adquiridas
Frameworks – Criterios de selección

 • Criterios Técnicos
     • Actividad/Soporte
     • Ajax
     • Escalabilidad
     • Testing
     • Documentación
     • Integración
     • Aspectos especiales
Frameworks - Clasificación

 • Clasificación
     • Frameworks de Aplicación
          • Persistencia
              • Hibernate
              • TopLink
          • Web Service
              • Axis
              • CXF
          • Aspectos
              • AspectJ
          • Plantilla
              • Tiles
              • FreeMarker
              • Velocity
Frameworks - Clasificación

 • Clasificación
     • Frameworks Arquitectónicos
          • Java EE
          • Spring
          • Oracle ADF
          • Jboss Seam
Frameworks - Clasificación

 • Clasificación             • ZK
     • Frameworks web        • ItsNat
          • JSF              • OpenXava
          • Tapestry         • FormEngine
          • Struts 2         • EclipseRAP
          • Wicket           • WaveMaker
          • Stripes          • Struts
          • Oracle ADF       • Context Framework
          • Spring MVC       • AppFuse
          • GWT              • …
          • Play
          • Grails
          • Vaadin
Frameworks – Comparación




               Tapestry
Frameworks – Tapestry

 • Tapestry
     • Framework web Java orientado a componentes, basado en el API Java
       Servlet.
     • Primera release 06/2000
     • Versión actual 5.3.2 – 02/2012
     • Licencia Apache License 2.0
     • Versionado cada 4-6 meses
     • Soporte Maven
Frameworks – Tapestry

 • Tapestry
     • Actividad/Soporte
          • Comunidad muy numerosa y amplio soporte
          • Objetivo de evolucionar el framework cada 4 – 6 meses
     • Ajax
          • Librerías propias
          • Soporte para librerías externas
     • Escalabilidad
          • Alta escalabilidad
          • No permite varias aplicaciones en un mismo servidor
Frameworks – Tapestry

 • Tapestry
     • Testing
          • Componentes propios
          • Integración con herramientas
                 • Selenium
                 • TestNG/JUnit
     • Documentación
          • Documentación oficial completa, pero poco adaptada a problemas
            reales.
          • Varios libros publicados para la versión 3, 4 y 5
     • Integración
          • Spring
          • JPA
Frameworks – Tapestry

 • Tapestry
     • Características especiales
          • Configuración muy sencilla
          • Facilita el diseño al basarse en plantillas HTML
          • Hot Deploy
          • API no compatible con versiones anteriores
Frameworks – Comparación




                Wicket
Frameworks – Wicket

 • Wicket
     • Framework web Java basado en componentes y plantillas XHTML
     • Primera release 06/2005
     • Versión actual 1.5.4 – 01/2012
     • Licencia Apache License 2.0
     • Soporte Maven
Frameworks – Wicket

 • Wicket
     • Actividad/Soporte
            • Comunidad activa
     • Ajax
            • Integración nativa
            • Integración con Jquery
     • Escalabilidad
            • Alta escalabilidad, fijado como objetivo
            • Clustering mediante replica de sesion
     • Testing
Frameworks – Wicket

 • Wicket
     • Documentación
            • Excelente documentación
            • Libros disponibles
     • Integración
            • Spring
            • EJB
            • JPA
     • Aspectos especiales
            • Simplificación entre el enlace HTML / Java
            • Todo es Java
Frameworks – Comparación




                  JSF
Frameworks – JSF

 • JSF
     • Especificación estándar: JSR-314 (JSF v2.0)
     • Diversas implementaciones de la especificación
          • Mojarra (implementación de referencia)
          • MyFaces (implementación de apache)
     • Orientado a componentes:
          • Conecta eventos generados por el cliente con el código servidor
          • Construcción de interfaces mediante componentes
          • Mantiene el estado de los componentes a lo largo del uso del
            componente
     • Soporte Maven
Frameworks – JSF

 • JSF
     • Componentes: Elementos que forman la página
     • 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
     • Ficheros de configuración XML
Frameworks – JSF

 • JSF
     • Actividad/Soporte
          • Estándar Java EE
     • Ajax
          • Sin soporte, es necesario incluir librerías de soporte
     • Escalabilidad
          • Soporte del servidor de aplicaciones
     • Testing
          • Arquillian / JSFUnit
          • Selenium
Frameworks – JSF

 • JSF
     • Documentación
          • Documentación especifica de JSF
          • Documentación especifica de las librerías de componentes
     • Integración
          • Basada en la pila tecnológica Java EE 6
     • Aspectos especiales
          • Implementación de extensiones con librerías de componentes
          • Soporte Ajax mediante librerías de componentes
Frameworks – JSF

 • JSF
     • Mojarra vs MyFaces
 • Librerías de componentes JSF
     • PrimeFaces
     • RichFaces
     • ICEFaces
Frameworks – Comparación




              Oracle ADF
Frameworks – Oracle ADF

 • Oracle ADF
     • Framework de Oracle basado en estándares para el desarrollo de
       aplicaciones Java
     • Servidor WebLogic / JDeveloper
          • Existen extensiones para otros servidores de aplicaciones
     • Sin soporte Maven
Frameworks – Oracle ADF
                              Desktop                                         Browser-Based
                            ADF                                                                           Vi ew
                                              Office         Mobile       JSF    ADF Faces        JSP
                            Swing
Metadata Services (MDS)




                                                                JSF     ADF Controller         Struts     C r ol l er
                                                                                                           ont


                            ADF Binding                                                                   Model


                                                                                                          Busi ness
                            Java    EJB       ADFbc    BAM     Web Services       BPEL   BI   Portlets
                                                                                                          Ser vi ces



                                                                                                          D a
                                                                                                           at
                                                                                                          Ser vi ces
                                   Database            Web Services    Legacy Systems    Apps Unlimited
Frameworks – Oracle ADF

 • Oracle ADF - ADF Rich Faces
     • JSF
     • Componentes propios ADF
     • Incorporación de AJAX: Partial Page Rendering
     • Validación en el cliente
     • Soporte Look & Feel a través de skins
     • Internacionalización
Frameworks – Oracle ADF

 • Oracle ADF – Modelo
    • Basada en componente: ADF Business Components (ADF BC)
         • Entities
         • ViewObjects
         • ApplicationModules
    • Sus elementos son una combinación de elementos declarativos y código
      Java:
         • La parte declarativa se gestiona a través de pantallas de
           configuración
         • Las clases asociadas son en parte generadas
    • La parte declarativa permite liberar al programador de tareas de base
    • Requiere licencia, aunque vienen como parte de Weblogic
Frameworks – Comparación




                Spring
Frameworks – Spring

 • Spring
     • Framework ligero para la construcción de aplicaciones empresariales
     • Basado en diferentes patrones de diseño y “Best Practices”
     • Organizado en diferentes módulos
Frameworks – Spring

• Spring
    • Primera Release: 06/2003
    • Versión actual 3.1 - 12/2011
    • Licencia Apache License 2.0
    • Soporte Maven
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 más ligeros
    • Spring no es un producto estándar lo que lo hace más flexible y adaptable,
      permitiendo añadir nuevas funcionalidades
    • Java EE 6 permite incorporar muchas de las librerías de Spring y extender
      sus funcionalidades, aunque no todas
    • Spring es uno de los frameworks más usuados dentro del entorno Java,
      pero no puede competir con las empresas privadas detrás de la
      especificación Java EE 6 y sus diferentes implementaciones
Frameworks – Comparación




              JBoss Seam
Frameworks – JBoss Seam

• JBoss Seam 3.0
    • Framework de soporte a Java EE, basado en tecnologías como:
         • AJAX
         • JSF
         • JPA
         • EJB 3.0
    • Jboss Tools, conjunto de herramientas que proporcionan un desarrollo
      rápido, mediante editores WYSIWYG
• Características
    • Proporciona una solución completa y extendida Java EE
    • Elimina la necesidad de Backing Beans (JSF) para enlazar directamente con
      EJB
    • Integra Ajax utilizando RichFaces y ICEFaces
Frameworks – Comparación




                  JPA
Frameworks – JPA

• Java Persistence API – JSR 317
    • API estándar de mapeo O/R
    • Primera release: 05/2006
    • Versión actual: 2.0 12/2009
    • Nace para estandarizar la persistencia de objetos
         • Entity Beans (EJB v2.0):
             • pesados y complicados
             • Solo puede ejecutarse en servidores Java EE
         • Estándares de facto
             • Hibernate
    • Diversas implementaciones de la especificación
         • EclipseLink (Implementación de referencia)
         • JBoss Hibernate
Frameworks – JPA

• Características
    • Diseñada para permitir aplicaciones distribuidas
    • El ciclo de vida esta gestionado por el servidor de aplicaciones
         • Permite su uso fuera de Java EE
    • Basada en metadatos definidos mediante anotaciones en Entities
    • Entity, unidad básica de persistencia
         • Mapeo entre Entity (Clase Java) y diversas tablas
    • EntityManager, unidad básica de gestión de la persistencia
         • persistence.xml (configuración de la conexión)
Frameworks – JPA

• Implementaciones
    • Hibernate
    • EclipseLink (Implementación de referencia)
• Hibernate vs EclipseLink
    • Hibernate es más popular y extendido que EclipseLink
    • EclipseLink requiere bytecode, mientras Hibernate utiliza proxies
      dinámicos
    • Control Lazy mejorado en EclipseLink



            Ambos son una buen elección
Construcción de proyectos
         Java EE
1.   Entorno Java EE
     • Introducción
     • Arquitectura
2.   Frameworks Java EE
     • Criterios de selección
     • Clasificación de Frameworks
     • Comparando Frameworks
3.   Metodología de proyecto
     • Descripción
     • Herramientas
Construcción de proyectos Java EE

 • Metodología
    • Selección tecnológica
         • Frameworks a utilizar
    • Selección IDE
         • Jdeveloper
         • Eclipse
         • NetBeans
         • IDEA
    • Repositorio de código
         • Subversion
         • CVS
         • Mercurial
Construcción de proyectos Java EE

 • Metodología
    • Herramienta de construcción
         • Maven
         • Ant
    • Definición del entorno
         • Entorno de desarrollo
         • Entorno de integración
    • Integración continua
         • Hudson
         • Jenkins
         • CruiseControl
         • Apache Continuum
         • Bamboo (Atlassian Software Systems)
Construcción de proyectos Java EE

 • Metodología
    • Pruebas unitarias
         • TestNG
         • Junit
         • Selenium
    • Pruebas de rendimiento
         • Jmeter
         • Grinder
Construcción de proyectos Java EE

 • Metodología
    • Calidad del Software
         • Sonar
             • Métricas de código
             • Código testeado en test unitarios
             • Reglas de codificación
         • Herramientas incluidas
             • PMD/Checkstyle
             • Findbugs
             • Cobertura
             • JaCoCo
Conclusiones
• Desarrollo de aplicaciones Java EE
    • Estándares
    • Soporte empresarial
    • Tecnología Oracle
        • Oracle ADF
    • Tecnología JBoss
        • JBoss Seam
    • Otras tecnologías
        • Utiliza estándares Java EE
             • JSF
             • EJB
             • JPA

Contenu connexe

Tendances

Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
Jakub Kubrynski
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
jujuju12
 
Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)
Gunith Devasurendra
 

Tendances (20)

Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
 
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practiceRoom 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
Room 2 - 1 - Phạm Quang Minh - A real DevOps culture in practice
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
CH02:從JDK到IDE
CH02:從JDK到IDECH02:從JDK到IDE
CH02:從JDK到IDE
 
Easy Java Integration Testing with Testcontainers​
Easy Java Integration Testing with Testcontainers​Easy Java Integration Testing with Testcontainers​
Easy Java Integration Testing with Testcontainers​
 
Dynamic web pages in java
Dynamic web pages in javaDynamic web pages in java
Dynamic web pages in java
 
GT.M: A Tried and Tested Open-Source NoSQL Database
GT.M: A Tried and Tested Open-Source NoSQL DatabaseGT.M: A Tried and Tested Open-Source NoSQL Database
GT.M: A Tried and Tested Open-Source NoSQL Database
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
Variable hoisting in JavaScript
Variable hoisting in JavaScriptVariable hoisting in JavaScript
Variable hoisting in JavaScript
 
Java Class Loader
Java Class LoaderJava Class Loader
Java Class Loader
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
 
Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)
 
JPA For Beginner's
JPA For Beginner'sJPA For Beginner's
JPA For Beginner's
 
Spring Web MVC
Spring Web MVCSpring Web MVC
Spring Web MVC
 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overview
 

En vedette

Bpmn modelado negocios
Bpmn modelado negociosBpmn modelado negocios
Bpmn modelado negocios
gmp0079
 
Gestión de procesos del negocio bpmn
Gestión de procesos del negocio   bpmnGestión de procesos del negocio   bpmn
Gestión de procesos del negocio bpmn
Julio Pari
 
Ppt bonita
Ppt bonitaPpt bonita
Ppt bonita
lorena
 
Notación de Gestión de Procesos de Negocio
Notación de Gestión de Procesos de NegocioNotación de Gestión de Procesos de Negocio
Notación de Gestión de Procesos de Negocio
uni
 

En vedette (20)

Curso BPM Avanzado (contenidos)
Curso BPM Avanzado (contenidos)Curso BPM Avanzado (contenidos)
Curso BPM Avanzado (contenidos)
 
Curso Procesos de ITIL Fundamental (contenidos)
Curso Procesos de ITIL Fundamental (contenidos)Curso Procesos de ITIL Fundamental (contenidos)
Curso Procesos de ITIL Fundamental (contenidos)
 
01 semana-arena
01 semana-arena01 semana-arena
01 semana-arena
 
Curso bhh bpmn 2.0 ver 2013 s
Curso bhh bpmn 2.0 ver 2013 sCurso bhh bpmn 2.0 ver 2013 s
Curso bhh bpmn 2.0 ver 2013 s
 
¿Cuándo entra en acción BPM?
¿Cuándo entra en acción BPM?¿Cuándo entra en acción BPM?
¿Cuándo entra en acción BPM?
 
Modelación de Procesos con BPMN
Modelación de Procesos con BPMNModelación de Procesos con BPMN
Modelación de Procesos con BPMN
 
Bpmn modelado negocios
Bpmn modelado negociosBpmn modelado negocios
Bpmn modelado negocios
 
Business Process Management
Business Process ManagementBusiness Process Management
Business Process Management
 
20.seminario ventas bpm
20.seminario ventas bpm20.seminario ventas bpm
20.seminario ventas bpm
 
Bpm soa
Bpm soaBpm soa
Bpm soa
 
Gestión de procesos del negocio bpmn
Gestión de procesos del negocio   bpmnGestión de procesos del negocio   bpmn
Gestión de procesos del negocio bpmn
 
Introduccion bpmn
Introduccion bpmnIntroduccion bpmn
Introduccion bpmn
 
Business Intelligence con Excel
Business Intelligence con ExcelBusiness Intelligence con Excel
Business Intelligence con Excel
 
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de usoEl futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
El futuro de Big Data: La calidad del análisis. Modelos efectivos y casos de uso
 
SeminBIG DATA: Qué significa realmente y ejemplos de utilizaciónario big data
SeminBIG DATA: Qué significa realmente y ejemplos de utilizaciónario big dataSeminBIG DATA: Qué significa realmente y ejemplos de utilizaciónario big data
SeminBIG DATA: Qué significa realmente y ejemplos de utilizaciónario big data
 
Ppt bonita
Ppt bonitaPpt bonita
Ppt bonita
 
Proyecto sistema de evaluación de la investigación formativa
Proyecto sistema de evaluación de la investigación formativaProyecto sistema de evaluación de la investigación formativa
Proyecto sistema de evaluación de la investigación formativa
 
Notación de Gestión de Procesos de Negocio
Notación de Gestión de Procesos de NegocioNotación de Gestión de Procesos de Negocio
Notación de Gestión de Procesos de Negocio
 
Metodología PMBoK
Metodología PMBoKMetodología PMBoK
Metodología PMBoK
 
Clase: Uso correcto de subprocesos bpmn
Clase: Uso correcto de subprocesos bpmnClase: Uso correcto de subprocesos bpmn
Clase: Uso correcto de subprocesos bpmn
 

Similaire à Frameworks JAVA EE 5 de marzo de 2.012

Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
Marcos Jara
 
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidadOracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
avanttic Consultoría Tecnológica
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
Robert Rayco Quiroz
 

Similaire à Frameworks JAVA EE 5 de marzo de 2.012 (20)

Modulo 1 java ee platform
Modulo 1   java ee platformModulo 1   java ee platform
Modulo 1 java ee platform
 
Oracle-Developer-Day-Colombia_MySQL-Feb27_12
Oracle-Developer-Day-Colombia_MySQL-Feb27_12Oracle-Developer-Day-Colombia_MySQL-Feb27_12
Oracle-Developer-Day-Colombia_MySQL-Feb27_12
 
Presentacion mvc orm
Presentacion mvc ormPresentacion mvc orm
Presentacion mvc orm
 
Curso JAVA DESARROLLO DE APLICACIONES JEE.
Curso JAVA DESARROLLO DE APLICACIONES JEE.Curso JAVA DESARROLLO DE APLICACIONES JEE.
Curso JAVA DESARROLLO DE APLICACIONES JEE.
 
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesSeminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
 
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
Java Web - Struts
Java Web - StrutsJava Web - Struts
Java Web - Struts
 
Introducción a Asp.Net Mvc
Introducción a Asp.Net MvcIntroducción a Asp.Net Mvc
Introducción a Asp.Net Mvc
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
Curso JAVA JEE FUNDAMENTOS DE DESARROLLO JAVA CON SPRINGFRAMEWORK.
Curso JAVA JEE FUNDAMENTOS DE DESARROLLO JAVA CON SPRINGFRAMEWORK.Curso JAVA JEE FUNDAMENTOS DE DESARROLLO JAVA CON SPRINGFRAMEWORK.
Curso JAVA JEE FUNDAMENTOS DE DESARROLLO JAVA CON SPRINGFRAMEWORK.
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidadOracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
 
Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 

Plus de Escoles Universitàries Gimbernat i Tomàs Cerdà

Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...
Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...
Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...
Escoles Universitàries Gimbernat i Tomàs Cerdà
 

Plus de Escoles Universitàries Gimbernat i Tomàs Cerdà (20)

Grau Informatica Serveis - Tomas Cerda.pdf
Grau Informatica Serveis - Tomas Cerda.pdfGrau Informatica Serveis - Tomas Cerda.pdf
Grau Informatica Serveis - Tomas Cerda.pdf
 
La nueva era de la inteligencia artificial: azure y servicios cognitivos
La nueva era de la inteligencia artificial: azure y servicios cognitivosLa nueva era de la inteligencia artificial: azure y servicios cognitivos
La nueva era de la inteligencia artificial: azure y servicios cognitivos
 
Los datos genómicos en el ámbito de la salud
Los datos genómicos en el ámbito de la saludLos datos genómicos en el ámbito de la salud
Los datos genómicos en el ámbito de la salud
 
Módulo de BIOINFORMATICA
Módulo de BIOINFORMATICA Módulo de BIOINFORMATICA
Módulo de BIOINFORMATICA
 
EU Gimbernat Desenvolupament Habilitats Digitals per la iProductivitat
EU Gimbernat Desenvolupament Habilitats Digitals per la iProductivitatEU Gimbernat Desenvolupament Habilitats Digitals per la iProductivitat
EU Gimbernat Desenvolupament Habilitats Digitals per la iProductivitat
 
EUG Informatica Serveis a Empreses
EUG Informatica Serveis a EmpresesEUG Informatica Serveis a Empreses
EUG Informatica Serveis a Empreses
 
Big Data y Redes Sociales: Ejemplos y casos de éxito
Big Data y Redes Sociales: Ejemplos y casos de éxitoBig Data y Redes Sociales: Ejemplos y casos de éxito
Big Data y Redes Sociales: Ejemplos y casos de éxito
 
Diseño de videojuegos
Diseño de videojuegosDiseño de videojuegos
Diseño de videojuegos
 
Material de la sesión técnica sobre “Patrones de diseño de interacción de int...
Material de la sesión técnica sobre “Patrones de diseño de interacción de int...Material de la sesión técnica sobre “Patrones de diseño de interacción de int...
Material de la sesión técnica sobre “Patrones de diseño de interacción de int...
 
Minería de Datos: Qué significa realmente y ejemplos de utilización
Minería de Datos: Qué significa realmente y ejemplos de utilizaciónMinería de Datos: Qué significa realmente y ejemplos de utilización
Minería de Datos: Qué significa realmente y ejemplos de utilización
 
Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...
Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...
Sesión técnica sobre Game Design, Gameplay y metologías agile para proyectos ...
 
El impacto tecnologico de la imagen para el diagnostico
El impacto tecnologico de la imagen para el diagnosticoEl impacto tecnologico de la imagen para el diagnostico
El impacto tecnologico de la imagen para el diagnostico
 
Ricoh empresa de producto a empresa de servicios 9 de mayo 2013
Ricoh empresa de producto a empresa de servicios 9 de mayo 2013Ricoh empresa de producto a empresa de servicios 9 de mayo 2013
Ricoh empresa de producto a empresa de servicios 9 de mayo 2013
 
Experiencia del HSJD en el campo del eHealth
Experiencia del HSJD en el campo del eHealthExperiencia del HSJD en el campo del eHealth
Experiencia del HSJD en el campo del eHealth
 
Sesión técnica sobre gestion documental
Sesión técnica sobre gestion documentalSesión técnica sobre gestion documental
Sesión técnica sobre gestion documental
 
El camino para implantar soa con éxito
El camino para implantar soa con éxitoEl camino para implantar soa con éxito
El camino para implantar soa con éxito
 
Grado d'informàtica i serveis
Grado d'informàtica i serveisGrado d'informàtica i serveis
Grado d'informàtica i serveis
 
Guiametabolica org gimbernat enero 2013
Guiametabolica org  gimbernat enero 2013Guiametabolica org  gimbernat enero 2013
Guiametabolica org gimbernat enero 2013
 
Guiadiabetes gimbernat enero 2013
Guiadiabetes  gimbernat enero 2013Guiadiabetes  gimbernat enero 2013
Guiadiabetes gimbernat enero 2013
 
Portal de salud faros gimbernat-enero 2013
Portal de salud faros gimbernat-enero 2013Portal de salud faros gimbernat-enero 2013
Portal de salud faros gimbernat-enero 2013
 

Dernier

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 

Dernier (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Frameworks JAVA EE 5 de marzo de 2.012

  • 1.
  • 2. Frameworks Java EE José Ramón Romera 05-03-2011
  • 3. Agenda 1. Entorno Java EE • Introducción • Arquitectura 2. Frameworks Java EE • Criterios de selección • Clasificación de Frameworks • Comparando Frameworks 3. Metodología de proyecto • Descripción • Herramientas
  • 5. 1. Entorno Java EE • Introducción • Arquitectura 2. Frameworks Java EE • Criterios de selección • Clasificación de Frameworks • Comparando Frameworks 3. Metodología de proyecto • Descripción • Herramientas
  • 6. Entorno Java EE - Introducción • Conjunto de especificaciones basadas en estándares • Implementación definida por: • Servidor de aplicaciones Java EE • Weblogic • GlassFish (implementación de referencia) • Jboss AS • Frameworks • JSF • MyFaces • JPA • Hibernate • TopLink / EclipseLink
  • 7. Entorno Java EE - Historia • J2EE 1.2 – Dec 1999 • Orientado a sistemas distribuidos • Nacen frameworks web MVC • Apache Struts • Apache Tapestry • J2EE 1.3 – Sep 2001 • EJB • Nacen frameworks como alternativa al modelo de persistencia • Hibernate • J2EE 1.4 – Nov 2003 • Aumento de la complejidad • Nacen frameworks como alternativa al modelo pesado • Spring
  • 8. Entorno Java EE - Historia • Java EE 5 – May 2006 • Simplificación • Incorporación de ideas del resto de frameworks • POJO • Anotaciones • JPA • Java EE 6 – 2009 • Evolucionando hacia la productividad
  • 9. Entorno Java EE - Arquitectura • Limitaciones tecnológicas • HTTP: Protocolo sin estado • HTML: Formato documental no orientado a componentes • Navegador web: Cliente que “ejecuta” la aplicación. Estas aplicaciones tiene un control limitado sobre el navegador. • Clientes no estándar • Tecnologías heterogéneas: • Java/.Net/PHP/Ruby … • HTML (*) • CSS (*) • Plugins: Adobe Flash / Silverlight … • JavaScript (*)
  • 10. Entorno Java EE - Arquitectura • Multicapa • Capa Cliente • Capa de negocio • Capa de persistencia
  • 11. Entorno Java EE - Arquitectura • Capa Cliente • HTML • JavaScript • ActionScript (Adobe Flex) • Silverlight (Microsoft) HTML / JavaScript
  • 12. Entorno Java EE - Arquitectura • Librerías JavaScript • Prototype • Script.aculo.us • Ext Core • Ext JS • Mootools • MooLego UI • JxLib • Jquery • Jquery UI • Dojo AJAX
  • 13. Entorno Java EE - Arquitectura • Capa de negocio • Capa web • Servlets • JSP • Capa lógica de negocio • EJB • Componentes JavaBeans • Web Services
  • 14. Entorno Java EE - Arquitectura • Capa de persistencia • JDBC • JPA (O/R Mapper) • Hibernate (Jboss) • TopLink (Oracle) • EclipseLink (Eclipse) • OpenJPA • … • MyBatis (iBatis)
  • 15. Entorno Java EE - Arquitectura • Modelo-Vista-Controlador
  • 16. Entorno Java EE - Arquitectura • El patrón Modelo-Vista-Controlador aporta: • División de responsabilidades • Acoplamiento bajo entre componentes • Fácil mantenimiento • Estructura de aplicación en 3 capas: • Modelo: responsable de la gestión del negocio. • Vista: responsable de la interacción con el usuario. • Controlador: • Conecta las capas de Vista y Modelo. • Controla el flujo de ejecución de la aplicación.
  • 17. Entorno Java EE - Arquitectura • Frameworks MVC • Servlet • Tapestry • Wicket • JSP / FreeMarker / Velocity • Struts 2 • Spring MVC • Stripes • JSF • Mojarra • MyFaces
  • 19. 1. Entorno Java EE • Introducción • Arquitectura 2. Frameworks Java EE • Criterios de selección • Clasificación de Frameworks • Comparando Frameworks 3. Metodología de proyecto • Descripción • Herramientas
  • 20. Frameworks – Criterios de selección • Criterios de la organización • Criterios de dirección/comercial • Acuerdos corporativos • … • Criterios de productividad a corto plazo • Conocimiento existente • Madurez metodológica • Librerías de desarrollo propias/adquiridas
  • 21. Frameworks – Criterios de selección • Criterios Técnicos • Actividad/Soporte • Ajax • Escalabilidad • Testing • Documentación • Integración • Aspectos especiales
  • 22. Frameworks - Clasificación • Clasificación • Frameworks de Aplicación • Persistencia • Hibernate • TopLink • Web Service • Axis • CXF • Aspectos • AspectJ • Plantilla • Tiles • FreeMarker • Velocity
  • 23. Frameworks - Clasificación • Clasificación • Frameworks Arquitectónicos • Java EE • Spring • Oracle ADF • Jboss Seam
  • 24. Frameworks - Clasificación • Clasificación • ZK • Frameworks web • ItsNat • JSF • OpenXava • Tapestry • FormEngine • Struts 2 • EclipseRAP • Wicket • WaveMaker • Stripes • Struts • Oracle ADF • Context Framework • Spring MVC • AppFuse • GWT • … • Play • Grails • Vaadin
  • 26. Frameworks – Tapestry • Tapestry • Framework web Java orientado a componentes, basado en el API Java Servlet. • Primera release 06/2000 • Versión actual 5.3.2 – 02/2012 • Licencia Apache License 2.0 • Versionado cada 4-6 meses • Soporte Maven
  • 27. Frameworks – Tapestry • Tapestry • Actividad/Soporte • Comunidad muy numerosa y amplio soporte • Objetivo de evolucionar el framework cada 4 – 6 meses • Ajax • Librerías propias • Soporte para librerías externas • Escalabilidad • Alta escalabilidad • No permite varias aplicaciones en un mismo servidor
  • 28. Frameworks – Tapestry • Tapestry • Testing • Componentes propios • Integración con herramientas • Selenium • TestNG/JUnit • Documentación • Documentación oficial completa, pero poco adaptada a problemas reales. • Varios libros publicados para la versión 3, 4 y 5 • Integración • Spring • JPA
  • 29. Frameworks – Tapestry • Tapestry • Características especiales • Configuración muy sencilla • Facilita el diseño al basarse en plantillas HTML • Hot Deploy • API no compatible con versiones anteriores
  • 31. Frameworks – Wicket • Wicket • Framework web Java basado en componentes y plantillas XHTML • Primera release 06/2005 • Versión actual 1.5.4 – 01/2012 • Licencia Apache License 2.0 • Soporte Maven
  • 32. Frameworks – Wicket • Wicket • Actividad/Soporte • Comunidad activa • Ajax • Integración nativa • Integración con Jquery • Escalabilidad • Alta escalabilidad, fijado como objetivo • Clustering mediante replica de sesion • Testing
  • 33. Frameworks – Wicket • Wicket • Documentación • Excelente documentación • Libros disponibles • Integración • Spring • EJB • JPA • Aspectos especiales • Simplificación entre el enlace HTML / Java • Todo es Java
  • 35. Frameworks – JSF • JSF • Especificación estándar: JSR-314 (JSF v2.0) • Diversas implementaciones de la especificación • Mojarra (implementación de referencia) • MyFaces (implementación de apache) • Orientado a componentes: • Conecta eventos generados por el cliente con el código servidor • Construcción de interfaces mediante componentes • Mantiene el estado de los componentes a lo largo del uso del componente • Soporte Maven
  • 36. Frameworks – JSF • JSF • Componentes: Elementos que forman la página • 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 • Ficheros de configuración XML
  • 37. Frameworks – JSF • JSF • Actividad/Soporte • Estándar Java EE • Ajax • Sin soporte, es necesario incluir librerías de soporte • Escalabilidad • Soporte del servidor de aplicaciones • Testing • Arquillian / JSFUnit • Selenium
  • 38. Frameworks – JSF • JSF • Documentación • Documentación especifica de JSF • Documentación especifica de las librerías de componentes • Integración • Basada en la pila tecnológica Java EE 6 • Aspectos especiales • Implementación de extensiones con librerías de componentes • Soporte Ajax mediante librerías de componentes
  • 39. Frameworks – JSF • JSF • Mojarra vs MyFaces • Librerías de componentes JSF • PrimeFaces • RichFaces • ICEFaces
  • 41. Frameworks – Oracle ADF • Oracle ADF • Framework de Oracle basado en estándares para el desarrollo de aplicaciones Java • Servidor WebLogic / JDeveloper • Existen extensiones para otros servidores de aplicaciones • Sin soporte Maven
  • 42. Frameworks – Oracle ADF Desktop Browser-Based ADF Vi ew Office Mobile JSF ADF Faces JSP Swing Metadata Services (MDS) JSF ADF Controller Struts C r ol l er ont ADF Binding Model Busi ness Java EJB ADFbc BAM Web Services BPEL BI Portlets Ser vi ces D a at Ser vi ces Database Web Services Legacy Systems Apps Unlimited
  • 43. Frameworks – Oracle ADF • Oracle ADF - ADF Rich Faces • JSF • Componentes propios ADF • Incorporación de AJAX: Partial Page Rendering • Validación en el cliente • Soporte Look & Feel a través de skins • Internacionalización
  • 44. Frameworks – Oracle ADF • Oracle ADF – Modelo • Basada en componente: ADF Business Components (ADF BC) • Entities • ViewObjects • ApplicationModules • Sus elementos son una combinación de elementos declarativos y código Java: • La parte declarativa se gestiona a través de pantallas de configuración • Las clases asociadas son en parte generadas • La parte declarativa permite liberar al programador de tareas de base • Requiere licencia, aunque vienen como parte de Weblogic
  • 46. Frameworks – Spring • Spring • Framework ligero para la construcción de aplicaciones empresariales • Basado en diferentes patrones de diseño y “Best Practices” • Organizado en diferentes módulos
  • 47. Frameworks – Spring • Spring • Primera Release: 06/2003 • Versión actual 3.1 - 12/2011 • Licencia Apache License 2.0 • Soporte Maven
  • 48. 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 más ligeros • Spring no es un producto estándar lo que lo hace más flexible y adaptable, permitiendo añadir nuevas funcionalidades • Java EE 6 permite incorporar muchas de las librerías de Spring y extender sus funcionalidades, aunque no todas • Spring es uno de los frameworks más usuados dentro del entorno Java, pero no puede competir con las empresas privadas detrás de la especificación Java EE 6 y sus diferentes implementaciones
  • 50. Frameworks – JBoss Seam • JBoss Seam 3.0 • Framework de soporte a Java EE, basado en tecnologías como: • AJAX • JSF • JPA • EJB 3.0 • Jboss Tools, conjunto de herramientas que proporcionan un desarrollo rápido, mediante editores WYSIWYG • Características • Proporciona una solución completa y extendida Java EE • Elimina la necesidad de Backing Beans (JSF) para enlazar directamente con EJB • Integra Ajax utilizando RichFaces y ICEFaces
  • 52. Frameworks – JPA • Java Persistence API – JSR 317 • API estándar de mapeo O/R • Primera release: 05/2006 • Versión actual: 2.0 12/2009 • Nace para estandarizar la persistencia de objetos • Entity Beans (EJB v2.0): • pesados y complicados • Solo puede ejecutarse en servidores Java EE • Estándares de facto • Hibernate • Diversas implementaciones de la especificación • EclipseLink (Implementación de referencia) • JBoss Hibernate
  • 53. Frameworks – JPA • Características • Diseñada para permitir aplicaciones distribuidas • El ciclo de vida esta gestionado por el servidor de aplicaciones • Permite su uso fuera de Java EE • Basada en metadatos definidos mediante anotaciones en Entities • Entity, unidad básica de persistencia • Mapeo entre Entity (Clase Java) y diversas tablas • EntityManager, unidad básica de gestión de la persistencia • persistence.xml (configuración de la conexión)
  • 54. Frameworks – JPA • Implementaciones • Hibernate • EclipseLink (Implementación de referencia) • Hibernate vs EclipseLink • Hibernate es más popular y extendido que EclipseLink • EclipseLink requiere bytecode, mientras Hibernate utiliza proxies dinámicos • Control Lazy mejorado en EclipseLink Ambos son una buen elección
  • 56. 1. Entorno Java EE • Introducción • Arquitectura 2. Frameworks Java EE • Criterios de selección • Clasificación de Frameworks • Comparando Frameworks 3. Metodología de proyecto • Descripción • Herramientas
  • 57. Construcción de proyectos Java EE • Metodología • Selección tecnológica • Frameworks a utilizar • Selección IDE • Jdeveloper • Eclipse • NetBeans • IDEA • Repositorio de código • Subversion • CVS • Mercurial
  • 58. Construcción de proyectos Java EE • Metodología • Herramienta de construcción • Maven • Ant • Definición del entorno • Entorno de desarrollo • Entorno de integración • Integración continua • Hudson • Jenkins • CruiseControl • Apache Continuum • Bamboo (Atlassian Software Systems)
  • 59. Construcción de proyectos Java EE • Metodología • Pruebas unitarias • TestNG • Junit • Selenium • Pruebas de rendimiento • Jmeter • Grinder
  • 60. Construcción de proyectos Java EE • Metodología • Calidad del Software • Sonar • Métricas de código • Código testeado en test unitarios • Reglas de codificación • Herramientas incluidas • PMD/Checkstyle • Findbugs • Cobertura • JaCoCo
  • 61. Conclusiones • Desarrollo de aplicaciones Java EE • Estándares • Soporte empresarial • Tecnología Oracle • Oracle ADF • Tecnología JBoss • JBoss Seam • Otras tecnologías • Utiliza estándares Java EE • JSF • EJB • JPA