Servicios Web RESTful

Diseño, implementación y despliegue de servicios web empresariales basados en JAX-RS (Java API for RESTful Web Services), utilizando Spring Boot, Jersey y RESTEasy con Oracle y JPA/Hibernate/Spring Data. Su testeo se realizará vía POSTMAN y JSONLint, su consumo se implementará a nivel de Java (incluye servicios externos).

Categoría:
  • Descripción
  • Sesiones

Descripción

CURSO

Servicios Web RESTful

RESUMEN

Diseño, implementación y despliegue de servicios web empresariales basados en JAX-RS (Java API for RESTful Web Services), utilizando Spring Boot, Jersey y RESTEasy con Oracle y JPA/Hibernate/Spring Data. Su testeo se realizará vía POSTMAN y JSONLint, su consumo se implementará a nivel de Java (incluye servicios externos).

CAPACIDAD

Contar con los conocimientos y entrenamiento práctico en el uso de Java para desarrollar Servicios Web utilizando Spring Boot, Jersey y RESTEasy; estar preparado para llevar cursos de nivel intermedio de Aplicaciones Web (Angular 8).

REQUISITOS
  • Aplicaciones Java Web (AWEB-002: Aplicaciones Web, versión 1.0.0).
  • Conocimientos intermedios de Oracle 11g u superior.
  • Análisis y diseño de sistemas.
  • Arquitectura de aplicaciones en general.
METODOLOGÍA
  • Exposición de aspectos teóricos de los temas.
  • Desarrollo de casos prácticos progresivos.
  • Experiencias del instructor y alumnos del curso.
TECNOLOGÍAS Y RECURSOS
  • OOP, AOP, PF, UML, JDK 1.8, 11,12 y 13.
  • JAX-RS, Spring REST, Jersey y RESTEasy.
  • JPA (Eclipse Link) / JPA (Hibernate) y Spring Data.
  • Spring Boot, Spring Core (IoC y DI).
  • POSTMAN y JSONLint.
  • STS, Eclipse, Oracle, Apache Tomcat, JBoss y Web Logic.
Sesión 01:

INTRODUCCIÓN A SERVICIOS REST

  • Introducción a API REST (JAX-RS 2.0).
  • RESTful (REST, ROA y HATEOAS) y WADL.
  • Principals Frameworks (Spring Boot, Jersey, RESTeasy).
  • Herramientas de testeo (Postman y JSONLint).
  • Mi primer servicio REST con Spring Boot.
Sesión 02:

SERVICIO REST CON SPRING BOOT

  • Creación del Servicio utilizando https://start.spring.io/.
  • Servicio @RestController/ @RequestMapping, versionamiento y
  • Producción y consumo (@Produces y @Consumes).
  • Métodos HTTP (@GetMapping, @ PostMapping, @ PutMapping, @ @DeleteMappingy @OPTIONS).
  • Parámetros @PathVariable, @QueryParamy y @RequestBody)
  • Crear un servicio con Oracle (Repository, Service y ResController).
Sesión 03:

PAGINACIÓN, ORDENAMIENTO, HATEOAS Y SERVICIOS JERÁRQUICOS

  • Creando servicios paginados con Spring Data.
  • Implementando ordenamientos.
  • Implementando HATEOAS.
  • Servicios jerárquicos (maestro - detalle).
  • Pruebas del servicio utilizando Postman.
Sesión 04:

SERVICIO REST CON JERSEY

  • Configuración de Jersey.
  • Servicio @Path y versionamiento.
  • Métodos HTTP (@GET, @POST, @PUT, @DELETE y @OPTIONS).
  • Producción y consumo (@Produces y @Consumes).
  • Parámetros (@QueryParam, @PathParam y @DefaultValue).
Sesión 05:

Servicio REST con RESTEasy

  • Creación del proyecto RESTful con RESTEasy (maven).
  • Configurando modules (Oracle) en JBoss.
  • Configurando data source (pool) a nivel de JBoss.
  • Crear un servicio con Oracle (JPA, EJB, Service Api).
  • Configurando JBoss y desplegando el servicio.
Sesión 06:

VALIDACIONES, EXCEPCIONES, LOGS Y AUTORIZACIÓN

  • Implementación de mensajes y validaciones
  • Gestión de errores y excepciones
  • Implementación de logs (SLF4J y Log4j)
  • Implementación de autorización (Basic Auth)
  • Integración de autorización a nivel de base de datos (MD5 o SHA1)
Sesión 07:

CORS Y SEGURIDAD CON SPRING SECURITY Y JWT

  • Introducción a Spring Security, JWT y CORS.
  • Implementación de CORS (genéricos y específicos).
  • Implementación de Autenticación (Login).
  • Implementación de Autorización (Roles).
  • Pruebas del servicio utilizando Postman.
Sesión 08:

CONSUMO DE SERVICIOS PROPIOS Y EXTERNOS

  • Pruebas del servicio utilizando Postman y JSONLint.
  • Pruebas de concepto de consumo utilizado Consumo y JUnit.
  • Creando una clase utilitario de consumo (RESTUtil).
  • Consumiendo servicios externos.
  • Consumiendo servicios propios.