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/ 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 © 2004 Jakarta Struts Live by Richard Hightower, Copyright © 2004 by SourceBeat, LLC.
CAPITULO 1. INTRODUCCIÓN 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 ó 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? 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
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).
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 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.
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 JDK 1.2 or 1.3 with another server, you might need to obtain the XML parsing 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)