Quali corsi devo seguire per sostenere questo esame?
- Aver completato il corso Red Hat cloud native Microservices Development with Quarkus (DO378) o possedere un’esperienza pratica equivalente.
- Familiarità con l’utilizzo di Visual Code/Codiium in un ambiente Red Hat Enterprise Linux.
- Per questo esame è necessaria una buona esperienza con JSE, incluse la conoscenza e la comprensione dei concetti e delle API Java principali. Durante l’esame, ad esempio, è necessario conoscere eccezioni, annotazioni e le API di raccolta.
- La conoscenza di base di Openshift/Kubernetes è utile ma non obbligatoria.
Descrizione esame
L’esame Red Hat Certified Cloud-native Developer exam (EX378) verifica le competenze e conoscenze in materia di programmazione lato server delle applicazioni Java Kubernetes native che utilizzano il framework Quarkus. L’esame è incentrato sulle competenze di base necessarie per creare un microservizio completo utilizzando un datastore persistente.
Il superamento dell’esame consente di ottenere la qualifica di Red Hat Certified Cloud-native Developer, utile anche per il conseguimento della certificazione Red Hat Certified Architect (RHCA®).
L’esame si svolge sulla versione Red Hat di Quarkus v3.8.
Argomenti dell'esame
- Ottenimento delle proprietà di configurazione tramite numerose sorgenti compatibili con l’ambiente, rese disponibili con l’inserimento di dipendenza o la ricerca
-
- Esternalizzazione di dati in valori configurati
- Inserimento di valori configurati nei bean usando i qualifier @Inject e @ConfigProperty
- Accesso o creazione di una configurazione
- Comprensione di ConfigSource predefinito e personalizzato e dell’ordinamento di ConfigSource
- Creazione di microservizi basati su Quarkus tolleranti agli errori utilizzando le strategie di tolleranza agli errori di MicroProfile
-
- Analisi delle relazioni di MicroProfile Config
- Analisi delle differenze tra i tipi di esecuzione sincrona e asincrona.
- Utilizzo di @Timeout.
- Comprensione dei criteri di ripetizione e loro applicazione tramite @Retry
- Comprensione e definizione del fallback
- Comprensione e applicazione di CircuitBreaker
- Comprensione e applicazione di Bulkhead
- Comprensione e impostazione della configurazione della tolleranza di errore
- Verifica della condizione di un’applicazione Quarkus da un’altra macchina utilizzando il controllo integrità di MicroProfile
-
- Comprensione e implementazione dell’interfaccia del controllo integrità
- Comprensione e applicazione delle annotazioni @Liveness e @Readiness
- Comprensione e implementazione di una risposta di controllo integrità
- Creazione di una risposta di controllo integrità intuitiva
- Esportazione dei dati di monitoraggio negli agenti di gestione da un’applicazione Quarkus in esecuzione utilizzando MicroProfile Metrics
-
- Comprensione e utilizzo di tre insiemi di risorse secondarie (ambiti): di base, del fornitore e dell’applicazione
- Comprensione dei tag (etichette)
- Comprensione e utilizzo dei metadati
- Comprensione dei registri delle metriche e @Metric
- Esposizione delle metriche tramite l’API REST
- Familiarità con le metriche richieste
- Analisi del modello di programmazione relativo alle metriche dell’applicazione Quarkus
- MicroProfile Interoperable JWT RBAC sulle applicazioni Quarkus: JSON Web Token (JWT) basati su OpenID Connect (OIDC) per il controllo degli accessi basato sui ruoli (RBAC) degli endpoint dei microservizi
-
- Comprensione dell’autenticazione basata su token
- Utilizzo dei token di connessione JWT per proteggere i servizi
- Distinzione di un’applicazione JAX-RS a cui occorre applicare il controllo degli accessi MP-JWT
- Associazione dei token MP-JWT alle API per container di Java EE
- Implementazione di un’applicazione Quarkus ed esposizione degli endpoint del servizio REST con JAX-RS
-
- Comprensione dei concetti di base di REST, in particolare l’applicazione e l’uso dei metodi HTTP PUT, DELETE, GET e POST
- Familiarità e utilizzo dei codici standard restituiti da HTTP
- Implementazione della classe di risorse root RESTful
- Esposizione di un servizio REST tramite JAX-RS
- Comprensione e utilizzo delle annotazioni @Path, @Produce e @Consume
- Utilizzo di CDI per integrare componenti
- Utilizzo di Bean Validation per garantire il formato dei dati e la coerenza
- Mapping JPA semplificato con Panache
-
- Analisi delle differenze tra Active Record Pattern e Repository Pattern
- Utilizzo dei concetti base di JPA per creare, leggere, aggiornare ed eliminare oggetti persistenti e relazioni tra gli stessi
- Esecuzione del mapping di una relazione bidirezionale uno-a-molti tra due entità, inclusi entrambi gli elementi dell’associazione
- Esecuzione delle operazioni Panache più comuni e aggiunta dei metodi di entità personalizzati
- Specifica Microprofile OpenAPI per documentare le API RESTful
-
- Analisi dei documenti OpenAPI e dell’interfaccia utente Swagger per rilevare le API dei servizi remoti
- Collegamento agli endpoint dei servizi remoti di controllo delle versioni semantiche (semver)
- Comprensione delle modalità di generazione del documento OpenAPI predefinito e personalizzato per gli endpoint JAX-RS
- Interazione con le API REST in Quarkus utilizzando MicroProfile REST Client
-
- Familiarità con l’approccio indipendente dai tipi per richiamare i servizi RESTful su HTTP utilizzando le API JAX-RS
- Comprensione dei concetti di base di REST, in particolare l’applicazione e l’uso dei metodi HTTP PUT, DELETE, GET e POST
- Creazione e utilizzo di un client REST per connettersi a un servizio remoto
- Impostazione dei parametri e configurazione dell’URI del client REST per richiamare un microservizio remoto specifico
- Familiarità e utilizzo di nuove intestazioni client speciali