Introduccion a Aplicaciones Web 2 Parte

46
1er Seminario Ape Valley Proyect - 2013 1 Darwin Rodrigo Zottola - Ing. en Computación - 2013 INTRODUCCIÓN A APLICACIONES WEB EN JAVA 2ra Parte

Transcript of Introduccion a Aplicaciones Web 2 Parte

Page 1: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 1/46

1er SeminarioApe Valley

Proyect - 2013

1Darwin Rodrigo Zottola - Ing. en Computación - 2013

INTRODUCCIÓN A

APLICACIONES WEB ENJAVA

2ra Parte

Page 2: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 2/46

Logueo de Errores: Log4J

http://logging.apache.org/log4j/2.x/ 

Gestión de proyectos Maven http://maven.apache.org/ 

Versionado SVN http://subversion.tigris.org/ 

http://subversion.apache.org/ 

CVS

Darwin Rodrigo Zottola - Ing. en Computación 2

FRAMEWORKS PARA DESARROLLO

Page 3: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 3/46

INSTALACIÓN DE SVN EN ECLIPSE

Help Install New Software.

Page 4: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 4/46

Salida de log en grupos, incluso un log por cada Salidas desde un fichero de configuración, sin necesidad de

tocar el código. Este fichero nos permite:

Decidir qué salidas queremos o no mostrar.

Se pueden definir varios niveles de logs o jerarquías.Destino final de estos logs pueden ser archivos,

OutputStreams o incluso archivos de registros de eventos

en UNIX.

Por mas detalle se puede empezar por aca:http://www.apuntesdejava.com/2006/02/log4j.html

LOG4J

Page 5: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 5/46

CONFIG DE LOG4J

Page 6: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 6/46

USO DE LOG4J

Page 7: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 7/46

Crear.

Gestionar sus dependencias y resolver conflictos entreversiones.

Compilar.

Crear su documentación. Probar.

Generar reportes.

Desplegar.

TAREAS EN UN PROYECTO

Page 8: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 8/46

Herramienta para administrar proyectos desoftware Open source

Gestiona el ciclo de vida desde la creación de

un proyecto, hasta la generación de un binarioque pueda distribuirse con el proyecto.

Gestión avanzada de dependencias, informes

sobre testing automáticos y extensibilidad víaplugins.

Dependencia de ant

MAVEN – GESTIÓN DE PROYECTOS

Page 9: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 9/46

Hacer que el proceso de construcción sencilla

Proporcionar un sistema de construcciónuniforme

Proporcionar información sobre los proyectosde calidad

Proporcionar directrices para las mejores

prácticas de desarrolloPermitir la migración transparente a nuevas

características

MAVEN - OBJETIVOS

Page 10: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 10/46

MAVEN - ESTRUCTURA DE PROYECTOS

Page 11: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 11/46

MAVEN - ESTRUCTURA DE PROYECTOS

Page 12: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 12/46

EL POM describe todas las propiedades del proyecto. Entre lainformación que encontramos en el POM se puededestacar:Coordenadas del proyecto : es la información quepermite identificar de forma única a un proyecto.

Propiedades administrativas del proyecto : licencia, miembrosdel proyecto.

Dependencias del p royecto : puede referirse a otros proyectos.

Repositorios remotos : se pueden referenciar repositorios deartefactos Maven, de los cuales los proyectos pueden obtener

sus dependencias. Plugins de terceros : permiten añadir al p royecto funcionalidad

específica para su desarrollo.

MODELO DE OBJETO DEL PROYECTO (POM – 

PROJECT OBJECT MODEL) 

Page 13: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 13/46

INSTALACIÓN MAVEN EN ECLIPSE

Windows Preferences Maven Installations

Page 14: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 14/46

FACADE:

SINGLETON 

FACTORY

DTO

DAO

Darwin Rodrigo Zottola - Ing. en Computación 14

REPASO DE PATRONES

Page 15: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 15/46

HIBERNATE : Es una herramienta de Mapeo objeto- relacionalpara la plataforma Java (y disponible también para .Net con elnombre de NHibernate) que facilita el mapeo de atributosentre una base de datos relacional tradicional y el modelo de

objetos de una aplicación, mediante archivos declarativos(XML) que permiten establecer estas relaciones.

JPA HIBERNATE (JAVA Persistence API) : JPA es un frameworkde persistencia, que nos abstrae de las bases de datos y nos

brinda un estandar para persist ir los datos en java.JPA viene a solucionar el vacio que hay entre utilizar objetos ypersistirlos en una DB relacional.

BACK END – HIBERNATE Y JPA HIBERNATE

Page 16: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 16/46

BACK END - CAPAS

Page 17: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 17/46

BACK END - HIBERNATE

Page 18: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 18/46

BACK END - MODELO FISICO

Page 19: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 19/46

BACK END - DTO

Page 20: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 20/46

BACK END - DAO

Page 21: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 21/46

MANAGER(FACADE)

Page 22: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 22/46

DIAGRAMA COMPLETO

Page 23: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 23/46

PERSISTENCIA - MAPEO HIBERNATE

EmpDTO.hbm :

Page 24: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 24/46

PERSISTENCIA - HIBERNATE.CFG.XML

Page 25: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 25/46

PERSISTENCIA - HIBERNATEUTILS

Page 26: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 26/46

FRAMEWORKS JAVA MVC STRUTS Y STRUTS2 http://struts.apache.org/ 

SPRING MVC

www.springsource.org  TILES (TEMPLATE)

JAVA SERVER PAGES (JSF) www.javaserverfaces.org 

FACELET TEMPLATES

OTROS FRAMEWORKS GROOVY 

http://groovy.codehaus.org/ 

Darwin Rodrigo Zottola - Ing. en Computación 26

FRONT END

Page 27: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 27/46

Darwin Rodrigo Zottola - Ing. en Computación 27

FRONT END - MVC

Page 28: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 28/46

Un Servlet es una clase Java que extiende de javax.servlet.http.HttpServlet y que sobreescribe losmétodos doPost o doGet o ambos.

Un Servlet es una clase Java usada paraextender la capacidad de las aplicacionesbasadas en el modelo cliente servidor yejecución petición respuesta.

Los Servlets son una potente herramienta para lageneración de contenido dinámico en la Web.

El Servlet Container es el componente encargado dela creación, acceso y destrucción de los Servlets,controla su ciclo de vida.

FRONT END -SERVLET

Page 29: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 29/46

FRONT END

Page 30: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 30/46

SERVLET

Page 31: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 31/46

Un JSP, es una página dinámica de servidor Java.

Es un archivo de texto compuesto de :

1. Cabecera con importaciones y parametros.

2. Código cliente, normalmente HTML, XML y Javascript. 3. Código servidor Java, denominado Scriptlet y

escrito entre los caracteres

<% y %>.

4. Tags: instrucciones en formato XML, asociadas a clasesJava.

• Un JSP se transforma en un Servlet en tiempo de

ejecución .

JSP

Page 32: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 32/46

JSP

Page 33: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 33/46

JSP

Page 34: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 34/46

MVC

Page 35: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 35/46

Struts es un framework web J2EE,

Implementa el patrón de diseño MVC

Básicamente está construido sobre las tecnologías

de Servlets y JSP . Struts combina Servlets, JSP’s , custom tags propios

y recursos de la aplicación en un único framework.

Struts oculta al programador los detalles del

protocolo HTTP, JSP, Servlets, etc. Un programador Struts puede desconocer estos

nombres

Conocerlas hace que se puedan hacer soluciones

creativas.

STRUTS - MVC

Page 36: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 36/46

El corazón de Struts es el Servlet Controlador (objetoActionServlet),

Este intercepta todos los requerimientos HTTP

entrantes, provenientes de los clientes y los delega aun manejador apropiado (objeto Action).

Para determinar el flujo de la aplicación, es decir, aque Action pasar el requerimiento, hace uso delarchivo struts-config.xml.

El Servlet Controlador, luego recibe las respuestasde los Action y las redirecciona a la vista apropiada(JSPs). Para ello, nuevamente consulta un conjuntode mapeos definidos en el archivo de configuración

xml.

STRUTS

Page 37: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 37/46

Los componentes ActionForms (subclase de ActionForm).Estos objetos son JavaBeans usados para mantener losdatos ingresados por el usuario en las páginas JSP.

Si bien Struts está basado en el patrón de diseño MVC,

solo provee componentes para las capas Vista yControlador.

Las componentes Actions y ActionForms son neutrales dela Vista, con lo cual, Struts puede ser usado con otras

tecnologías de presentación. Struts no provee componentes para el modelo, el cual

generalmente se implementa con JavaBeans y EJB, peroesto no es mandatario, es de modelo neutral.

STRUTS

Page 38: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 38/46

STRUTS - MVC

Page 39: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 39/46

FLUJO DE STRUTS

Page 40: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 40/46

STRUTS – DIAGRAMA STRUTS-CONFIG.XML

Page 41: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 41/46

Darwin Rodrigo Zottola - Ing. en Computación 41

FRONT END

Page 42: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 42/46

EJEMPLO DE STRUTS-CONFIG.XML

Page 43: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 43/46

STRUTS - ACTION

Page 44: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 44/46

ACTIONFORM

Page 45: Introduccion a Aplicaciones Web 2 Parte

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

http://slidepdf.com/reader/full/introduccion-a-aplicaciones-web-2-parte 45/46

 

Darwin Rodrigo Zottola - Ing. en Computación 45

PREGUNTAS

Brainiac for Sharing– APE Valley Proyect

 Zottola Pareja Darwin Rodrigo

Ing. en Computación

[email protected]