Profesor | Jesús Iván Saavedra Martínez | lu mi vi | 7 a 8 |
Ayudante | Fernando Antonio Sánchez Montoya | ma ju | 7 a 8 |
Ayudante | Ilse Gisela Súarez Peña | ma ju | 7 a 8 |
Ayud. Lab. | Carlos López Rodríguez | mi | 10 a 12 |
https://www.dropbox.com/s/jfells1cvv9et82/Presentaci%C3%B3n%20del%20curso%20v1.0.pdf?dl=0
El curso de será impartido en una modalidad asíncrona, por lo que no será necesario tomar clases virtuales en horarios específicos (excepto la primera clase), lo que permite al alumno ser independiente de organizar su tiempo para revisar el material y resolver las actividades del curso.
El lanzamiento del nuevo sistema REST como protocolo de intercambio y manipulación de datos en los servicios de internet cambió por completo el desarrollo de software a partir de 2000. Ya casi toda empresa o aplicación dispone de una API REST para creación de negocio. En la actualidad no existe proyecto o aplicación que no disponga de una API REST para la creación de servicios profesionales a partir de ese software. Twitter, YouTube, los sistemas de identificación con Facebook… hay cientos de empresas que generan negocio gracias a REST y las APIs REST. Twitter, YouTube, los sistemas de identificación con Facebook… hay cientos de empresas que generan negocio gracias a REST y las APIs REST.
Por otra parte, los microservicios son un enfoque arquitectónico y organizativo para el desarrollo de software compuesto por pequeños servicios independientes que se comunican a través de APIs bien definidas. Las arquitecturas de microservicios hacen que las aplicaciones sean más fáciles de escalar y más rápidas de desarrollar. Los ejemplos de Netflix o Spotify muestran por qué las grandes compañías, con sistemas monolíticos consolidados, se deciden por desmontar su arquitectura y cambiarla por los microservicios. Compañías Google o Amazon son un claro ejemplo de esta arquitectura.
Debido a que algunos alumnos que tomaron la materia de TDI el semestre pasado están interesados en esta materia, me parece importante aclarar las diferencias que tienen. En esta nueva materia se verán temas únicamente de backend, por lo que el tiempo del curso permitirá profundizar más en la mayoría de los temas, revisar y explicar con mayor detalle varios de los conceptos que en TDI se vieron por encima. Al principio del curso se implementará una API con “palitos y bolitas”. A lo largo del curso se revisarán herramientas y prácticas de programación que permitan optimizar y automatizar el desarrollo de APIs.
Al finalizar este curso, el alumno será capaz de desarrollar APIs REST con las tecnologías y arquitecturas más utilizadas hoy en día. Adicionalmente, el alumno aprenderá buenas prácticas de programación para aplicar en su vida académica y profesional.
Git - Hibernate - Java - JDBC - JPA - Maven – MongoDB - MySQL - Spring Boot - Spring Cloud - Swagger
Unidad I - Introducción a los Web Services
1.1. Definición de Web Services
1.2. Tipos de Web Services
1.3. Importancia de WSDL en los Web Services
1.4. Diferencia entre WSDL y SOAP
Unidad II - Conceptos de Interfaz de Programación de Aplicaciones
2.1. Conceptos básicos de API
2.2. Principios de la arquitectura REST
2.3. Métodos HTTP en una API REST
2.4. Tecnologías para el desarrollo de una API
Unidad III - Implementación de API REST
3.1. Repositorios, servicios y controladores
3.2. Creación de endpoints
3.3. Almacenamiento y consulta de datos
3.4. Conexión a una API REST
Unidad IV - Seguridad y pruebas en APIs
4.1. Códigos de estatus de respuesta HTTP
4.2. Restricción de accesos a una API
4.3. Usuarios y autenticación con tokens
4.4. Pruebas unitarias en APIs
Unidad V - Arquitectura de Microservicios
5.1. Descripción de la arquitectura
5.2. Implementación de aplicaciones basadas en microservicios
5.3. Centralización de la configuración
5.4. Tolerancia a fallos y latencia
50% Proyecto
40% Prácticas
10% Cuestionarios
13% Recuperación
- Enlace de acceso a la primera reunión el 01/03/2021 - 7:00 am: https://meet.google.com/axm-htdz-rmz
- Enlace de acceso a classroom: https://classroom.google.com/c/Mjc1MDMwMzI3OTk5?cjc=uljptww
- Enlace de acceso a slack: https://join.slack.com/t/desarrollodew-hm22462/shared_invite/zt-mf6yjrmq-YICiz4d0ApXQ8MslMeA~7w