Centro Universitario UAEM Zumpango Ingeniería en Computación Agosto 2015.

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

Mónica Acosta Yeison Ceballos Carlos Rodallega
Internet y tecnologías web
Red Social: “Un millón de Amigos”.
Red Social: “Un millón de Amigos”.
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Lenguaje de programación Java
Patrón MVC con STRUTS.
Modelando aplicaciones
Estructura de un Sistema Operativo
"java del lado del servidor" Servlet y JSP Java Server Pages.
Tipos de Servicios Web.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Curso de Java y Aplicaciones Web
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
Presentación del estado del arte
JAVA FX Es un paquete de software que te permitirá desarrollar aplicaciones web para diferentes plataformas, desde un ordenador ordinario hasta teléfonos.
POR: Evelyn Zuleyma Quiroz Velásquez
POO (Programación Orientada a Objetos)
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Lic. Rosemary Torrico Bascopé
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Implementación del patrón Modelo-Vista-Controlador
Semana 5 Subprogramas..
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
InfoPath Ventajas y Uso.
DISEÑO DE SOFTWARE 1ª. Parte
SPRING MVC.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
Patrones de Diseño: Command
Curso de Java La tecnología Java
CURSO STRUTS 2 RESUMEN Resumen de lo visto en este primer módulo de INTRODUCCIÓN al framework Struts 2 Debes tener los conceptos muy claros sobre: Framework.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
LENGUAJES DE PROGRAMACIÓN
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
MÓDULO 1: Introducción al framework Struts 2
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Modelo-Vista-Controlador Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk.
FRAMEWORK VS Código fuente
Aplicaciones Web de Servidor
Daniel Fernández Lanvin Capa de Presentación. Daniel Fernández Lanvin Capa de Presentación Responsabilidades Navegabilidad del sistema Formateo de los.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
JAVA BEANS Por Abraham Solís Alvarado. JAVA BEANS Son un modelo de componentes creado por Sun Microsystems para la construcción de aplicaciones en Java.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
TEMA 9: DIAGRAMA DE CLASE EN UML
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005.
Modelo de 3 capas.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Jakarta Struts version Juan Manuel Zorrilla Gamarra Mario Titto Acostupa.
SOFTTEK INTERNAL © Copyright All Rights Reserved. Valores Corporativos Softtek S.A. de C.V. Struts Academia Java.
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Aplicaciones en 2,3 y n capas
Aclaraciones al modelo MVC del Framework de Justicia
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Conociendo el modelo Cliente-Servidor
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Softlogia S.R.L. Formación de Recursos Humanos Java Server Faces Instructor: Martin R. Baspineiro.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Centro Universitario UAEM Zumpango Ingeniería en Computación Agosto 2015

Ingeniería en Computación Curso de Inducció Universidad Autónoma del Estado de México Centro Universitario UAEM Zumpango Ingeniería en Computación UA: Lenguaje de Programación Visual (L41091) Tema: Desarrollo Web con Struts 2, parte 1 Dr. Asdrúbal López Chau Agosto

Ingeniería en Computación Curso de Inducció Contenido 3 1.Guión explicativo del uso del material 2.Información de la Unidad de aprendizaje 3.Versiones de Java 4.Java EE, Java beans 5.Web Framework Struts 2  Arquitectura  Interceptores  Acciones  Flujo de una aplicación Web basada en Struts 2 6.Referencias

Ingeniería en Computación Curso de Inducció Guión explicativo de uso del material 4 El desarrollo de aplicaciones Web complejas requiere de la utilización de frameworks. Entre el gran número de Web frameworks, Struts 2 es uno de los que sobresalen debido a su robustez y adaptabilidad para muchas aplicaciones. En estas diapositivas, se presenta la introducción al Web framework Struts 2, que usa lenguaje Java.

Ingeniería en Computación Curso de Inducció Guión explicativo de uso del material 5 Se anima al docente a que dentro de las actividades principales por parte de los alumnos, se realice una aplicación Web completa, para que adquieran experiencia con el desarrollo de sistemas reales.

Ingeniería en Computación Curso de Inducció Información de la UA 6 Propósito de la UA. El alumno: Conocerá la estructura de un lenguaje de programación orientado a objetos, el cual explotara como herramienta para el diseño y elaboración de páginas WEB

Ingeniería en Computación Curso de Inducció Información de la UA 7 Unidad de Competencia 2: Conocer y manejar un lenguaje de programación orientado a desarrollo WEB. Manipular los comandos básicos de algún medio ambiente de desarrollo. Conocimientos: Sintaxis Básica del lenguaje, Control de flujo Estructuras y manejo de datos. Manejo de propiedades y eventos. Tipos definidos por el usuario.

Ingeniería en Computación Curso de Inducció Plataformas Java Actualmente, hay cuatro plataformas Java: Java Platform, Standard Edition (Java SE) Java Platform, Enterprise Edition (Java EE) Java Platform, Micro Edition (Java ME) JavaFX Cada plataforma tiene su propia versión de JVM (muchas características son compartidas), más APIs especiales. 8

Ingeniería en Computación Curso de Inducció Java EE Java Enterprise Edition (Java EE) es el software empresarial estándar, desarrollado por una comunidad integrada por: 1.Expertos industriales 2.Organizaciones de software libre 3.Grupos de usuarios de Java 4.Personas independientes 9 Figura 1: Java EE

Ingeniería en Computación Curso de Inducció Java EE Es una plataforma de programación creada para desarrollar y ejecutar software de aplicaciones en el lenguaje Java. Java EE permite desarrollar sistemas basados en arquitecturas de N capas que pueden estar distribuidas. Java EE se apoya ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. 10

Ingeniería en Computación Curso de Inducció Java EE Un servidor de aplicaciones es dispositivo de software que proporciona servicios de aplicación a las computadoras cliente. Se encarga de gestionar las funciones de lógica de negocio, y controla el acceso a los datos de las aplicaciones. A continuación, algunos términos usados en el curso. 11

Ingeniería en Computación Curso de Inducció Java EE Java Beans. 1.En español, bean significa baina. 2.Un Java bean es un componente software reutilizable, con propiedades para poder ser manipulado visualmente por una herramienta de programación en lenguaje Java. Un propiedad de un Java bean es un atributo que afecta a su apariencia o a su conducta. 1.Las propiedades deben de poder consultarse o accederse mediante métodos get y set. 2.Una propiedad simple representa un único valor. 3.Una propiedad indexada representa un array de valores. 12

Ingeniería en Computación Curso de Inducció Java EE Los tipos de propiedades de un Java bean puede ser bound (ligada) o constrained (restringida). Los Java beans con propiedades tipo bound, notifican a otros objetos cuando esta propiedad cambia. Estos objetos son llamados listeners (escuchas). Una propiedad constraint es similar a una propiedad bound, pero los listeners a los que se les notifica el cambio del valor de la propiedad tienen la opción de vetar cualquier cambio en el valor de dicha propiedad. 13

Ingeniería en Computación Curso de Inducció Java EE Un suceso (event) es un objeto que indica que algo ha sucedido. Un event listener, es un objeto que está interesado en recibir sucesos de otro objeto. Un objeto que que produce los sucesos se llama event source. Un event source puede mantener uno, o varios event listerners interesados. 14

Ingeniería en Computación Curso de Inducció Java EE Java Beans. Las convenciones para declarar un Java Bean son: ①Debe tener un constructor sin argumentos. ②Sus atributos de clase deben ser privados. ③Sus propiedades deben ser accesibles mediante métodos get y set que siguen una convención de nomenclatura estándar. ④Debe ser serializable. 15

Ingeniería en Computación Curso de Inducció Java EE Ejemplo de Java bean con escucha. 16

Ingeniería en Computación Curso de Inducció Java EE Ejemplo de Java bean con escucha. 17 Figura 2: Clase Aumno ejemplo Java bean

Ingeniería en Computación Curso de Inducció Java EE 18 Figura 3: Clase EscuchaCalificacionExtraña del ejemplo Java bean

Ingeniería en Computación Curso de Inducció Java EE 19 Figura 4: Clase EventoCaificacionExtraña ejemplo Java bean

Ingeniería en Computación Curso de Inducció Java EE 20 Figura 5: Clase Main ejemplo Java bean

Ingeniería en Computación Curso de Inducció Java EE 21 POJO (Plain Old Java Object) Un objeto POJO se refiere una instancia de una clase que no extiende a ninguna clase ni implementa a alguna interfaz. TAG Se refiere a una etiqueta,que es una marca con clase que delimita una región en los lenguajes basados en XML. Ejemplo de tag

Ingeniería en Computación Curso de Inducció Struts 2 A continuación, comenzaremos nuestra aventura con Struts 2, un Web framework basado en Java. 22

Ingeniería en Computación Curso de Inducció Struts 2 El framework Struts 2 tiene por logo: En español, el significado de la palabra struts es puntal. 23 Figura 7: Struts Figura 6: Logo Struts 2

Ingeniería en Computación Curso de Inducció Struts 2 Es un framework para desarrollar aplicaciones Web, basado en el patrón MVC. Struts 2 pertenece a Apache Software Fundation desde Originalmente, fue desarrollado por Craig R. McClanahan. 24 McClanahan también es el arquitecto de Catalina, un Contenedor del servidor Tomcat de Apache. Figura 8: Craig R. McClanahan

Ingeniería en Computación Curso de Inducció Struts 2 25 Fuente de la imagen: Figura 9: Arquitectura de Struts 2

Ingeniería en Computación Curso de Inducció Struts 2 Un FilterDispacher se encarga de gestionar todas las peticiones. Esta clase analiza una petición y la direcciona hacia una clase Action apropiada. Sin embargo, antes de enviarlo a una Action, la petición pasa por un Interceptor. 26

Ingeniería en Computación Curso de Inducció Struts 2 Un Interceptor es un objeto que se invoca en dos momentos de una petición: Preprocesamiento y postprocesamiento. Es usado para realizar Validación, Manejo de Excepciones, Internacionalización, Presentación de resultados intermedios, etc. En Struts 2, se tienen más de 30 tipos de interceptores. 27

Ingeniería en Computación Curso de Inducció Struts 2 Algunos ejemplos de interceptores son: 1)alias Convierte parametros similares que tienen nombre diferente entre peticiones. 2)checkbox Usados para manejos de controles Checkbox en los formularios. 3)Cookie Agrega una coockie a la acción actual. 28

Ingeniería en Computación Curso de Inducció Struts 2 Acciones Struts 2 es un framework con una notable orientación a acciones. Estas se declaran en archivos xml o en los archivos de clases de acciones. Las acciones se clasifican en tres funciones: 1.Encapsular el procesamiento y el trabajo que deberá realizar el servicio. 2.Manipular automáticamente los datos de las consultas durante las transferencias. 3.Determina qué resultado debe ser devuelto y la vista presentada en respuesta a un procesamiento. 29

Ingeniería en Computación Curso de Inducció Struts 2 Una clase Action contiene el código que se ejecuta después de que una petición ya pasó por Interceptors. La clase Action regresa un código de respuesta al Controlador, que puede ser SUCCESS o INPUT o ERROR. Una clase Action: 1.Puede ser un POJO 2.Tiene un método public String execute() 3.Puede ser una clase que implementa la interfaz com.opensymphony.xwork2.Action 4.Puede ser una clase que extiende a com.opensymphony.xwork2.ActionSupport 30

Ingeniería en Computación Curso de Inducció Struts 2 L a interfaz com.opensymphony.xwork2.Action tiene definidas 5 constantes: SUCCESS Indica que la ejecución de la acción has sido exitosa. Se presenta algo al usuario. ERROR Indica que la ejecición de la acción ha fallado. LOGIN Indica que el usuario no ha accedido al sistema INPUT Indica que la validación ha fallado NONE Indica que la ejecución de la acción ha sido exitosa, pero no debe de mostrarse nada al usuario. 31

Ingeniería en Computación Curso de Inducció Struts 2 Ejemplo de una clase Action usando un POJO. public class Hola { public String execute(){ return “SUCCESS”; } 32

Ingeniería en Computación Curso de Inducció Struts 2 Ejemplo de una clase Action usando implementando la interfaz: public class Hola implements com.opensymphony.xwork2.Action { public String execute(){ return SUCCESS; } 33

Ingeniería en Computación Curso de Inducció Struts 2 Ejemplo de una clase Action usando extendiendo la clase: public class Welcome extends com.opensymphony.xwork2.ActionSupport { public String execute(){ return SUCCESS; } 34

Ingeniería en Computación Curso de Inducció Struts 2 Ejemplo de una clase Action usando extendiendo la clase: public class Welcome extends com.opensymphony.xwork2.ActionSupport { public String execute(){ return SUCCESS; } 35

Ingeniería en Computación Curso de Inducció Struts 2 Veamos ahora, cuál es el flujo que sigue una petición de un cliente en una aplicación basada en Struts 2. 36

Ingeniería en Computación Curso de Inducció Struts 2 37 Fuente de la imagen:

Ingeniería en Computación Curso de Inducció Struts 2 38 Fuente de la imagen: 1)El usuario envía una petición 2)El Contenedor mapea la petición en un archivo llamado web.xml, y a partir de ahí obtiende el nombre de la clase apropiada.

Ingeniería en Computación Curso de Inducció Struts 2 39 Fuente de la imagen: 3) El contenedor invoca al filtro despachador, que es una instancia de StrutsPrepareAndExecuteFilter. 4) El Controlador obtiene la información para la acción del ActionMapper

Ingeniería en Computación Curso de Inducció Struts 2 40 Fuente de la imagen: 5) El controlador invoca el ActionProxy. 6) El ActionProxy obtiene la información de la acción, y el stack de interceptores del Gestor de configuración. El archivo struts.xml contiene la información que requiere este gestor.

Ingeniería en Computación Curso de Inducció Struts 2 41 Fuente de la imagen: 7) El ActionProxy envia la petición a ActionInvocation 8) ActionInvocation invoca a los Interceptors y luego al Action.

Ingeniería en Computación Curso de Inducció Struts 2 42 Fuente de la imagen: 9) Se genera un resultado. 10) El resultado es enviado de vuelta a ActionInvocation

Ingeniería en Computación Curso de Inducció Struts 2 43 Fuente de la imagen: 11) Se genera un HttpServletResponse 12) Esto es enviado al usuario

Ingeniería en Computación Curso de Inducció Struts 2 Los siguientes archivos son importantes en una aplicación basada en Struts 2. 1.struts.xml 2.struts.properties 3.default.xml 4.web.xml 44

Ingeniería en Computación Curso de Inducció Struts 2 Archivo struts.xml. Contiene la configuración principal para inicializar recursos, este archivo debe de estar en el classpath de la aplicación. Al iniciar una aplicación Struts 2, se crea una instancia única de inicialización, que contiene información sobre: Interceptor (pre-post ejecución), Actions (lógica del negocio), Results (preparan vistas) 45

Ingeniería en Computación Curso de Inducció Struts 2 Archivo web.xml Define todo lo que el servidor que contiene una aplicación necesita saber acerca de ella, por ejemplo, filters, listeners, parámetros de inicializacion, restricciones de suguridad, páginas de bienvenida, recursos, etc. 46

Ingeniería en Computación Curso de Inducció Struts 2 En la siguiente sesión, comenzaremos a desarrollar nuestra primera aplicación básica basada en Struts 2… el famoso “Hola Mundo” 47

Ingeniería en Computación Curso de Inducció Referencias consultada el 31/07/ tutorial.htmlhttps://dzone.com/tutorials/java/struts-2/struts-2-tutorial/struts-2- tutorial.html, consultada el 31/07/ consultada el 31/07/

Ingeniería en Computación Curso de Inducció Gracias 49