Encabezado Facultad de Ciencias
Presentación

Ciencias de la Computación (plan 2013) 2021-2

Optativas, Seminario de Ciencias de la Computación A

Grupo 7085, 60 lugares. 46 alumnos.
Desarrollo de Web Services y APIs REST
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
 

Presentación del curso

https://www.dropbox.com/s/jfells1cvv9et82/Presentaci%C3%B3n%20del%20curso%20v1.0.pdf?dl=0

Dinámica del curso

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.

Introducción 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.

Diferencias con Tecnologías para Desarrollos en Internet 2021-1

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.

Aprendizajes esperados

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.

Principales herramientas y Tecnologías utilizadas durante el curso

Git - Hibernate - Java - JDBC - JPA - Maven – MongoDB - MySQL - Spring Boot - Spring Cloud - Swagger

Temario

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

Criterios de evaluación

50% Proyecto

40% Prácticas

10% Cuestionarios

13% Recuperación

Acceso a plataformas y primera clase

- 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

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.