Encabezado Facultad de Ciencias
Presentación

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

Optativas, Seminario de Ciencias de la Computación A

Grupo 7125, 50 lugares. 49 alumnos.
Desarrollo web back-end
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 Cristopher Alejandro Escamilla Soto ma ju 7 a 8
Ayud. Lab. Carlos López Rodríguez ma 12 a 14
Ayud. Lab. Adriana Hérnandez Gasca ma 12 a 14
 
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 del año 2000. Prácticamente toda empresa o aplicación dispone de una API para su administración de negocio. En la actualidad, no existe sistema que no disponga de una API para la creación de servicios profesionales. Twitter, YouTube, sistemas de identificación con Facebook… hay cientos de empresas que generan negocio gracias a 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 deciden desmontar su arquitectura y cambiarla por los microservicios. Compañías como Google o Amazon son un claro ejemplo de esta arquitectura.

Dinámica

El curso de será impartido en una modalidad asíncrona, por lo que no será necesario tomar clases virtuales en horarios específicos, excepto sesiones de repaso y seguimiento del curso programadas con una semana de anticipación, lo que permite al alumno ser independiente de organizar su tiempo para revisar el material y resolver las actividades del curso.

Aprendizajes

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

Git - Hibernate - Java - JPA - JSON - Maven - SQL - Spring Boot - Spring Cloud - Swagger

Criterios de evaluación

50% Proyecto

50% Prácticas

10% Examen Teórico

Acceso a plataformas y primera clase

- Primera sesión elmartes 31 de enero de 2023 - 7:00 am: https://meet.google.com/qua-jbpv-rsn

- Classroom: https://classroom.google.com/c/NTg0OTQ0OTI3ODgy?cjc=d3yhkbk

- Slack: https://join.slack.com/t/slack-j2o3010/shared_invite/zt-1ntw3i8qp-sGnCANYm8dV95uwslz7Nkg

Temario

Unidad I - Introducción a los Servicios Web (WS)

1.1. Definición de WS

1.2. Tipos de WS

1.3. Importancia de WSDL en los WS

1.4. Diferencia entre WSDL y SOAP

Unidad II - Conceptos de Interfaz de Programación de Aplicaciones (API)

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. Códigos de estado de respuesta HTTP

Unidad III - Implementación de APIs REST

3.1. Tecnologías para el desarrollo de APIs

3.2. Repositorios, Servicios y Controladores

3.3. Creación de API Endpoints

3.4. Conexión a Bases de Datos

Unidad IV - Arquitectura de Microservicios

4.1. Conceptos básicos de Microservicios

4.2. Implementación de aplicaciones basadas en microservicios

4.3. Centralización de la configuración

4.4. Tolerancia a fallos y latencia

Unidad V - Seguridad y Pruebas Unitarias

5.1. Restricción de acceso a APIs

5.2. Seguridad con Json Web Token

5.3. Vulnerabilidades de OWASP

5.4. Pruebas unitarias en Spring

 


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.