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 SOAP y 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
  • Configurando 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)
  • Configurando 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