Curso Developing RESTful Services in Java
24hVisão Geral
Este curso fornece uma cobertura detalhada dos princípios REST e da criação de serviços RESTful usando a API JAX-RS 2.0. Ele inclui uma breve visão geral dos serviços baseados em SOAP e WSDL, para oferecer um contraste com os serviços RESTful.
Você aprenderá a lidar com os tipos mais comuns de entrada de solicitação, culminando na transmissão de entidades HTTP nos formatos XML e JSON, de acordo com a intenção original do HTTP. Você também aprenderá a criar respostas apropriadas de acordo com uma variedade de entradas e condições, de acordo com as diretrizes e princípios do padrão HTTP.
Objetivo
Após a conclusão deste curso, você será capaz de:
- Compreender a finalidade e o papel dos serviços da Web em geral e como eles são arquitetados para expor sistemas e processos de negócios na Web
- Compreender os conceitos e princípios de aplicativos REST e HTTP
- Conhecimento expandido de HTTP, incluindo seu conjunto completo de métodos e seus usos pretendidos, cabeçalhos importantes, códigos de resposta e tipos de conteúdo
- Entenda as APIs REST, incluindo identificadores de recursos e o namespace URI, recursos e sub-recursos e WADL
- Entenda a configuração, a implantação e o ambiente de tempo de execução, incluindo objetos por solicitação e singleton, opções para injeção de dependência etc.
- Entenda como as solicitações HTTP são despachadas para métodos de serviço
- Entenda a negociação de conteúdo e a importância dos cabeçalhos Accept e Content-Type e como eles afetam o envio de métodos
- Vincule entradas de solicitação a parâmetros de método, incluindo parâmetros de caminho, parâmetros de consulta e cabeçalhos
- Troque dados de negócios comunicando-se em entidades HTTP nos formatos XML e JSON
- Lidar com erros usando exceções Java e códigos de resposta HTTP apropriados
- Saiba como integrar serviços JAX-RS com outras tecnologias Java EE, como servlets, EJB e CDI, e como o JAX-RS se encaixa no cenário Java EE maior
- Escreva clientes de navegador usando Ajax-JavaScript
- Gravar clientes Java usando a API do cliente JAX-RS 2.0, incluindo clientes independentes e componentes do lado do servidor que invocam serviços remotos
- Saiba como proteger recursos RESTful
Publico Alvo
- Este é um curso de treinamento introdutório ao nível intermediário, projetado para desenvolvedores e arquitetos Java experientes que precisam identificar, projetar e implementar serviços Web RESTful.
Pre-Requisitos
- Habilidades de programação Java e preferencialmente familiarizado com XML, aplicativos da Web Java e outros padrões Java EE. A familiaridade com Ajax, JavaScript e JSON também é benéfica, mas não obrigatória.
Informações Gerais
Carga Horária: 24h
- Se noturno este curso é
ministrado de Segunda-feira à sexta-feira, das 19h às 23h
- Se aos sábados este curso é
ministrado das 9h às 18h
- Se in-company por favor
fazer contato para mais detalhes.
Formato de
entrega:
- 100% on-line ao vivo, via
Microsoft Teams na presença de um instrutor/consultor ativo no mercado.
- Nota: não é curso
gravado.
Lab:
- Laboratório + Exercícios
práticos
Materiais
Português | InglêsConteúdo Programatico
Web Services Overview
- Definition
- Legacy Systems
- Benefits of Web Services
- Architecture
- Standards and Portability
- XML and Related Standards
- SON
- HTTP
- SOAP-Based Services
- Overview
- SOAP Messages, Requests, and Responses
- WSDL
- Java APIs and Programming Models
Introduction to REST
- 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 Subresources
- Root Resource Classes, Resource Methods, Subresource Methods
- @GET, @POST, @PUT, @DELETE
- Subresource 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
- WebApplicationException
- Response vs. Thrown Exception
- Error Responses
- Subresource Locators
- Motivation and Uses
- Locating the Locator
- Initializing the Subresource
- 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 Lifecycle
- IX. 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
- SecurityContext
- Client Security
- HTTPS