Struts

12
Desarrollo de Aplicaciones con Struts Capitulo I Introducción Descripción Objetivo Justificación Delimitaciones y limitaciones Supuestos Definición de términos Capitulo II Struts como framework ¿Que son los Struts? ¿En que consiste el modelo MCV? Historia del surgimiento de Struts Estado de Arte Razones para Usar está tecnología Capitulo II Estructura de los Struts Instalando los componente para Struts Los JavaBeans Beans ActionForm Beans de Lógica de Negocio Acceder a Bases de Datos Relacionales Capitulo III Implementación de Struts Prerrequisitos para la implementación de Struts Como implementar esta tecnología Ventajas al utilizar Struts

description

Primera Parte

Transcript of Struts

Page 1: Struts

Desarrollo de Aplicaciones con Struts

Capitulo I Introducción

Descripción

Objetivo

Justificación

Delimitaciones y limitaciones

Supuestos

Definición de términos

Capitulo II Struts como framework

¿Que son los Struts?

¿En que consiste el modelo MCV?

Historia del surgimiento de Struts

Estado de Arte

Razones para Usar está tecnología

Capitulo II Estructura de los Struts

Instalando los componente para Struts

Los JavaBeans

Beans ActionForm

Beans de Lógica de Negocio

Acceder a Bases de Datos Relacionales

Capitulo III Implementación de Struts

Prerrequisitos para la implementación de Struts

Como implementar esta tecnología

Ventajas al utilizar Struts

Conclusión.

Bibliografías

Ligas

http://www.programacion.com/java/tutorial/joa_struts/

http://www.programacion.com/java/tutorial/struts/

Page 2: Struts

http://jakarta.apache.org/struts

http://es.wikipedia.org/wiki/Jakarta_Struts

http://www.ati.es/novatica/2001/154/154-22.pdf

http://www.enterate.unam.mxArticulos2006febreroobserva.htm

http://jguru.com/faq/Struts

http://jguru.com/forums/Struts

Libro

Pro Jakarta Struts, Second Edition, by John Carnell and Rob Harrop, Apress © 2004Jakarta Struts Live by Richard Hightower, Copyright © 2004 by SourceBeat, LLC.

CAPITULO 1. INTRODUCCIÓN

Page 3: Struts

1. Descripción

Este proyecto de investigación (Desarrollo de Aplicaciones con Struts),

surgió como parte de los requisitos de la materia de Investigación de Ingeniería

en la Universidad de Montemorelos.

Struts es un proyecto de tipo OpenSource desarrollado por Apache

Foundation, esta herramienta facilita el desarrollo de de las aplicaciones Web

bajo la plataforma J2EE, implementando el modelo MCV (Modelo Vista

Controlador)que no es mas que un modelo para mantener ordenadas las

aplicaciones Web. Esta herramienta nos permite agrupar varias aplicaciones

en una sola.

En el transcurso de esta investigación, estudiaremos que son los Struts de

donde surgieron como utilizarlos, algunas investigaciones realizadas, entre

otras cuestiones.

2. Objetivos

Nuestra investigación se encuentra basada en le funcionamiento y aplicación

de la herramienta Struts y nuestro principal objetivo al realizar dicha

investigación es a adquirir un conocimiento superior sobre esta herramienta y

poder compartir dicho conocimiento. Esto nos ayudara a enfrentar la

competencia en el mundo laboral, ya que al adquirir conocimientos de las

nuevas tecnologías nos ayudaran a desempeñar un trabajo mas eficiente y con

mayor calidad.

3. Justificación

En la actualidad todo esta basado en aplicaciones Web, las empresas

quieren tener su propia pagina Web, en la que se puedan realizar operaciones,

búsquedas y que estas arrojen el resultado en un tiempo menos y que sean lo

mas correcto posible. Al aprender esta herramienta nos abriremos una ventana

mas de oportunidades para competir en el buscar fuentes de trabajo.

4. Delimitaciones y Limitaciones

Nuestra investigación abarcará lo que es el marco teórico (de donde surgió,

como surgió, y porqué surgió), se estudiará afondo las aplicaciones que tiene

se pueden obtener mediante la herramienta Struts, para esto se requiere tener

Page 4: Struts

ó adquirir conocimientos previos como es le manejo de JSP, JavaBeans, entre

otros, tomando en cuenta esto y el corto tiempo que se tiene para realizar dicha

investigación (aproximadamente 2 meses) nuestra investigación no entrara de

lleno al funcionamiento de estas otras herramientas, estará basada hasta solo

del estudio del funcionamiento de Struts y sus aplicaciones.

5. Supuestos

Nuestra investigación es de tipo documental. Sin embargo este documento

se encargara de que dicha teoría explicada en este documento se encuentre

fundamentada en fuentes literarias reales, y así poder comprobar dicha teoría

con algunas prácticas. Se estudiar como al tener muchos JSP se manipulen

desde una sola aplicación de Struts.

6. Definición de términos

Open Source: Código abierto (del inglés open source) es el término por el que

se conoce al software distribuido y desarrollado en forma libre. Este término

empezó a utilizarse en 1998 por algunos usuarios de la comunidad del software

libre, tratando de usarlo como reemplazo al ambiguo nombre original en inglés

del software libre (free software).

CAPITULO 2. INTRODUCCIÓN A STRUTS

1. ¿Qué es Struts?

Es una herramienta para la facilitación del desarrollo de las aplicaciones

Web bajo la plataforma J2EE, que implementa el modelo MCV (Model view

Controller), que mas adelante explicaremos en que consiste este modelo, el

cual se ha convertido en un estándar muy usado en el mundo del desarrollo en

Java.

Struts permite reducir el tiempo de desarrollo, su carácter de "software

libre" y su compatibilidad con todas las plataformas en donde Java Entreprise

está disponible, lo convierte en una herramienta altamente disponible.

2. ¿En que consiste le modelo MVC?

Page 5: Struts

MVC o Model view Controller es un patrón de diseño aportado

originariamente por el lenguaje SmallTalk a la Ingeniería del Software. El

paradigma MVC consiste en dividir las aplicaciones en tres partes:

• Controlador

• Modelo

• Vistas.

Model describe el objeto de negocio y la lógica asociada. Wiew refleja su

presentación en la pantalla (GUI). MVC estipula que estos dos elementos solo

pueden comunicarse a través de un Controller y, por tanto, están separados

uno del otro. Esto significa, por ejemplo, que es relativamente sencillo modificar

la vista (view) sin que el modelo se vea afectado. La experiencia ha mostrado

que esto es un enfoque muy bueno que hace más económico el desarrollo y,

en un nivel inferior, el mantenimiento de la aplicación.

El controlador es el encargado de redirigir o asignar una aplicación (un

modelo) a cada petición; el controlador debe poseer de algún modo, un "mapa"

de correspondencias entre peticiones y respuestas (aplicaciones o modelo) que

se les asignan.

El modelo seria la aplicación que responde a una petición, es la lógica de

negocio a fin de cuentas.

Una vez realizadas las operaciones necesarias el flujo vuelve al controlador y

este devuelve los resultados a una vista asignada.

¿Que ventajas obtenemos de este modelo? Obviamente una separación total

entre lógica de negocio y presentación. A esto se le pueden aplicar opciones

Page 6: Struts

como el multilenguaje, distintos diseños de presentación,.. etc sin alterar la

lógica de negocio.

La separación de capas como presentación, lógica de negocio, acceso a datos

es fundamental para el desarrollo de arquitecturas consistentes, reutilizables y

más fácilmente mantenibles, lo que al final resulta en un ahorro de tiempo en

desarrollo en posteriores proyectos.

En el lenguaje Java disponemos de una clase muy sencilla para implantar el

modelo MVC: la clase Observer, Observable del paquete útil. Aunque esa

implementación del MVC con esas clases se podría hacer a un nivel muy

simple de interacción entre unas pocas clases. En este caso, mediante Struts

se aplica el MVC en toda una aplicación Web convencional.

3. Historia del Surgimiento de Struct.

Cuando se inventaron los Servlets Java, muchos programadores se

dieron cuenta de que eran una Buena Cosa. Eran más rápidos y más potentes

que el CGI estándard, portables, y extensibles infinitamente.

Pero escribir infinitas sentencias println() para enviar HTML al navegador era

tirano y problemático. La respuesta fueron las JavaServer Pages, que nos

dejaron escribir servlets dentro de ellas. Ahora los desarrolladores podían

mezclar fácilmente HTML con código Java, y tener todas las ventajas de los

servlets.

Las aplicaciones web Java se convirtieron rápidamente en "centradas-en-JSP".

Esto, por sí sólo no era en una mala cosa, pero hacían poco por resolver

problemas de control de flujo y otros problemas de las aplicaciones Web.

Muchos desarrolladores inteligentes se dieron cuenta que las JavaServer

Pages Y y los servlets se podrían usar juntos para desplegar aplicaciones

web. Los servlets podrían ayudar con el control de flujo, y las JPSs podrían

enfocarse en el negocio odioso de escribir HTML. Usar JSP y servlets juntos se

ha dado ha conocer como el Modelo 2 (cuando usar sólo JSPs era el Modelo

1).

Page 7: Struts

Por supuesto, no hay nada nuevo bajo el Sol (Sun)... y muchos han apuntado

rápidamente que el Modelo 2 de JSPs sigue el clásico patrón de diseño

Modelo-Vista-Controlador de SmallTalk. Ahora es muy común usar los

terminos Modelo 2 y MVC indistintamente.

El proyecto Struts lo lanzó en Mayo del 2000, Craig R. McClanahan para

proporcionar un marco de trabajo MVC estándard a la comunidad Java. En

Julio del 2001, se liberó Struts 1.0, e IOHO, el modelo 2 de desarrollo Java

nunca será lo mismo.

El más conocido de todos los frameworks MVC es Struts . La historia de Struts

es larga, y su presencia continuada durante muchos años hace que sea el

framework

Mayo de 2000. Struts 0.5. Craig R. McClanahan dona el código a

Apache

Junio de 2001. Struts 1.0. Versión inicial.

Junio de 2003. Struts 1.1. Commons.

Diciembre de 2004. Struts 1.2. Wildcard.

2006. Struts 1.3. Reorganización en subproyectos

Struts Component Framework (Shale) está basado (se apoya) en las siguientes

tecnologías:

Java Runtime Environment (JRE) 1.4 or later.

Servlet API 2.4 or later. (*)

JavaServer Pages 2.0 or later. (*)

JavaServer Faces 1.1 or later.

JSP Standard Tag Library (JSTL) 1.1 or later.

Apache Commons BeanUtils 1.7 or later.

Apache Commons Chain 1.0 or later.

Apache Commons Digester 1.7 or later.

Apache Commons Logging 1.0.4 or later.

4. Estado del Arte

Estos son algunos de las iniciativas que se han desarrollado alrededor del

Page 8: Struts

mundo con respecto al funcionamiento y aplicaciones de las herramientas Struts.

Struts se desarrollaba como parte del proyecto Jakarta de la Apache Software

Foundation, pero actualmente es un proyecto independiente conocido como

Apache Struts.

En la Actualidad Existen muchos Estudios sobre esta tecnología, aunque es

una tecnología nueva se a implementado muy rápidamente.

Investigando acerca de esto encontré un estudio que se realizo al aplicar Struts

en un banco suizo, menciona las grandes ventajas que se han obtenido. Mas

sin embargo en nuestro entorno universitario no se ha estudiado mucho acerca

de esto.

http://www.ati.es/novatica/2001/154/154-22.pdf

5. Razones para utilizar esta tecnología.

Existen muchas razones para utilizar esta tecnología, la principal es que al

hacer una aplicación Web se ahorra mucho tiempo y espacio. Además Struts

es una herramienta Open Source (código de fuente abierto).

Incluso teniendo en cuenta que Struts es un producto totalmente nuevo, da la

impresión de ser altamente estable. Los fallos son rápidamente localizados y

solucionados puesto que el código fuente esta. Siendo examinado

constantemente.

Esta tecnología cuenta con una gran documentación especial mente en su

página principal. Encontramos fácilmente un gran número de artículos,

recomendaciones, instrucciones y ejercicios en relación con Struts.

El código Struts puede ser modificado, sin embargo, si uno quiere mantener la

posibilidad de posteriores migraciones a nuevas versiones de Struts sin

grandes problemas, no es recomendable hacer modificaciones permanentes en

el código Struts.

Page 9: Struts

CAPITULO 3 Estructura de los Struts

Instalando los componente para Struts

Descargando y configurando Struts• Descargando el archivo zip de Struts– Iniciar en http://jakarta.apache.org/site/binindex.cgi, o seguir el link de http://jakarta.apache.org/struts/. • Descomprimir dentro de un directorio de su preferencia– Por ejemplo, descargar dentro de C:\jakarta-struts-1.2.4. Hacer referencia a esta localizacion como struts_install_dir.• Actualizar su CLASSPATH– Agregar struts_install_dir/lib/struts.jar a el CLASSPATH usado por su compilador o IDE (no su servidor)• Install an XML parser– If you have JDK 1.4 or Apache Tomcat, this step is not necessary,since they already come with an XML parser. But, if you use JDK1.2 or 1.3 with another server, you might need to obtain the XMLparsing libraries. Here are two good sources:• http://xml.apache.org/• http://java.sun.com/xml/

Si usted tiene JDK 1.4 o Apache tomcat, este paso no es necesario. (Traducir esta parte)