EX378

Red Hat Certified Cloud-native Developer Exam

Überblick

Prüfungsbeschreibung

Im Red Hat Certified Cloud-Native Developer Exam (EX378) werden Ihre Kenntnisse und Kompetenzen in der Codierung der Serverseite von Java-Anwendungen mithilfe des Quarkus-Frameworks geprüft. Der Schwerpunkt der Prüfung liegt dabei auf den grundlegenden Kompetenzen zur Erstellung vollständiger Microservices mithilfe eines persistenten Datastores.

Mit dem Bestehen dieser Prüfung erhalten Sie die Zertifizierung als Red Hat Certified Cloud-native Developer, die auch auf die Zertifizierung als Red Hat Certified Architect (RHCA®) angerechnet wird.

Diese Prüfung basiert auf der Red Hat Version von Quarkus v3.8.

Zielgruppe für diese Prüfung:

Die Zertifizierung als Red Hat Certified Cloud-Native Developer kommt für folgende Zielgruppen in Frage:

  • Java-Entwickler, die Services mit Quarkus implementieren
  • Entwickler, die Java-Anwendungen aller Art entwickeln und mit einem schnelleren, dynamischen und zusammensetzbaren Java-Framework produktiver sein möchten
  • Red Hat Certified Professionals, die die Zertifizierung als Red Hat Certified Architect (RHCA) erhalten möchten

Voraussetzungen für diese Prüfung:

  • Teilnahme am Kurs Red Hat Cloud-native Microservices Development with Quarkus (DO378) oder vergleichbare praktische Erfahrungen
  • .Kenntnisse in der Verwendung von Visual Code/VS Codium in einer Red Hat Enterprise Linux Umgebung.
  • Umfangreiche Erfahrung mit JSE, einschließlich Kenntnissen in den wichtigsten Java-Konzepten und APIs, ist für diese Prüfung erforderlich. Beispielsweise werden für die Prüfung die Exceptions, Annotations und Collections API benötigt.
  • Grundkenntnisse in OpenShift sind von Vorteil, aber nicht Voraussetzung.
  • Kenntnisse in Messaging und Kommunikation mit Kafka sind von Vorteil.

Ziele

Als Vorbereitung

Lerninhalte für die Prüfung

Um Sie bei der Vorbereitung zu unterstützen, haben wir nachfolgend die Prüfungsziele und Aufgabenbereiche aufgelistet, die in der Prüfung abgefragt werden. Red Hat behält sich das Recht vor, Prüfungsziele hinzuzufügen, zu ändern oder zu entfernen. Solche Änderungen werden im Voraus bekannt gegeben.

Die Teilnehmer sollten mit folgenden Aufgaben vertraut sein:

Angabe und Abruf von Konfigurationseigenschaften über verschiedene umgebungsbewusste Quellen und Bereitstellung per Dependency Injection oder Lookup

  • Daten in konfigurierten Werten externalisieren
  • Konfigurierte Werte mit @Inject und dem @ConfigProperty Qualifier in Beans einfügen
  • Ein Configuration Mapping zu einem Java-Objekt erstellen und darauf zugreifen können
  • Standardmäßige ConfigSource-Reihenfolge und die Erweiterung der Konfigurationsunterstützung mit benutzerdefinierter ConfigSource verstehen
  • Festlegen benutzerdefinierter Konfigurationseigenschaften pro Zielumgebung mit Profilen verstehen

Entwicklung fehlertoleranter Quarkus-basierter Microservices mit MicroProfile Fault Tolerance-Strategien

  • Beziehung zu MicroProfile Config verstehen
  • Ausführungstypen async und sync verstehen
  • Resilienz mit Timeouts verstehen
  • Retry-Richtlinien und ihre Anwendung mit @Retry-Annotation verstehen
  • Fallback-Strategie verstehen und definieren
  • CircuitBreaker verstehen und anwenden
  • Bulkhead verstehen und anwenden
  • Fault Tolerance-Konfigurationen beschreiben und einrichten

Prüfung des Status von Quarkus-Anwendungen über einen anderen Rechner mit MicroProfile Health Check

  • HealthCheck-Oberfläche verstehen und implementieren
  • @Startup-, @Liveness- und @Readiness-Annotation verstehen und anwenden
  • Reaktive Zustandsprüfungen verstehen und implementieren
  • HealthCheckResponse verstehen und implementieren
  • Benutzerfreundliche HealthCheckResponse erstellen
  • Health-Benutzeroberfläche verstehen und anwenden
  • Integritätsgruppen und @HealthGroup-Annotation verstehen und anwenden
  • @Wellness-Annotation verstehen und anwenden

Beobachtung, Sammlung und Messung von Daten einer ausgeführten Quarkus-Anwendung mit Micrometer-Metriken

  • Dimensionale Datenaggregation mit Tags verstehen und anwenden
  • Code mit Timern, Gauges, Countern, Verteilungszusammenfassungen und langen Aufgaben-Timern verstehen und instrumentieren
  • Micrometer-Annotationen und die Registry-API verstehen
  • Bereitgestellte Metriken über die REST-API verstehen und anwenden
  • Programmiermodell für Quarkus-Anwendungsmetriken verstehen
  • Export von Monitoring-Daten an Management-Agents verstehen

MicroProfile Interoperable JWT RBAC in Quarkus-Anwendungen: OIDC-basierte (OpenID Connect) JSON Web Tokens (JWTs) für RBAC (Role-Based Access Control) von Microservice-Endpunkten

  • Tokenbasierte Authentifizierung verstehen
  • JWT Bearer Tokens zum Schutz der Services verwenden
  • JAX-RS Anwendung so markieren, dass die Zugriffskontrolle MP-JWT verwendet werden muss
  • MP-JWT-Tokens und Java EE-Container-APIs einander zuordnen

Implementierung einer Quarkus-Anwendung und Bereitstellung von RESTful Serviceendpunkten mit Resteasy Reactive und Jakarta REST (vormals JAX-RS)

  • RESTful-Konzepte verstehen, insbesondere die Anwendung und Nutzung von HTTP PUT-, DELETE-, GET- und POST-Methoden
  • Standardmäßige HTTP-Return Codes sowie Return Response Body kennen und verwenden
  • Schreiben von JSON-REST-Services mit Quarkus verstehen
  • RESTful Root-Ressourcenklassen implementieren
  • Einen RESTful Service mit Jakarta REST (vormals JAX-RS) bereitstellen
  • Deklarierende Endpunkte verstehen und anwenden: URI-Mapping und HTTP-Darstellung und Inhaltstypen
  • Asynchrone/reaktive Unterstützung verstehen und anwenden, um nicht blockierende Endpunkte zu deklarieren
  • CDI zur Integration von Komponenten verwenden
  • Bean Validation zur Sicherstellung von Datenformat und Konsistenz verwenden

Vereinfachte JPA-Zuordnung mit Panache

  • Den Unterschied zwischen dem Active Record Pattern und dem Repository Pattern verstehen
  • Basic JPA verwenden, um persistente Objekte und deren Beziehungen zu erstellen, zu lesen, zu aktualisieren und zu löschen
  • Eine bidirektionale One-to-many-Beziehung zwischen zwei Entitäten zuordnen, einschließlich der beiden Seiten der Beziehung
  • Die gängigsten Panache-Vorgänge durchführen und benutzerdefinierte Entitätsmethoden hinzufügen können

Reaktives Messaging in Quarkus-Anwendungen

  • Reaktive Programmierung verstehen
  • Das Kernkonzept von Messaging verstehen
  • Channels verstehen
  • Eingehende und ausgehende Informationen verstehen
  • Nachrichtenbestätigung verstehen

MicroProfile OpenAPI-Spezifikation zur Dokumentation von RESTful APIs

  • OpenAPI-Dokumente und die Swagger-Benutzeroberfläche verstehen, um Remote-Services-APIs zu entdecken
  • Remote-Service-Endpunkte für semantische Versionsverwaltung (Semver) verlinken können
  • Standardmäßige und benutzerdefinierte OpenAPI-Dokumente auf JAX-RS-Endpunkten erstellen können

Interaktion mit REST-APIs in Quarkus über REST Client Reactive

  • Den typsicheren Ansatz zum Aufrufen von RESTful Services über HTTP mit Jakarta REST und Microprofile Annotations verstehen
  • REST-Konzepte verstehen, insbesondere die Anwendung und Nutzung von HTTP PUT-, DELETE-, GET- und POST-Methoden
  • Nicht-blockierenden Flavor von REST Client Reactive mit asynchroner Unterstützung verstehen und anwenden
  • Einen REST-Client für die Verbindung mit einem Remote-Service erstellen und verwenden können
  • REST-Client-URIs für den Aufruf von bestimmten Remote-Microservices parametrisieren und konfigurieren
  • Zusätzliche benutzerdefinierte Client-Header verstehen und auf die Client-Anforderungen anwenden
  • HTTP-Antworten zur Behandlung von Ausnahmen konvertieren können
  • Spezielle zusätzliche Client-Header verstehen und anwenden

Verwendung von OpenTelemetry (OTel) zur Instrumentierung von Distributed Tracing für interaktive Webanwendungen

  • Distributed Tracing in verschiedenen Microservices mit OpenTelemetry verstehen und implementieren
  • Den vollständigen Pfad durch Ihre verteilte Anwendung verfolgen und verstehen können
  • Verstehen, dass der Tracer Spans und die Context Propagation erstellt, die in den Korrelations-IDs zu einem Trace zusammengefasst werden
  • Verstehen, wie Kontextinformationen zwischen Spans mit dem Key-Store Baggage ausgetauscht werden

Wie bei allen leistungsbasierten Red Hat Prüfungen müssen die Konfigurationen nach einem Neustart ohne Eingreifen bestehen bleiben.

Wissenswertes

Wissenswertes

Zur Vorbereitung

Red Hat empfiehlt zur Vorbereitung den Kurs Red Hat Cloud-native Microservices Development with Quarkus (DO378). Die Teilnahme an diesen Kursen ist nicht vorgeschrieben. Es kann auch nur die Prüfung abgelegt werden.

Auch wenn die Teilnahme an Red Hat Kursen einen wichtigen Teil der Prüfungsvorbereitung darstellt, ist sie keine Garantie für das Bestehen der Prüfung. Vorherige Erfahrung, Praxis und Eignung sind darüber hinaus wichtige Erfolgsfaktoren.

Zur Systemadministration für Red Hat Produkte sind zahlreiche Bücher und andere Ressourcen erhältlich. Eine offizielle Empfehlung zur Nutzung solcher Materialien für die Vorbereitung auf die Prüfungen gibt Red Hat jedoch nicht. Dennoch kann sich weiterführende Literatur stets als hilfreich erweisen.

Prüfungsformat

Das Red Hat Certified Cloud-Native Developer Exam ist eine praxisorientierte Prüfung, in der Sie reale Aufgaben lösen. Während der Prüfung besteht kein Zugang zum Internet, und es dürfen keine gedruckten oder elektronischen Dokumente zur Prüfung mitgebracht werden. Dieses Verbot schließt auch Notizen, Bücher oder sonstige Materialien ein. Bei den meisten Prüfungen steht die im Produktumfang enthaltene Dokumentation zur Verfügung.

Bekanntgabe von Prüfungsergebnissen

Die offiziellen Prüfungsergebnisse werden ausschließlich auf der Website Red Hat Certification Central veröffentlicht. Red Hat erlaubt Prüfern oder Trainingspartnern nicht, den Teilnehmern die Ergebnisse direkt mitzuteilen. In der Regel wird das Ergebnis innerhalb von drei US-Werktagen mitgeteilt.

Die Prüfungsergebnisse werden in Form einer Gesamtpunktzahl kommuniziert. Red Hat erteilt keine Informationen über einzelne Prüfungselemente und gibt auch auf Anfrage keine weiteren Auskünfte.

Empfohlene Anschlusskurse oder Prüfungen:

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)