quiz image

Tema 19. Desarrollo Web I: Struts, Spring, Spring Boot y CodeIgniter

LuckierMridangam avatar
LuckierMridangam
·
·
Download

Start Quiz

Study Flashcards

30 Questions

¿Cuál es el beneficio principal de utilizar Struts en un proyecto de desarrollo de aplicaciones web?

Ofrece una estructura predefinida para eliminar la complejidad del desarrollo

¿Qué tipo de proyectos se benefician especialmente de utilizar Struts?

Proyectos de cierta envergadura que se benefician de una arquitectura MVC

¿Por qué Struts es una elección acertada para muchos proyectos?

Porque ofrece una arquitectura sólida basada en el patrón MVC

¿Por qué Struts seguirá siendo relevante en el panorama del desarrollo de software?

Porque su continua evolución y mejora

¿Qué tipo de educación es recomendable para aquellos interesados en profundizar sus conocimientos en Struts?

Cursos especializados en Java

¿Cuál es la característica principal de Spring MVC que lo hace atractivo para el desarrollo de aplicaciones web en Java?

Su arquitectura MVC flexible

¿Cuál de las siguientes opciones NO es una alternativa a Struts?

React

¿Qué es lo que hace que Micronaut sea ideal para aplicaciones en la nube y microservicios?

Su tiempo de inicio ultrarrápido

¿Cuál es el papel de struts-config.xml en un proyecto Struts?

Configurar los archivos de configuración necesarios

¿Qué es lo que hace que Apache Wicket sea ideal para aplicaciones empresariales complejas?

Su arquitectura orientada a componentes

¿Cuál es el objetivo principal de Spring Framework?

Estandarizar y agilizar el desarrollo de aplicaciones empresariales

¿Qué licencia utilizó Spring Framework cuando fue lanzado por primera vez en 2003?

Licencia Apache 2.0

¿Qué tipo de frameworks son soportados por Spring?

Varios frameworks, como Hibernate, Struts, Tapestry, EJB, JSF, entre otros

¿Qué es lo que permite a los equipos de desarrollo enfocarse en la lógica empresarial?

El soporte de infraestructura a nivel de aplicación

¿Quién es el autor original de Spring Framework?

Rod Johnson

¿Cuál es la principal razón por la que las aplicaciones web diseñadas según un patrón MVC se consideran fáciles de mantener?

Porque la fuente del error suele encontrarse en uno solo de los componentes

¿Qué es lo que caracteriza a la arquitectura MVC jerárquica (HMVC) utilizada en CodeIgniter?

La lógica jerárquica que amplía el patrón MVC clásico

¿Qué es lo que permite que los desarrolladores del backend y del frontend trabajen en paralelo en un proyecto de desarrollo de aplicaciones web?

La separación entre la lógica del programa y la presentación

¿Qué beneficio se obtiene al reutilizar los módulos individuales de programación en un proyecto de desarrollo de aplicaciones web?

Un aumento en la velocidad de desarrollo

¿Qué es lo que caracteriza al patrón MVC en relación con los cambios en el código fuente?

Los cambios en un componente no suelen tener ningún efecto en el código fuente de otros componentes

¿Cuál es el objetivo principal de utilizar los iniciadores y la estructura de archivos JAR ejecutables de Spring Boot?

Crear rápidamente aplicaciones basadas en Spring que 'simplemente se ejecutan'

¿Qué tipo de plataformas se benefician especialmente de utilizar IBM WebSphere Hybrid Edition?

Todas las opciones anteriores

¿Por qué Java sigue siendo una plataforma de desarrollo popular?

Por su capacidad para admitir una amplia gama de tecnologías emergentes

¿Qué es lo que permite a los desarrolladores impulsar un desarrollo nativo en la nube?

La utilización de IBM WebSphere Hybrid Edition

¿Qué es lo que caracteriza a IBM WebSphere Hybrid Edition?

Es una colección de herramientas de modernización y ejecutables de aplicaciones

¿Cuál es el estándar que utiliza CodeIgniter para facilitar la carga automática de bibliotecas?

PSR-4

¿Cuál es el propósito principal del controlador en la aplicación de ejemplo?

Dirigir las peticiones entre el modelo y la vista

¿Qué es lo que se crea en el paso 2 de la aplicación de ejemplo?

El modelo que recupera los valores de la base de datos

¿Qué es lo que se muestra en la vista en la aplicación de ejemplo?

La información pasada por el controlador en la matriz $data

¿Qué es lo que caracteriza a la aplicación de ejemplo creada en el tutorial?

Una aplicación web sencilla que muestra la lista de agencias

Study Notes

Ventajas de Struts en el Desarrollo de Aplicaciones Web

  • Struts es un framework de código abierto para el desarrollo de aplicaciones web en Java, que implementa el patrón MVC para separar la lógica de negocio, la interfaz de usuario y el flujo de control.
  • Permite simplificar la implementación de aplicaciones siguiendo el patrón MVC, facilitando la separación de responsabilidades y mejorando la mantenibilidad del código.

Componentes Clave de Struts

  • Struts se estructura en torno a tres componentes fundamentales: Actions, Form Beans y Tiles.
  • Cuenta con alrededor de 300 clases e interfaces organizadas en paquetes de nivel superior, lo que demuestra su riqueza funcional y capacidad de adaptación a diferentes necesidades de desarrollo.

Características Destacadas de Struts

  • Struts ofrece una arquitectura sólida basada en el patrón MVC.
  • Cuenta con una comunidad activa que constantemente aporta mejoras y soluciones a problemas comunes.
  • Es especialmente útil en proyectos de cierta envergadura que se benefician de una arquitectura MVC.

Beneficios de Utilizar Struts en Proyectos Java

  • Ofrece agilidad en el desarrollo y facilidad de mantenimiento.
  • Contribuye a la eficiencia del desarrollo al proporcionar una estructura predefinida, lo que reduce el tiempo de configuración y permite a los desarrolladores centrarse en la lógica de negocio.

Introducción a Struts

  • Struts es un framework de código abierto desarrollado en Java para crear aplicaciones web.
  • Fue creado por Craig McClanahan en 2000 y ha evolucionado con el tiempo, con versiones como Struts 1 y Struts 2.

¿Qué es un framework?

  • Un framework es una estructura o conjunto de herramientas predefinidas que facilita el desarrollo de software.
  • Funciona como un esqueleto sobre el cual los desarrolladores pueden construir sus aplicaciones.
  • Un framework proporciona una serie de funciones y reglas que permiten a los programadores desarrollar aplicaciones de manera más eficiente.

Características de Struts

  • Arquitectura MVC (Modelo-Vista-Controlador): separa claramente la lógica de presentación, la lógica de negocio y la gestión de datos.
  • Manejo de solicitudes y respuestas: utiliza un controlador frontal (Front Controller) para manejar todas las solicitudes entrantes.
  • Etiquetas personalizadas: ofrece un conjunto de etiquetas personalizadas (JSP tags) para simplificar la creación de interfaces de usuario dinámicas.
  • Validación de formularios: proporciona un mecanismo integrado para validar los datos enviados desde los formularios web.
  • Configuración basada en XML: utiliza archivos de configuración XML para definir la estructura y el comportamiento de la aplicación.

Componentes de Struts

  • Acción: representa una funcionalidad específica de la aplicación y responde a las solicitudes del usuario.
  • ActionServlet: actúa como un Front Controller y maneja todas las solicitudes entrantes.
  • Formulario: objeto que encapsula los datos enviados desde la vista al servidor.
  • Interceptor: permite realizar acciones adicionales antes o después de que se ejecute una acción.
  • Resultado: objeto que representa la salida de una acción y determina cómo se presenta la respuesta al usuario.

Ventajas de Struts

  • Estructura MVC: facilita la separación de preocupaciones y la organización del código.
  • Componentes predefinidos: ofrece una serie de componentes y herramientas predefinidos que facilitan el desarrollo de aplicaciones web.
  • Reutilización de código: fomenta la reutilización de código al separar la lógica de presentación, la lógica de negocio y la gestión de datos en componentes distintos.
  • Soporte para tecnologías de Java: se integra fácilmente con otras tecnologías de la plataforma Java.

Desventajas de Struts

  • Curva de aprendizaje: puede tener una curva de aprendizaje pronunciada para los desarrolladores nuevos en el framework.
  • Configuración compleja: la configuración de Struts a través de archivos XML puede ser compleja y propensa a errores.
  • Flexibilidad limitada: su enfoque en la estructura MVC puede limitar la flexibilidad en ciertos casos.
  • Ciclo de desarrollo más largo: el proceso de desarrollo puede ser más largo en comparación con otros frameworks más livianos o flexibles.

Casos de uso de Struts

  • Aplicaciones empresariales: Struts es ideal para el desarrollo de aplicaciones empresariales que requieren una estructura sólida y modular.
  • Aplicaciones CRUD: Struts es muy útil para el desarrollo de aplicaciones CRUD que operan principalmente en operaciones de base de datos.
  • Aplicaciones web de comercio electrónico: Struts puede ser utilizado en el desarrollo de aplicaciones web de comercio electrónico que requieren una interfaz de usuario dinámica y una lógica de negocio compleja.

Alternativas a Struts

  • Spring MVC: es parte del amplio ecosistema de Spring Framework y es una opción popular para el desarrollo de aplicaciones web en Java.
  • JavaServer Faces (JSF): es un marco de trabajo estándar de Java EE para la construcción de interfaces de usuario basadas en componentes web.
  • Play Framework: es un marco de trabajo web ligero y de alto rendimiento para Java y Scala.
  • Apache Wicket: es un marco de trabajo orientado a componentes que simplifica el desarrollo de aplicaciones web en Java.
  • Micronaut: es un marco de trabajo moderno y ultrarrápido para el desarrollo de aplicaciones JVM, incluidas aplicaciones web.### Configuración de la estructura del proyecto
  • El proyecto necesita varios archivos de configuración, incluyendo web.xml y struts-config.xml.
  • Se crean clases de formulario, como WelcomeForm.java, y clases de acción, como WelcomeAction.java.
  • La vista se crea en un archivo JSP, como welcome.jsp, y se indexa en index.jsp.

Framework Struts

  • Struts es un framework sólido y maduro para el desarrollo de aplicaciones web en Java.
  • Ofrece una arquitectura MVC clara y componentes predefinidos para facilitar el desarrollo de aplicaciones robustas y escalables.
  • Struts ha sido ampliamente utilizado en la comunidad de desarrollo durante muchos años.

Ventajas y desventajas de Struts

  • Ventajas: maneja la lógica de la aplicación, la validación de formularios y la presentación de datos de manera efectiva.
  • Desventajas: curva de aprendizaje pronunciada y configuración compleja.

Selección del framework adecuado

  • La elección del framework adecuado depende de factores como los requisitos del proyecto, la familiaridad del equipo con la tecnología y las consideraciones de mantenibilidad y escalabilidad a largo plazo.
  • Es importante explorar y considerar alternativas más modernas y avanzadas según las necesidades específicas del proyecto y las preferencias del equipo de desarrollo.

Introducción a Spring Framework

  • La creciente complejidad de los sistemas web ha llevado a la comunidad de desarrolladores a buscar ayuda para no tener que repetir código.
  • Spring Framework es una plataforma Java de código abierto, lanzada en 2003 bajo la licencia Apache 2.0.

Características de Spring Framework

  • Ofrece un modelo para la configuración y programación de aplicaciones empresariales desarrolladas bajo Java.
  • Permite enfocarse en la lógica empresarial, reduciendo las tareas repetitivas y ahorrando líneas de código.
  • Es compatible con varios frameworks como Hibernate, Struts, Tapestry, EJB, JSF, entre otros.

Beneficios de utilizar Spring Framework

  • Agiliza el desarrollo de aplicaciones, reduciendo el tiempo y el espacio.
  • Ofrece una gran cantidad de servicios y beneficios para los desarrolladores.
  • Permite a los equipos de desarrollo enfocarse directamente en la lógica empresarial.

Información adicional

  • La versión actual de Spring es la 5.
  • Cuenta con suficiente documentación en la web y una gran comunidad de desarrolladores.
  • Se recomienda acceder a la documentación oficial y realizar cursos para aprender a manejar Spring Framework.

Ventajas del patrón MVC

  • Permite diseñar software de forma flexible, con la capacidad de substituir, editar y reutilizar módulos individuales de programación fácilmente.
  • Los cambios en un componente no afectan el código fuente de otros componentes, siempre que no se realicen cambios en los puntos de contacto entre ellos.

Estructura del patrón MVC

  • División entre la lógica del programa y la presentación, resultando en un código claro y bien estructurado.

Mantenimiento de aplicaciones web

  • Las aplicaciones web diseñadas según el patrón MVC son consideradas fáciles de mantener, ya que los errores suelen encontrarse en un solo componente.
  • La separación entre lógica y diseño permite desarrollarlos de forma independiente.

Colaboración y desarrollo

  • La separación entre componentes permite que los desarrolladores del backend y del frontend trabajen en paralelo, lo que puede acelerar el desarrollo de aplicaciones.
  • El patrón MVC permite una mayor velocidad en el desarrollo de aplicaciones.

CodeIgniter y patrón MVC

  • CodeIgniter utiliza el patrón MVC, pero no obliga a los usuarios a implementarlo por completo.
  • El modelo es un componente opcional, que se puede utilizar como vínculo con la base de datos.

Arquitectura MVC jerárquica (HMVC)

  • CodeIgniter también permite una arquitectura MVC jerárquica (HMVC), que amplía el patrón MVC clásico con una lógica jerárquica.

Spring Framework

  • Es un marco de trabajo empresarial de código abierto que sirve para crear aplicaciones autónomas de producción que se ejecutan en una máquina virtual Java (JVM).
  • Ofrece una función de inyección de dependencias que permite a los objetos definir dependencias propias que luego les inyecta el contenedor Spring.
  • Proporciona soporte incorporado para las tareas habituales que realiza una aplicación, como enlace de datos, conversión de tipo, validación, manejo de excepciones, gestión de recursos y sucesos o internacionalización.

Ventajas de Spring Framework

  • Permite crear aplicaciones modulares que constan de componentes sin conexión directa que son ideales para microservicios y aplicaciones de red distribuida.
  • Se integra con varias tecnologías Java EE, como por ejemplo RMI (invocación a método remoto), AMQP (Advanced Message Queuing Protocol) y Java Web Services.

Spring Boot

  • Es una herramienta que acelera y simplifica el desarrollo de microservicios y aplicaciones web con Spring Framework.
  • Ofrece tres funciones principales: configuración automática, enfoque Obstino para añadir y configurar dependencias de iniciador y ejecución de aplicaciones autónomas.

Ventajas de Spring Boot

  • Reduce la complejidad y el tiempo de configuración y despliegue de las aplicaciones Spring.
  • Permite a los desarrolladores crear aplicaciones que simplemente se ejecutan sin depender de un servidor web externo.
  • Incorpora un servidor web como Tomcat o Netty en la aplicación durante el proceso de inicialización.
  • Incluye más de 50 Spring Starters, y hay disponibles muchos más de terceras partes.

Spring Starters

  • Son dependencias de iniciador que corresponden a los casos de uso habituales.
  • Ejemplos: "Spring web" para crear aplicaciones web basadas en Spring y "Spring Security" para agregar automáticamente funciones de autenticación y control de acceso.

Beneficios de utilizar Spring Boot

  • Facilita la creación de aplicaciones autónomas que se ejecutan por sí solas.
  • Acelera el desarrollo de aplicaciones.
  • Permite a los desarrolladores crear aplicaciones que se ejecutan en cualquier plataforma con la instrucción Ejecutar.
  • Puede utilizar el popular sistema de anotación de Spring Framework para inyectar fácilmente dependencias adicionales.

Configuración de CodeIgniter

  • CodeIgniter es un framework PHP que requiere una pila Linux, Apache, MySQL y PHP (LAMP) para funcionar.
  • Puede instalar CodeIgniter automáticamente con Composer o manualmente mediante el Administrador de archivos.
  • La versión estable de CodeIgniter utilizada en este tutorial es 4.1.9.

Instalación de CodeIgniter

  • Para instalar CodeIgniter con Composer, debes ejecutar el comando composer create-project codeigniter4/appstarter proyecto y mover los archivos a la carpeta public_html.
  • Para instalar CodeIgniter manualmente, debes seleccionar todos los archivos, moverlos a la carpeta public_html y sustituir tudominio.com por tu nombre de dominio.

Configuración de CodeIgniter

  • Después de instalar CodeIgniter, debes crear un archivo .htaccess y pegar el fragmento de código para que la URL del sitio web tenga el formato deseado.
  • La configuración avanzada de CodeIgniter para planes compartidos implica crear una nueva base de datos MySQL y configurar hosts virtuales en VPS.
  • Para eliminar index.php del formato URL, debes localizar la línea RewriteCond $1 !^index.php y sustituirlo por RewriteCond $1 !^index\.php|images|assets|uploads.

Patrón MVC

  • El patrón modelo-vista-controlador (MVC) es un paradigma de arquitectura de desarrollo web que establece que la lógica de negocio de cualquier aplicación debe estar separada de la presentación.
  • El patrón MVC ofrece flexibilidad para reutilizar código y permite a los desarrolladores del front-end trabajar en paralelo con el equipo del back-end.

Enrutamiento básico

  • CodeIgniter formatea sus cadenas URL con el formato <a href="http://tudominio.com/welcome/tester/1">http://tudominio.com/welcome/tester/1</a>.
  • La clase controladora welcome llama a la función tester() y le pasa 1 como parámetro.

Librerías

  • CodeIgniter fomenta la reutilización de bibliotecas y funciones de ayuda existentes para realizar tareas comunes.
  • El framework permite a los usuarios decidir qué biblioteca cargar y cuándo.
  • Cargar una biblioteca es fácil en CodeIgniter, por ejemplo, para cargar la biblioteca Base de datos, debes pasar la línea $this-&gt;load-&gt;database(); en tu modelo o controlador.

Crear una aplicación sencilla con CodeIgniter

  • Para crear una aplicación sencilla, debes crear una tabla con phpMyAdmin, crear un modelo que recupere los valores de la base de datos, crear un controlador que dirija las peticiones entre el modelo y la vista, y crear una vista que mostrará la lista de agencias.
  • La aplicación web llamará al controlador de agencias creado en el paso 3 y ordenará los elementos de la base de datos.

Conclusión

  • Aprender a crear una aplicación web es necesario si deseas convertirte en desarrollador web.
  • CodeIgniter y su arquitectura MVC hacen que el proceso de desarrollo sea rápido, eficiente y fácil para cualquiera.

Conoce los conceptos básicos y avanzados del framework Struts para desarrollar aplicaciones web robustas y eficientes en Java. Aprende sobre el patrón Modelo-Vista-Controlador (MVC) y la colaboración en código abierto.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Strut Synonyms Quiz
0 questions
AFS Topic 3 MOD
70 questions

AFS Topic 3 MOD

EnterprisingMagnolia avatar
EnterprisingMagnolia
Use Quizgecko on...
Browser
Browser