Introduccion a Aplicaciones Web 2 Parte

Post on 30-Oct-2015

34 views 0 download

Transcript of 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

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

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.

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

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

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

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

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

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

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

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

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) 

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

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

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

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

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

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

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

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

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

MANAGER(FACADE)

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

DIAGRAMA COMPLETO

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 :

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

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

PERSISTENCIA - HIBERNATEUTILS

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

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

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

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

FRONT END

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

SERVLET

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

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

JSP

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

JSP

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

MVC

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

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

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

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

STRUTS - MVC

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

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

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

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

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

STRUTS - ACTION

7/16/2019 Introduccion a Aplicaciones Web 2 Parte

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

ACTIONFORM

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

drzottolapareja@gmail.com