3. Objetivo
1. Adquirir los conceptos
básicos relacionados con la
programación web
2. Reconocer las
características de la
programación web
● 1.1. Arquitecturas MVC
Contenido
4. Objetivos de Desarrollo Sostenible
4.7 De aquí a 2030, asegurar que todos los alumnos adquieran
los conocimientos teóricos y prácticos necesarios para
promover el desarrollo sostenible, entre otras cosas mediante la
educación para el desarrollo sostenible y los estilos de vida
sostenibles, los derechos humanos, la igualdad de género, la
promoción de una cultura de paz y no violencia, la ciudadanía
mundial y la valoración de la diversidad cultural y la
contribución de la cultura al desarrollo sostenible
6. ¿Qué es Maven?
Maven es una herramienta para la gestión y construcción de
proyectos Java fue creada por Jason Van Zyl. De sonatype.
Características:
• Funcionalidad similar a Apache Ant
• Fichero de configuración por un xml
• Para cada proyecto tiene un fichero llamado pom.xml
(Project Object Model) para describir el proyecto de
software a construir, sus dependencias de otros módulos
o componentes externos, etc.
7. Conceptos de Maven
Repositorio (Repository)
● El funcionamiento de Maven se basa en el uso de un repositorio a
donde ir a buscar las dependencias. La identificación de los artefactos
que necesita se hace a través del sistema de coordenadas que asegura
que cada dependencia sea única y proveer una ruta para conseguirla.
● En el repositorio central de Maven podemos esperar encontrar la
mayoría de las dependencias que necesitemos como JUnit, Java, Spring,
Hibernate, etc.
8. Conceptos de Maven
Arquetipo (Archetype)
● La descripción y administración de un proyecto con Maven requiere que
el proyecto tenga una estructura determinada y que tenga el pom.xml
correspondientes.
● Existe un plugin en Maven que permite generar la estructura y
configuración inicial de un proyecto a partir de una plantilla. Estas
plantillas con llamadas archetypes (arquetipos) y el plugin que permite
la generación a partir de los arquetipos se llama también archetype.
9. Conceptos de Maven
Perfiles (Profiles)
Maven está diseñado para maximizar la portabilidad de los artefactos. Es
posible redefinir prácticamente cualquier parte de un POM definiendo un
perfil. Pueden definirse varios perfiles.
La activación de un perfil puede dispararse por uno o una combinación de
las siguientes evaluaciones:
● Sistema operativo
● Variables de entorno del sistema operativo
10. Conceptos de Maven
Perfiles (Profiles)
Maven está diseñado para maximizar la portabilidad de los artefactos. Es
posible redefinir prácticamente cualquier parte de un POM definiendo un
perfil. Pueden definirse varios perfiles.
La activación de un perfil puede dispararse por uno o una combinación de
las siguientes evaluaciones:
● Sistema operativo
● Variables de entorno del sistema operativo
11.
12. Conceptos de MVC
● Un patrón de diseño permiten solucionar problemas comunes que se
presentan al momento de crear aplicaciones, y en particular en
aplicaciones Web nos interesa separar la vista de los datos (modelo) y
unirlos por medio de un componente que hace la vez de controlador.
● Los Servlets están enfocados en controlar el flujo de la aplicación y en
este caso procesan las peticiones HTTP, así como utilizar los JavaBean
para almacenar información y finalmente redireccionar al JSP
respectivo.
13.
14. Frameworks MVC
● Existe varios Frameworks que implementan ya este patrón, un patrón de
diseño es simplemente una guía, por lo tanto cada uno de estos
Frameworks tanto Struts, JavaServer Faces, Spring MVC, entre otros.
● Por ejemplo en el caso del Framework de Struts es un framework de
Apache, el cual utiliza JSPs como la Vista utilizando también a su vez tags
de Struts, posteriormente utiliza el concepto llamado ActionForm que de
alguna manera sustituye a los JavaBeans, siendo el modelo de nuestra
aplicación y finalmente tenemos el concepto de Action, el cual cubre el
rol del controlador. Estos son simplemente algunos componentes de los
que se manejan dentro del Frameworks de Struts.
15. Frameworks MVC
● JavaServer Faces es una tecnología definida por Sun Microsystems, en el
cual se utilizan conceptos como son los mismos JSPs pero utilizando tags
de JSF.
● JavaBeans para manejar el concepto de modelo aunque también cabe
resaltar que los ManagedBean pueden jugar el rol tanto de controlador
como de modelo, entonces todo podría mezclarse en un solo bean y se
podría omitir el uso de los JavaBeans.
● Spring MVC, es una extensión de Spring, en el cual se utilizan JSPs como
parte la vista y se pueden utilizar los tags de Spring para robustecer estos
JSPs.
16.
17. Arquitectura MVC con JSP y Servlets
● Una vez que el JSP genera el HTML utilizando la información de los
JavaBeans que el Servlets le proporcionó, lo que hace es regresar el
contenido al cliente y en este momento es cuando se genera el
Render de nuestra aplicación según el Content Type que hayamos
utilizado. Por ejemplo, puede ser una salida en HTML, PDF, Video, un
archivo de Excel, etc. según hemos visto anteriormente.
● El punto es que el JSP únicamente va a desplegar la información que
recibió del Servlet y enviará esta información al cliente. Con esto
termina el flujo y si el cliente necesitara de realizar una nueva
petición el proceso se repite nuevamente.
18.
19. Servlet Controlador
● Según revisamos en la teoría de los Servlets, para procesar un
parámetro podemos utilizar la siguiente notación:
request.getParameter(“nombreParametro”);
● Podemos validar los parámetros para saber si la información que
estamos recibiendo es correcta.
● Una vez que ya hemos procesado los parámetros podemos realizar la
lógica de presentación respectiva o la lógica de negocio utilizando
JavaBeans
● Debemos de compartir el objeto que estamos creando en algún
alcance
20. Servlet Controlador
● En este caso, por medio del método forward estamos proporcionando
y enviando toda la información necesaria al JSP para que no tenga
ningún problema y pueda acceder a la información que hemos
compartido previamente por medio del Servlet.