Visão Geral
Curso RESTful Web Services, ajuda os participantes a desenvolver uma experiência em Representational State Transfer (REST); o curso aborda tópicos como Projetar serviços REST, construir serviços JAX-RS, entender a injeção JAX-RS e outros aspectos importantes.
Conteúdo Programatico
Web Services Overview
Definition
- Legacy Systems
- Benefits of Web Services
- Architecture
Standards and Portability
- XML and Related Standards
- JSON
- HTTP
SOAP-Based Services
- Overview
- SOAP Messages, Requests, and Responses
- WSDL
- Java APIs and Programming Models
Introduction
Overview and Principles
- REST Characteristics
- Resources and Operations
- REST Principles
- Requests and Responses
- REST APIs
- URI Templates
- GET, POST, PUT, DELETE
- Safe and Idempotent Methods
- Comparison of REST and SOAP
Introduction to JAX-RS
APIs and Implementations
- JAX-RS Overview, Annotations
- JAX-RS Implementations
Runtime Environment
- Application Server, Servlet-Only Container
- Architectural and Implementation Perspectives
- Configuring the Application
Applications, Resources, and Providers
- JAX-RS Applications
- Resource Classes and @Path
- Provider Classes and @Provider
- Default Lifecycles
- The Application Class and rest-path
Ajax-JavaScript Clients
- Overview
- Classic vs. Ajax Interactions
- Working with Ajax-JavaScript
Resources and Requests
Resources and Sub-Resources Root Resource Classes, Resource Methods, Sub Resource Methods @GET, @POST, @PUT, @DELETE
- Sub Resource Locators
- Naming Conventions and Rules
- Dispatching Requests to Methods
Binding Request Data Request Data Injection and Conversion
- Default Values
- Fields vs. Method Parameters
Context-Based Injection
- Injection via @Context
- Context-Injectable Types
- Context Injection from the Web Container
- Fields vs. Method Parameters
HTTP Entities
Complex Content and Entities Working with Complex Content
- @Consumes and @Produces
- Content Negotiation
- Standard Entity Providers
Working with JSON Returning Data as JSON
- Working with JSON in JavaScript
- Processing JSON Responses
Working with XML JAXB and Mapping to XML
- Returning Data as XML
- Working with XML on the Client
- Customizing Content, Custom Media Types
- Working with Collections
XML vs. JSON
Responses
Response Class Return Types and HTTP Response Codes
- Appropriate Responses for HTTP Methods
- Choosing the Right Response
Error Handling Exception Mappers
- Web Application Exception
- Response vs. Thrown Exception
- Error Responses
Sub Resource Locators Motivation and Uses
- Locating the Locator
- Initializing the Sub Resource
Binary Content
- File, InputStream, StreamingOutput
- Using StreamingOutput
Java Client API
- Java Client – Options and Ingredients
- Building and Sending the Request
- Consuming the Response
- Options for the Response Data
- Asynchronous Requests
Integration with Java EE
Integration with EJB CDI – Contexts and Dependency Injection
- Activation, Scopes, and JAX-RS Lifecycles
- Injection in CDI-Enabled JAX-RS Applications
- Enhanced Java EE Lifecycl
Security
Java EE Security Overview
- Security Requirements in JAX-RS
- Declarative, Role-Based Security
- Security Constraints
- Annotation-Based Security Authentication
- Configuration
- Authentication Models: Basic, Digest, Client-Cert Programmatic Security
- Security Context
- Client Security HTTPS