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

O que você precisa saber

Preparação

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)