Curso de Desarrollo Web en el Entorno del Servidor (DWES)
| Clave | Descripción |
|---|---|
| Módulo: | Desarrollo web en entorno servidor |
| Código: | 0613 |
| Créditos: | 12 ECTS |
| Horas: | 100 horas |
1. Introducción
La asignatura de Desarrollo Web en el Entorno del Servidor (DWES) forma parte del ciclo formativo de Desarrollo de Aplicaciones Web. En esta asignatura se aprenderán las principales tecnologías y herramientas utilizadas para el desarrollo de aplicaciones web del lado del servidor, así como los principios de la programación web con PHP y Node.js.
Durante el curso, los estudiantes adquirirán competencias en el diseño y desarrollo de aplicaciones web dinámicas, la integración con bases de datos, la gestión de sesiones de usuario, y la implementación de servicios web. Además, se abordarán temas de seguridad, optimización de código y buenas prácticas en el desarrollo de software.
Resultados de aprendizaje
Resultados de aprendizaje y criterios de evaluación.
-
Selecciona las arquitecturas y tecnologías de programación web en entorno servidor, analizando sus capacidades y características propias.
Criterios de evaluación:
a) Se han caracterizado y diferenciado los modelos de ejecución de código en el servidor y en el cliente web.
b) Se han reconocido las ventajas que proporciona la generación dinámica de páginas.
c) Se han identificado los mecanismos de ejecución de código en los servidores web.
d) Se han reconocido las funcionalidades que aportan los servidores de aplicaciones y su integración con los servidores web.
e) Se han identificado y caracterizado los principales lenguajes y tecnologías relacionados con la programación web en entorno servidor.
f) Se han verificado los mecanismos de integración de los lenguajes de marcas con los lenguajes de programación en entorno servidor.
g) Se han reconocido y evaluado las herramientas y frameworks de programación en entorno servidor.
-
Escribe sentencias ejecutables por un servidor web reconociendo y aplicando procedimientos de integración del código en lenguajes de marcas.
Criterios de evaluación:
a) Se han reconocido los mecanismos de generación de páginas web a partir de lenguajes de marcas con código embebido.
b) Se han identificado las principales tecnologías asociadas.
c) Se han utilizado etiquetas para la inclusión de código en el lenguaje de marcas.
d) Se ha reconocido la sintaxis del lenguaje de programación que se ha de utilizar.
e) Se han escrito sentencias simples y se han comprobado sus efectos en el documento resultante.
f) Se han utilizado directivas para modificar el comportamiento predeterminado.
g) Se han utilizado los distintos successos de variables y operadores disponibles en el lenguaje.
h) Se han identificado los ámbitos de utilización de las variables.
-
Escribe bloques de sentencias embebidos en lenguajes de marcas, seleccionando y utilizando las estructuras de programación.
Criterios de evaluación:
a) Se han utilizado mecanismos de decisión en la creación de bloques de sentencias.
b) Se han utilizado bucles y se ha verificado su funcionamiento.
c) Se han utilizado matrices (arrays) para almacenar y recuperar conjuntos de datos.
d) Se han creado y utilizado funciones.
e) Se han utilizado formularios web para interactuar con el usuario del navegador web.
f) Se han empleado métodos para recuperar la información introducida en el formulario.
g) Se han añadido comentarios al código.
-
Desarrolla aplicaciones web embebidas en lenguajes de marcas analizando e incorporando funcionalidades según especificaciones.
Criterios de evaluación:
a) Se han identificado los mecanismos disponibles para el mantenimiento de la información que concierne a un cliente web concreto y se han señalado sus ventajas.
b) Se han utilizado mecanismos para mantener el estado de las aplicaciones web.
c) Se han utilizado mecanismos para almacenar información en el cliente web y para recuperar su contenido.
d) Se han identificado y caracterizado los mecanismos disponibles para la autentificación de usuarios.
e) Se han escrito aplicaciones que integren mecanismos de autentificación de usuarios.
f) Se han utilizado herramientas y entornos para facilitar la programación, prueba y depuración del código.
-
Desarrolla aplicaciones web identificando y aplicando mecanismos para separar el código de presentación de la lógica de negocio.
Criterios de evaluación:
a) Se han identificado las ventajas de separar la lógica de negocio de los aspectos de presentación de la aplicación.
b) Se han analizado y utilizado mecanismos y frameworks que permiten realizar esta separación y sus características principales.
c) Se han utilizado objetos y controles en el servidor para generar el aspecto visual de la aplicación web en el cliente.
d) Se han utilizado formularios generados de forma dinámica para responder a los eventos de la aplicación web.
e) Se han identificado y aplicado los parámetros relativos a la configuración de la aplicación web.
f) Se han escrito aplicaciones web con mantenimiento de estado y separación de la lógica de negocio.
g) Se han aplicado los principios y patrones de diseño de la programación orientada a objetos.
h) Se ha probado y documentado el código.
-
Desarrolla aplicaciones web de acceso a almacenes de datos, aplicando medidas para mantener la seguridad y la integridad de la información.
Criterios de evaluación:
a) Se han analizado las tecnologías que permiten el acceso mediante programación a la información disponible en almacenes de datos.
b) Se han creado aplicaciones que establezcan conexiones con bases de datos.
c) Se ha recuperado información almacenada en bases de datos.
d) Se ha publicado en aplicaciones web la información recuperada.
e) Se han utilizado conjuntos de datos para almacenar la información.
f) Se han creado aplicaciones web que permitan la actualización y la eliminación de información disponible en una base de datos.
g) Se han probado y documentado las aplicaciones web.
-
Desarrolla servicios web reutilizables y accesibles mediante protocolos web, verificando su funcionamiento.
Criterios de evaluación:
a) Se han reconocido las características propias y el ámbito de aplicación de los servicios web.
b) Se han reconocido las ventajas de utilizar servicios web para proporcionar acceso a funcionalidades incorporadas a la lógica de negocio de una aplicación.
c) Se han identificado las tecnologías y los protocolos implicados en el consumo de servicios web.
d) Se han utilizado los estándares y arquitecturas más difundidos e implicados en el desarrollo de servicios web.
e) Se ha programado un servicio web.
f) Se ha verificado el funcionamiento del servicio web.
g) Se ha consumido el servicio web.
h) Se ha documentado un servicio web.
-
Genera páginas web dinámicas analizando y utilizando tecnologías y frameworks del servidor web que añadan código al lenguaje de marcas.
Criterios de evaluación:
a) Se han identificado las diferencias entre la ejecución de código en el servidor y en el cliente web.
b) Se han reconocido las ventajas de unir ambas tecnologías en el proceso de desarrollo de programas.
c) Se han identificado las tecnologías y frameworks relacionadas con la generación por parte del servidor de páginas web con guiones embebidos.
d) Se han utilizado estas tecnologías y frameworks para generar páginas web que incluyan interacción con el usuario."
e) Se han utilizado estas tecnologías y frameworks, para generar páginas web que incluyan verificación de formularios.
f) Se han utilizado estas tecnologías y frameworks para generar páginas web que incluyan modificación dinámica de su contenido y su estructura.
g) Se han aplicado estas tecnologías y frameworks en la programación de aplicaciones web.
-
Desarrolla aplicaciones web híbridas seleccionando y utilizando tecnologías, frameworks servidor y repositorios heterogéneos de información.
Criterios de evaluación:
a) Se han reconocido las ventajas que proporciona la reutilización de código y el aprovechamiento de información ya existente.
b) Se han identificado tecnologías y frameworks aplicables en la creación de aplicaciones web híbridas.
c) Se ha creado una aplicación web que recupere y procese repositorios de información ya existentes.
d) Se han creado repositorios específicos a partir de información existente en almacenes de información.
e) Se han utilizado librerías de código y frameworks para incorporar funcionalidades específicas a una aplicación web.
f) Se han programado servicios y aplicaciones web utilizando como base información y código generados por terceros.
g) Se han analizado y utilizado librerías de código relacionadas con Big Data e inteligencia de negocios, para incorporar análisis e inteligencia de datos proveniente de repositorios.
h) Se han probado, depurado y documentado las aplicaciones generadas.
2. Contenidos
2.1. Tema 1: Selección de arquitecturas y herramientas de programación
En este tema, aprenderemos sobre las diferentes arquitecturas y tecnologías utilizadas en el desarrollo web del lado del servidor, con un enfoque en Node.js y PHP. Estudiaremos cómo configurar los entornos de desarrollo y cómo seleccionar las mejores herramientas para crear aplicaciones web eficientes.
Temas a tratar:
- 1.1: Desarrollo web en el servidor.
- 1.2: Node. Configuración del entorno de trabajo.
- 1.3: Node. Ejercicios (uso de Node), ejecución.
- 1.4: Node. Servicio básico (devolución HTML estático).
- 1.5: Configuración del entorno PHP.
2.2. Tema 2: Inserción de código
En este tema, nos centraremos en cómo insertar código dinámico dentro de páginas web utilizando PHP y Node.js. Veremos las tecnologías asociadas y cómo recuperar y mostrar información dinámica en las páginas web.
Temas a tratar:
- 2.1: Fundamentos del lenguaje PHP.
2.3. Tema 3: Programación basada en lenguajes de marcas con código embebido
Este tema se enfoca en el uso de lenguajes de marcas (como HTML) junto con código embebido en el servidor (PHP, Node.js) para generar páginas web dinámicas. Veremos cómo manejar datos provenientes del cliente y realizar operaciones con ellos.
Temas a tratar:
- 3.1: Sintaxis de objetos en PHP.
- 3.2: Formularios HTML y procesamiento con PHP.
- 3.3: Introducción a bases de datos.
- 3.4: Conexión a bases de datos.
- 3.5: Operaciones DML sobre la BD.
- 3.6: Consultas a bases de datos.
2.4. Tema 4: Desarrollo de aplicaciones web utilizando código embebido
Aquí aprenderemos a desarrollar aplicaciones web completas utilizando código embebido en PHP y Node.js. Enfocaremos la creación de aplicaciones que manejen operaciones CRUD (Crear, Leer, Actualizar, Eliminar) y ampliación de funcionalidades.
Temas a tratar:
- 4.1: CRUD Simple, Una tabla.
- 4.2: Mejoras y adaptaciones.
- 4.3: Transacciones.
2.5. Tema 5: Generación dinámica de páginas web
En este tema, estudiaremos cómo generar páginas web dinámicas de manera eficiente utilizando tecnologías del servidor. También abordaremos el uso de frameworks como Laravel para facilitar el desarrollo y la estructuración del código.
Temas a tratar:
- 5.1: Introducción al patrón MVC.
- 5.2: Diagrama del patrón MVC.
- 5.3: MVC en PHP.
- 5.4: Introducción a Laravel.
- 5.5: Estructura de un proyecto Laravel.
- 5.6: Creación de vistas, Blade.
2.6. Tema 6: Utilización de técnicas de acceso a datos
Este tema se centrará en las técnicas avanzadas de acceso a bases de datos desde aplicaciones web, utilizando PHP y Node.js. Veremos cómo interactuar con bases de datos utilizando conexiones seguras y cómo realizar operaciones de consulta y manipulación de datos.
Temas a tratar:
- 6.1: Migraciones y modelos en Laravel.
- 6.2: Controladores de Laravel.
- 6.3: CRUD básico en Laravel.
- 6.4: Validaciones en Laravel.
2.7. Tema 7: Programación de servicios web
En este tema, abordaremos el desarrollo de servicios web utilizando PHP y Node.js. Aprenderemos sobre las tecnologías y protocolos implicados en la creación de servicios que interactúan con otros sistemas.
Temas a tratar:
- 7.1: Introducción a los servicios web.
- 7.2: Generación de servicios RESTful.
- 7.3: Consumo de servicios web en Laravel.
2.8. Tema 8: Generación dinámica de páginas web interactivas
Este tema se enfoca en cómo crear páginas web interactivas utilizando AJAX y otros mecanismos para obtener datos de manera asíncrona y modificar el contenido de la página sin recargarla.
Temas a tratar:
- 8.1: Introducción a la interactividad web.
- 8.2: Usando AJAX para obtener datos remotos.
- 8.3: Modificación dinámica de la estructura y contenido de la página web.
3. Conclusión
A lo largo de este curso, se abarcarán los aspectos clave del desarrollo de aplicaciones web en el servidor, desde la configuración de entornos de desarrollo hasta la creación de aplicaciones interactivas y seguras. Los estudiantes aprenderán a trabajar con PHP, Node.js, bases de datos y frameworks web, adquiriendo las competencias necesarias para crear aplicaciones web robustas y escalables.
4. Reparto de Horas del Curso de Desarrollo Web en el Entorno del Servidor
| Tema | Horas | Porcentaje | RA | Fechas |
|---|---|---|---|---|
| Selección de arquitecturas y herramientas de programación | 30 | 15.0% | RA1, RA2, RA3 | 08/09 |
| Inserción de código | 25 | 12.5% | RA2, RA4 | 13/10 |
| Programación basada en lenguajes de marcas con código embebido | 25 | 12.5% | RA2, RA5 | 17/11 |
| Desarrollo de aplicaciones web utilizando código embebido | 30 | 15.0% | RA5, RA6 | 22/12 |
| Generación dinámica de páginas web | 40 | 20.0% | RA4, RA5 | 26/01 |
| Utilización de técnicas de acceso a datos | 20 | 10.0% | RA6, RA7 | 02/03 |
| Programación de servicios web | 20 | 10.0% | RA7, RA8 | 06/04 |
| Generación dinámica de páginas web interactivas | 30 | 15.0% | RA8 | 11/05 |
4. Metodología del Curso
La metodología de este curso está centrada en el trabajo por proyectos, lo cual permitirá a los estudiantes aplicar los conocimientos adquiridos a través de prácticas reales y colaborativas. La idea es que los estudiantes se enfrenten a problemas del mundo real, desarrollen soluciones en equipo y mejoren sus habilidades técnicas y de trabajo en grupo.
Trabajo por Proyectos
- Inicialmente, los proyectos estarán centrados en las asignaturas individuales, permitiendo a los estudiantes abordar problemas específicos de cada tema.
- A medida que avance el curso, los proyectos se combinarán entre varias asignaturas, lo que fomentará el trabajo interdisciplinario y ayudará a los estudiantes a ver cómo se conectan diferentes áreas del desarrollo web (como la programación en el servidor, las bases de datos, la generación dinámica de páginas, etc.).
Trabajo en Grupos
Los estudiantes trabajarán en grupos (a definir) para fomentar la colaboración y el aprendizaje en equipo. El trabajo en grupo permitirá que cada miembro del equipo se especialice en diferentes aspectos del proyecto, mientras desarrolla habilidades de comunicación, liderazgo y gestión de tiempo.
Evaluaciones
Las evaluaciones estarán divididas en varios successos para evaluar el progreso y el entendimiento de los estudiantes desde diferentes perspectivas:
- Exámenes escritos: Estos se realizarán para evaluar los conocimientos teóricos adquiridos durante el curso, cubriendo conceptos clave relacionados con las herramientas, tecnologías y metodologías vistas.
- Entrega de proyectos: Los estudiantes deberán entregar proyectos completados al final de cada módulo o fase del curso. La entrega de estos proyectos servirá para evaluar su capacidad para aplicar lo aprendido de manera práctica.
- Modificación de funcionalidades del proyecto delante del profesor: En algunas evaluaciones, los estudiantes deberán realizar modificaciones en tiempo real en sus proyectos frente al profesor. Esto evaluará no solo su capacidad para escribir código, sino también su habilidad para resolver problemas de manera eficiente y comunicarse mientras trabajan.
La combinación de estos métodos de evaluación permitirá una visión más completa del aprendizaje de los estudiantes, asegurando que sean evaluados en habilidades prácticas, teóricas y de resolución de problemas.