• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Frameworks J2EE
 

Frameworks J2EE

on

  • 9,903 views

Introducción a los principales Frameworks J2EE como JSF, Struts1, Struts2, Spring, JBOSS Seam, GWT, etc.

Introducción a los principales Frameworks J2EE como JSF, Struts1, Struts2, Spring, JBOSS Seam, GWT, etc.

Statistics

Views

Total Views
9,903
Views on SlideShare
9,903
Embed Views
0

Actions

Likes
1
Downloads
256
Comments
2

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Frameworks J2EE Frameworks J2EE Presentation Transcript

    • FRAMEWORKS J2EE
    • FrameworkConceptos básicos Framework: Conjunto estandarizado de conceptos,prácticas y criterios para enfocar un tipo deproblemática particular, que sirve como referencia paraenfrentar y resolver nuevos problemas de índolesimilar. (wikipedia) Soporte de programas, bibliotecas y un lenguajeinterpretado, etc. para ayudar a desarrollar y unir losdiferentes componentes de un proyecto. Estructura y una metodología de trabajo.
    • FrameworkMVC - Modelo, vistas y controlador  Arquitectura que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control: • Vista: JSPs, HTML, etc. • Modelo: Sistema de Gestión de Base de Datos, la lógica de negocio, etc. • Controlador: Responsable de recibir los eventos de entrada desde la vista.
    • FrameworkEntorno de desarrollo integrado  IDE: Conjunto de herramientas de programación.  IDE: Es un entorno de programación: • Un editor de texto. • Un compilador/intérprete. • Un depurador. • Sistema de control de versiones. • Ayuda para interfaces de usuario. • Automatizar tareas: (ANT, Maven, etc.)  Ejemplos IDE: Eclipse, NetBeans, etc.
    • FrameworkFrameworks J2EE destacados  JSF (Java Server Faces)  Struts (1.x y 2.x)  Spring  J BOSS SEAM  GWT (Google Web Toolkit)  Stripes, Tapestry, Wicket, Maverick, etc.
    • JSF(Java Server Faces)
    • JSFConceptos básicos  J ava Server Faces: especificación desarrollada por la J ava Community Process como J SR 127.  Tecnología y framework para aplicaciones web Java que simplifica el desarrollo de interfaces de usuario.  Usa JavaServer Pages (JSP) para desplegar páginas.  Puede ser integrado con las bibliotecas de componentes JSF JBoss RichFaces o ICEFaces.
    • JSFIncluye  APIs para componentes de una interfaz de usuario y administrar su estado, manejar eventos, validar entrada, definir un esquema de navegación de las páginas y dar soporte para internacionalización y accesibilidad.  Conjunto por defecto de componentes para la interfaz de usuario.  Dos bibliotecas de etiquetas personalizadas para JavaServer Pages que permiten expresar una interfaz JavaServer Faces dentro de una página JSP.
    • JSFIncluye  Un modelo de eventos en el lado del servidor.  Administración de estados.  Beans administrados.
    • JSFImplementaciones  Sun Microsystems: JSF Reference Implementation.  MyFaces: royecto de Apache Software Foundation.  Rich Faces: http://www.jboss.org/richfaces  ICEFaces: http://www.icefaces.org/main/home/  jQuery4jsf: Basados en uno de los más populares framework javascript → jQuery.  PrimeFaces
    • JSFImplementaciones – PrimeFaces  Más de 100 componentes Ajax de fácil uso.  Soporta JSF 2.0.  No requiere una complicada configuraciones.  Showcase de Ejemplo para descarga.  Documentación (pdf con 411 pg.).  Temas preconfigurados (Ahorra maquetación) http://www.primefaces.org/
    • JSFVentajas  Java EE Standard.  Muchos componentes.  Muchas librerías y herramientas.  Buen soporte por varios IDEs.  Alta demanda laboral.  Rápido y fácil para empezar a desarrollar.  El código JavaScript se incrusta como parte de componentes.
    • JSFDesventajas  Pesado, tanto en CPU como en memoria.  Cuando algo no funciona como se espera, es difícil de depurar.  Seguir estándares hace que la evolución de JSF no sea tan rápida como otros frameworks.
    • JSFFacelets  Framework para plantillas centrado en JSF.  Permite trabajar con JSF de una forma más natural.  Curva de aprendizaje corta.  Ayuda a integrar JSP con JSF.  Óptimo manejo de mensajes de error, que ahora reportan informes efectivos. En JSF, no se indica qué componente y en qué línea se produce un error.
    • JSFEJEMPLOS JSF
    • STRUTS 1.x
    • Apache Struts 1.xConceptos básicos  Framework Open Source para el desarrollo de aplicaciones Web bajo el patrón MVC (Modelo, vistas y controlador) y J2EE.  Permite reducir el tiempo de desarrollo.  Extremadamente popular y extendido.  Basado en el patrón MVC.  El componente primario de Struts es un Servlet.  Muy usada actualmente :( http://struts.apache.org/
    • Apache Struts 1.xArquitectura HTTPServlet ActionServlet ApplicationConfig struts-config.xml Action RequestProcessor ActionForm
    • Apache Struts 1.xCaracterísticas básicas  Un sólo archivo de configuración (struts-config.xml), aunque se podrían tener varios.  Cada acción se modela como un Action.  Cada formulario se modela como un ActionForm.  Cada pantalla (JSP) debe utilizar tags de Struts.  Es posible (y conveniente) utilizar archivos de propiedades para I18N.
    • Apache Struts 1.xVentajas  Versión muy extendida.  Actualmente mucha demanda laboral. En empresa privada y sobre todo en administración.  Estable: muy consolidado y probado.  Mucha documentación, ejemplos, libros, etc.
    • Apache Struts 1.xDesventajas  Si no está soportado por el IDE, puede resultar tedioso mantener la configuración.  Para una sola pantalla debemos crear por lo menos 2 clases (ActionForm y Action).  El manejo de Actions como hilos de ejecución pueden generar problemas.  Obsoleto: actualmente hay mejores alternativas.
    • Apache Struts 1.xEJEMPLOS STRUTS 1.x
    • STRUTS 2.x
    • Apache Struts 2.xConceptos básicos  Basado en el patrón MVC.  Struts 2 no se basa en Struts 1.x, se basa en otro framework llamado WebWork.  Más simple y mucho más completo que Struts 1,x.  Permite reducir el tiempo de desarrollo.  Todas las ventajas de usar un Framework: desarrollo más controlado y homogéneo.
    • Apache Struts 2.xVentajas  Formularios POJO (Plain Old Java Objects), ya no se utilizan los ActionForm.  Acciones POJO, no hace falta extender de Action.  Mejoras en los tags.  Archivo de configuración opcional y con posibilidad de dividirlo en paquetes.  Soporte para AJAX.  Integración de herramientas debbuging y profiling.
    • Apache Struts 2.xDesventajas  La documentación no está muy bien organizada.  No hay feedback para las propiedades que no se han especificado o las expresiones OGNL no válidas.  Los resultados de Struts 1.x en Google "molestan".
    • Apache Struts 2.xArquitectura
    • Apache Struts 2.xArquitectura simplificada
    • Apache Struts 2.xEJEMPLOS STRUTS 2
    • SPRING
    • SPRINGConceptos básicos  Basado en el patrón MVC.  Versión para la plataforma .NET → Spring .NET  Soporte completo de Java 5.  Spring Expression Language.  Soporte excelente par aplicaciones REST.  Mejorado el soporte de Ajax.  Agregado soporte para JAX-RS.
    • SPRINGConceptos básicos  Motivación -> Facilitar el desarrollo de aplicaciones J2EE, promoviendo buenas prácticas de diseño y programación. (patrones de diseño como Factory, Abstract Factory, Decorator, Service Locator, etc).  Es código abierto.  Modularidad, usar módulos sin comprometerse con el uso del resto.  Puede actuar como "pegamento" de integración entre diferentes APIs (JDBC, JNDI, etc.) y frameworks (por ejemplo entre Struts e iBatis).
    • SPRINGVentajas  Controllers, Models (JavaBeans) y Views.  Muy flexible -> implementación mediante interfaces (Struts obliga a heredar de clases concretas).  No obliga a utilizar JSP. Permite usar XLST, Velocity, FreeMaker o implemtar tu propio lenguaje.  Los controllers se configuran mediante IoC como los demás objetos → fácilmente testeables e integrables.
    • SPRINGVentajas  Ofrece un framework para todas las capas de la aplicación.  No existen ActionForms se enlaza directamente con los beans de negocio.  Cantidad de código testeable, las validaciones no dependen de la Api de servlets.
    • SPRINGPrincipales módulos  Spring Core (Inversión del control (IoC) / Inyección de dependencias (DI))  Spring AOP (Programación orientada a aspectos)  Spring JDBC (Acceso a datos)  Spring MVC (Desarrollo Web según el patrón MVC)  Spring Remoting (Distribución)  Spring Transaction Abstraction (Transacciones)  Otros: Spring TestContext, Spring JMX, Spring Security , Spring Web Flow
    • SPRINGPrincipales módulos
    • JBOSS SEAM
    • JBOSS SEAMConceptos básicos  Framework desarrollado por JBoss.  Combina a los 2 frameworks EJB3 y JSF.  Desarrollo WYSIWYG facilitado a través del uso de las JBoss Tools.  Jboss Tools: Conjunto de plug-ins diseñados para el entorno integrado de desarrollo Eclipse.  Libro recomendado aquí http://www.seamframework.org/Home
    • JBOSS SEAMConceptos básicos
    • JBOSS SEAMVentajas  Integración con Gestores de Contenido y Workflow: • JBoss Portal. • Alfresco ECM, que se presenta como una excelente propuesta Open Source para el manejo de contenido empresarial.  Seam elimina la barrera existente entre JSF y EJB, permitiendo usar EJBs directamente como "backing beans" de JSF y lanzar o escuchar eventos web.
    • GWT
    • GWTConceptos básicos  Google Web Toolkit (GWT) es un entorno open source para el desarrollo de aplicaciones amigables en Java basadas en AJAX.  El código se escribe en Java. El compilador GWT lo convierte en JavaScript y HTML compatible con cualquier navegador.  Colección de componentes de interfaz de usuario (widgets) dinámicas y reusables.  Licencia Apache 2.0.
    • GWTArquitectura
    • GWTCiclo de vida del desarrollo 1. Escribir y depurar la aplicación en Java usando GWT. 2. Usar el compilador Java-to-JavaScript de GWT para generar JavaScript y HTML. 3. Comprobar funcionamiento en los navegadores.
    • GWTGWT y RPC  GWT usa RPC como mecanismo para interactuar con el servidor. (ej. obtener datos de BD).  Permite pasar objetos Java entre cliente y servidor.  Usado correctamente permite mover gran parte de la lógica de la interfaz al lado del cliente, obteniendo mejor rendimiento, menor consumo de ancho de banda e interfaces más amigables.
    • GWTGWT y RPC
    • GWTVentajas  Programar en Java permite utilizar IDEs como Eclipse o NetBeans, así como sus herramientas de depuración..  Código javascript generado por el compilador: • Más eficiente que el escrito a mano. • Usa técnicas de compresión y ofuscación. • Permite inlining: En la llamada a un método javascript, el compilador puede colocar el cuerpo.
    • GWTVentajas  No se necesita mucho conocimiento de otros lenguajes (JavaScript).  Los errores comunes JavaScripts (types, type mismatches) son capturados por el programador durante compilación.  Se evitan incompatibilidades de los navegadores.  Integración con JUnit.  Internacionalización.
    • GWTDesventajas  La generación automática de HTML podría dificultar el uso de herramientas estándar de HTML y CSS.  Sólo para desarrolladores Java.  Muchos entornos Ajax permiten elegir el lenguaje en el servidor. GWT sólo permite Java.  Enfoque Inusual: • Evaluación y administración más difícil. • Desconfianza.
    • EJEMPLO DE ARQPropuesta de arquitectura Ejemplo aquí: (http://www.adictosaltrabajo.com/tutoriales/tutoriales.php ?pagina=EjemploArquitecturaPropuestaAutentia)
    • Frameworks J2EE FIN Iker Canarias iker.canarias@gmail.com