EX378
Red Hat Certified Cloud-native Developer exam
Visão geral
Descrição do exame
O Red Hat Certified Cloud-Native Developer exam (EX378) testa suas habilidades e conhecimentos sobre programação do lado do servidor de aplicações Java nativas usando o framework Quarkus. O exame se concentra nas habilidades básicas necessárias para criar um microsserviço completo usando um armazenamento de dados persistente.
Com a aprovação no exame, você receberá a credencial Red Hat Certified Cloud-native Developer, que também poderá ser utilizada para conquistar a certificação Red Hat Certified Architect (RHCA®).
Este exame é baseado na versão Red Hat do Quarkus v3.8.
Público-alvo do exame:
A certificação Red Hat Certified Cloud-Native Developer é recomendada para os seguintes profissionais:
- Desenvolvedores Java que estejam implementando serviços usando Quarkus
- Desenvolvedores que estão criando qualquer tipo de aplicação Java e querem ser mais produtivos usando um framework Java mais rápido, dinâmico e combinável
- Profissionais certificados pela Red Hat que desejem obter a certificação Red Hat Certified Architect (RHCA)
Pré-requisitos do exame:
- O aluno deve ter concluído o curso Red Hat Cloud-native Microservices Development with Quarkus (DO378) ou ter experiência hands-on equivalente
- .Ter familiaridade com o uso do Visual Code/VS Codiium em um ambiente do Red Hat Enterprise Linux.
- Para esse exame, é necessária ampla experiência com JSE, incluindo conhecimento e compreensão dos principais conceitos de Java e APIs. Por exemplo, exceções, anotações e a API Collections são todos necessários durante o exame.
- Ter algum conhecimento básico do OpenShift é útil, mas não obrigatório.
- Ter alguma familiaridade com sistema de mensageria e comunicação com o Kafka é vantajoso.
Objetivos
Preparação
Tópicos de estudo para o exame
Para ajudar na sua preparação, os objetivos do exame ressaltam as áreas possivelmente incluídas. A Red Hat se reserva no direito de incluir, modificar e remover objetivos do exame. Essas alterações serão divulgadas com antecedência.
Os candidatos devem ser capazes de realizar as seguintes tarefas:
Fornecer e obter propriedades de configuração por meio de diversas fontes sensíveis ao ambiente e disponibilizadas por meio de consulta ou injeção de dependências
- Externalizar dados em valores de configuração
- Injetar valores configurados em beans usando os qualificadores @Inject e @ConfigProperty
- Demonstrar capacidade de criar e acessar um mapeamento de configuração para um objeto Java
- Compreender a ordem padrão de ConfigSource e como ampliar o suporte da configuração com o ConfigSource personalizado
- Entender como definir propriedades de configuração personalizadas por ambiente de destino com Perfis
Criar microsserviços com tolerância a falhas baseados em Quarkus usando estratégias do Microprofile Fault Tolerance
- Compreender o relacionamento para MicroProfile Config
- Entender o tipo de execução assíncrona x sincronizada
- Compreender a resiliência usando Timeouts (tempos limite)
- Compreender as políticas de repetição e aplicá-las usando anotação @Retry
- Compreender e definir o que é estratégia de fallback
- Compreendera e aplicar CircuitBreaker
- Compreender e aplicar Bulkhead
- Compreender e definir a configuração de tolerância a falhas
Investigar o estado de uma aplicação Quarkus a partir de uma outra máquina usando MicroProfile Health Check
- Compreender e implementar a interface de HealthCheck
- Compreender e aplicar as anotações @Startup, @Liveness e @Readiness
- Compreender e implementar verificações de integridade reativas
- Compreender e implementar HealthCheckResponse
- Construir uma HealthCheckResponse amigável
- Compreender e usar a IU de integridade
- Compreender e aplicar grupos de integridade e a anotação @HealthGroup
- Compreender e aplicar a anotação @Wellness
Observar, coletar e medir dados de uma aplicação Quarkus em execução usando Micrometer Metrics
- Compreender e usar agregação de dados dimensionais com tags
- Compreender e instrumentar o código com timers, medidores, contadores, resumos de distribuição e timers de tarefas longas
- Compreender as anotações do micrometer e a API de registro
- Entender e usar as métricas expostas por meio da API REST
- Compreender o modelo de programação das métricas de uma aplicação do Quarkus
- Entender como exportar dados de monitoramento para agentes de gerenciamento
MicroProfile Interoperable JWT RBAC em aplicações do Quarkus: JSON Web Tokens (JWT) baseados em OpenID Connect (OIDC) para controle de acesso baseado em função (RBAC) de endpoints de microsserviços
- Entender a autenticação baseada em token
- Usar tokens de portador JWT para proteger serviços
- Marcar uma aplicação JAX-RS para exigir controle de acesso MP-JWT
- Mapear tokens MP-JWT para APIs de containers Java EE
Implementar uma aplicação Quarkus e expor endpoints de serviço RESTful com Resteasy Reactive e REST Jakarta (anteriormente conhecido como JAX-RS)
- Compreender os conceitos de RESTful, principalmente a aplicação e o uso dos métodos HTTP PUT, DELETE, GET e POST
- Conhecer e usar códigos de retorno HTTP padrão e corpo de resposta de retorno
- Entender como gravar serviços REST JSON com o Quarkus
- Implementar a classe de recurso RESTful Root
- Expor um serviço RESTful usando REST Jakarta (anteriormente conhecido como JAX-RS)
- Compreender e aplicar endpoints de declaração: mapeamento de URI, representação HTTP e tipos de conteúdo
- Compreender e aplicar o suporte assíncrono/reativo para declarar endpoints sem bloqueio
- Usar CDI para integrar componentes
- Usar validação de bean para garantir o formato e a consistência de dados
Mapeamento de JPA simplificado com o Panache
- Entender a diferença entre Active Record Pattern e Repository Pattern
- Usar JPA básico para criar, ler, atualizar e excluir objetos persistentes e suas relações
- Mapear um relacionamento bidirecional de um para muitos entre duas entidades, incluindo ambos os lados da associação
- Demonstrar capacidade de executar as operações mais comuns do Panache e adicionar métodos de entidade personalizados
Sistema de mensageria reativo em aplicações Quakus
- Entender a programação reativa
- Entender o conceito principal do sistema de mensageria
- Entender canais
- Entender entradas e saídas
- Compreender a confirmação de mensagem
Usar a especificação OpenAPI do MicroProfile para documentar APIs RESTful
- Compreender os documentos do OpenAPI e usar a IU o Swagger para descobrir APIs de serviços remotos
- Demonstrar a capacidade de vincular endpoints de serviços remotos semânticos (semver)
- Entender como produzir documentos padrão e personalizados do OpenAPI para endpoints JAX-RS
Interagir com APIs REST no Quarkus usando o REST Client Reactive
- Compreender a abordagem segura para invocar serviços RESTful via HTTP usando a REST Jakarta e as anotações MicroProfile
- Compreender os conceitos de REST, principalmente a aplicação e o uso dos métodos HTTP PUT, DELETE, GET e POST
- Compreender e usar o flavor sem bloqueio do REST Client Reactive com suporte assíncrono
- Demonstrar a capacidade de criar e usar um cliente REST para se conectar a um serviço remoto
- Parametrizar e configurar a URI do cliente REST para invocar um microsserviço remoto específico
- Compreender e aplicar cabeçalhos de cliente personalizados adicionais às solicitações do cliente
- Demonstrar a capacidade de converter respostas HTTP para lidar com exceções
- Entender e usar cabeçalhos de cliente especiais adicionais
Usar a OpenTelemetry (OTel) para instrumentar o rastreamento distribuído em aplicações web interativas
- Compreender e implementar rastreamento distribuído em microsserviços usando OpenTelemetry
- Demonstrar a capacidade de acompanhar e entender todo o caminho por meio de sua aplicação distribuída
- Compreender que o Tracer cria spans e a propagação de contexto montado em um rastreamento nos identificadores de correlação
- Entender como as informações contextuais são transmitidas entre spans usando a bagagem de chave pública
Como todos os exames baseados em desempenho da Red Hat, as configurações devem ser mantidas após a reinicialização sem intervenção.
O que você precisa saber
A Red Hat recomenda que os candidatos façam o curso Red Hat Cloud-native Microservices Development with Quarkus (DO378) como preparação para o exame. A participação nos cursos não é obrigatória. É possível optar por fazer somente o exame.
Embora a participação nas aulas da Red Hat possa ser importante para sua preparação, isso não garante a aprovação no exame. Experiência anterior, prática e aptidão natural também são fatores importantes para o sucesso.
Há diversos livros e outros recursos sobre administração de sistemas nas soluções Red Hat. A Red Hat não reconhece nenhum desses materiais como guias de preparação para os exames. Porém, a leitura adicional pode ser útil para aprofundar a sua compreensão.
Formato do exame
O exame Red Hat Certified Cloud-Native Developer é hands-on e consiste na realização de tarefas reais. Não será disponibilizado acesso à Internet durante o exame nem será permitido levar qualquer documentação em cópia impressa ou eletrônica, incluindo anotações, livros ou outros materiais. Na maioria dos exames, a documentação enviada com a solução é disponibilizada.
Pontuações e resultados
As pontuações oficiais dos exames são provenientes exclusivamente da Red Hat Certification Central. A Red Hat não autoriza os examinadores ou os parceiros de treinamento a informarem os resultados diretamente aos candidatos. Os resultados do exames, normalmente, são divulgados em até três dias úteis (EUA).
Os resultados do exame são divulgados como pontuações totais. A Red Hat não divulga o desempenho em itens individuais nem oferece informações adicionais mediante solicitação.
Próximos cursos ou exames recomendados:
Introduction to Containers, Kubernetes, and Red Hat OpenShift (DO180)
Red Hat OpenShift Development I: Containerizing Applications (DO288)
Building Resilient Microservices with Red Hat OpenShift Service Mesh (DO328)