Servicios Web REST en Java

Diseño, implementación y despliegue de servicios web empresariales basados en JAX-RS (Java API for RESTful Web Services), utilizando Jersey y Spring REST con Oracle y JPA (Eclipse Link). Su testeo se realizará vía POSTMAN y SoapUI y su consumo se implementará a nivel de Java.

  • Descripción
  • Sesiones

Descripción

CURSO

SERVICIOS WEB REST EN JAVA

RESUMEN

Diseño, implementación y despliegue de servicios web empresariales basados en JAX-RS (Java API for RESTful Web Services), utilizando Jersey y Spring REST con Oracle y JPA (Eclipse Link). Su testeo se realizará vía POSTMAN y SoapUI y su consumo se implementará a nivel de Java.

CAPACIDAD

Diseñar, implementar, desplegar y consumir servicios REST como componentes de una arquitectura de aplicaciones empresariales. Se desarrollará casos prácticos utilizando las principales implementaciones demandadas en el mercado.

REQUISITOS
  • Conocimientos avanzados de Tecnología de Objetos
  • Conocimientos avanzados de Java
  • Conocimientos avanzados de Oracle
  • Conocimientos avanzados de análisis y diseño de sistemas
  • Conocimientos de arquitectura de aplicaciones.
METODOLOGÍA
  • Exposición de aspectos teóricos de los temas
  • Desarrollo de casos prácticos
  • Asignación de tareas
  • Un examen final del curso
  • Desarrollo de proyecto final del curso
TECNOLOGÍAS INVOLUCRADAS
  • Tecnología de Objetos (TOO)
  • Lenguaje de programación Java
  • Unified Modeling Languaje (UML) y Start UML
  • Oracle y JPA (Eclipse Link)
  • Web Service (REST)

Sesión 01:

Introducción a Servicios REST

  • Introducción a REST (Representational State Transfer). REST versus RESTful.
  • JAX-RS 2.0 (Java API for RESTful Web Services). Principio HATEOAS.
  • Web Application Description Language (WADL).
  • JAXB (@XmlRootElement, @XmlType y @XmlElement).
  • Principales implementaciones (Jersey, RESTeasy, Apache CXF y Spring REST).
  • Analisis comparativo.

Sesión 02:

Recursos, Métodos y Anotaciones

  • Introducción a anotaciones JAX-RS. @Path (URIs).
  • Métodos HTTP (@GET, @PUT, @POST, @DELETE, @HEAD y @OPTIONS).
  • Producción y consumo de MIME media types (@Produces y @Consumes ;text/plain,
    text/html, application/xml y application/json).
  • Creando un servicio REST básico usando Jersey o Spring.

Sesión 03:

Servicios REST con Jersey

  • Creación del proyecto en Eclipse.
  • Congurando el proyecto (Jersey RESTful Application (web.xml) y dispatcher-servlet.xml).
  • Implementando la capa de persistencia y servicio.
  • Creando un servicio REST CRUD con JAXB(XML y JSON).
  • Realizando pruebas con POSTMAN/SoapUI.

Sesión 04:

Servicios REST con Spring

  • Creación del proyecto en SpringSource Tool Suite(SST).
  • Congurando el proyecto (Servlet Dispatcher(web.xml) y dispatcher-servlet.xml).
  • Principales anotaciones (@RestController, @RequestMapping y @ResponseBody).
  • Reutilizado la capa de persistencia y servicio.
  • Creando un servicio REST CRUD con JAXB(XML y JSON).
  • Realizando pruebas con POSTMAN/SoapUI.

Sesión 05:

Gestión de Seguridad

  • Fundamentos de seguridad.
  • Autenticación y autorización.
  • Implementando el protocolo de seguridad Basic Auth.
  • Consumiendo servicios con seguridad.
  • Creando clase utilitarias (clases reutilizables).

Sesión 06:

Gestión de Errores y Excepciones

  • Fundamentos de tratamiento de errores y excepciones.
  • HTTP Status Code (1xx.2xx,3xx,4xxy 5xx1).
  • Códigos de errores personalizados.
  • Creando clases reutilizables para gestión de errores y excepciones.
  • Tratamiento de errores y excepciones en las diferentes capas del servicio
    (reglas de negocio y excepciones a nivel de persistencia y servicio).

Sesión 07:

Consumiendo Servicios REST Externos

  • Realizando pruebas con POSTMAN y SoapUI.
  • Creando clases con la estructura del response del servicio (JSON).
  • Creando clases reutilizables para consumo de servicios.
  • Consumiendo servicios externos con y sin autorización (Basic Auth).

 

Sesión 08:

Proyecto y Examen Final

  • Desarrollo de un caso práctico de repaso general.
  • Examen teórico ( 15 minutos) y examen práctico (45 minutos).
  • Solución del examen (el instructor entregará y explicará la solución del examen).
  • Absolución de consultas y lecciones aprendidas.