EX378

Red Hat 認定クラウドネイティブ開発者試験

概要

試験の説明

Red Hat 認定クラウドネイティブ開発者試験 (EX378) では、Quarkus フレームワークを使用した Java アプリケーションにおけるサーバーサイドのコーディングに関するスキルと知識をテストします。この試験は、永続データストアを使用して完全なマイクロサービスを作成するために必要な基本スキルに焦点を当てています。

この試験に合格すると、Red Hat 認定アーキテクト (RHCA®) を取得する際の前提条件となる Red Hat 認定クラウドネイティブ開発者を取得できます。

この試験は Quarkus v3.8 の Red Hat ビルドに基づいています。

試験の対象者

Red Hat 認定クラウドネイティブ開発者は、以下のような方々を対象としています。

  • Quarkus を使用してサービスを実装している Java 開発者
  • Java アプリケーションを開発しており、高速かつ動的で構成可能な Java フレームワークを使用して生産性を向上させたい開発者
  • Red Hat 認定アーキテクト (RHCA) を目指す Red Hat 認定プロフェッショナル

受験の前提条件

  • Red Hat Cloud-native Microservices Development with Quarkus (DO378) を受講済みであるか、同等の実務経験を有していること
  • Red Hat Enterprise Linux 環境での Visual Studio Code/VS Codium の使用に精通していること
  • Java のコア概念および API に関する知識と理解を含め、JSE に関する十分な経験を有していること (たとえば、この試験では、Exceptions、Annotations、および Collections API がいずれも必須です)
  • OpenShift に精通していると有利 (必須ではありません)
  • Messaging、および Kafka との通信に精通していると有利

試験の内容

準備

試験の学習ポイント

以下に、試験の主な作業領域を示しますので、試験の準備にご活用ください。Red Hat は、認定試験の内容を追加、変更、削除する権利を留保します。変更する場合は、事前にお知らせいたします。

以下のタスクを実行する能力が求められます。

ディペンデンシーインジェクション (依存性の注入) やルックアップで使用可能になる、いくつかの環境認識ソースを通じて、設定プロパティを提供および取得する

  • データを設定値に外面化する
  • @Inject 修飾子および @ConfigProperty 修飾子を使用して Bean に設定値を注入する
  • Java オブジェクトへの設定マッピングを作成し、それにアクセスする能力を実証します。
  • デフォルトの ConfigSource の順序と、カスタム ConfigSource を使用して設定サポートを拡張する方法を理解する
  • プロファイルを使用してターゲット環境ごとにカスタム設定プロパティを設定する方法を理解する

MicroProfile Fault Tolerance 手法を使用して、フォールトトレラントな Quarkus ベースのマイクロサービスを構築する

  • MicroProfile Config に対する関係性を理解する
  • 非同期と同期の実行タイプを理解する
  • タイムアウトを使用したレジリエンスについて理解する
  • リトライポリシーについて理解し、@Retry アノテーションを使用して応用する
  • フォールバック戦略について理解し、定義する
  • CircuitBreaker について理解し、応用する
  • Bulkhead について理解し、応用する
  • フォールトトレランス設定について理解し、セットアップする

MicroProfile Health Check を使用して、別のマシンの Quarkus アプリケーションの状態を調べる

  • HealthCheck インタフェースを理解して実装する
  • @Startup、@Liveness、および @Readiness アノテーションを理解して適用する
  • Reactive ヘルスチェックを理解して実装する
  • HealthCheckResponse を理解して実装する
  • ユーザーが理解しやすい HealthCheckResponse を作成する
  • Health UI を理解して使用する
  • Health Group と @HealthGroup アノテーションを理解して適用する
  • @Wellness アノテーションを理解して適用する

Micrometer Metrics を使用して、実行中の Quarkus アプリケーションからデータを観察、収集、測定する

  • タグを使用したディメンションデータ集約を理解して使用する
  • タイマー、ゲージ、カウンター、分散サマリー、長いタスクタイマーを使用してコードを理解して計測する
  • マイクロメーターアノテーションとレジストリ API を理解する
  • REST API を介して公開されているメトリクスを理解して使用する
  • Quarkus アプリケーション・メトリクスのプログラミングモデルを理解する
  • 監視データを管理エージェントにエクスポートする方法を理解する

Quarkus アプリケーション上の MicroProfile Interoperable JWT RBAC:OpenID Connect (OIDC) ベースの JSON Web Token (JWT) でマイクロサービス・エンドポイントに対するロールベースのアクセス制御 (RBAC) を行う

  • トークンベース認証を理解する
  • JWT ベアラートークンを使用してサービスを保護する
  • JAX-RS アプリケーションに MP-JWT アクセス制御が必要というマークを付ける
  • MP-JWT トークンを Java EE コンテナ API にマップする

Quarkus アプリケーションを実装し、Resteasy Reactive と Jakarta REST (旧 JAX-RS) を使用して RESTful サービス・エンドポイントを公開する

  • RESTful の概念、特に HTTP PUT、DELETE、GET、POST メソッドの応用と使用法を理解する
  • 標準 HTTP 戻りコードとリターン・レスポンス・ボディを理解し、使用する
  • Quarkus を使用して JSON REST サービスを作成する方法を理解する
  • RESTful ルートリソースクラスを実装する
  • Jakarta REST (旧 JAX-RS) を使用して RESTful サービスを公開する
  • 宣言エンドポイント (URI マッピング、HTTP 表現、コンテンツタイプ) について理解して適用する
  • 非ブロッキング・エンドポイントを宣言する非同期/リアクティブサポートを理解して適用する
  • CDI を使用してコンポーネントを統合する
  • Bean Validation を使用して、データ形式と一貫性を確保する

Panache による単純化された JPA マッピング

  • アクティブ・レコード・パターンとリポジトリパターンの違いを理解する
  • 基本的な JPA を使用して、永続オブジェクトとそれらの関係を作成、読み込み、更新、および削除する
  • 関連の両側を含む 2 つのエンティティ間の双方向 OneToMany 関係をマッピングする
  • 最も一般的な Panache 操作を実行し、カスタムエンティティ手法を追加する能力を実証する

Quarkus アプリケーションでのリアクティブ・メッセージング

  • リアクティブ・プログラミングを理解する
  • メッセージングのコアコンセプトを理解する
  • チャネルを理解する
  • 受信と送信を理解する
  • メッセージ確認応答を理解する

RESTful API を文書化する MicroProfile OpenAPI 仕様

  • OpenAPI ドキュメントと Swagger UI を理解し、リモートサービス API を検出する
  • セマンティックバージョン管理 (semver) リモート・サービス・エンドポイントにリンクする能力を実証する
  • JAX-RS エンドポイントにデフォルトおよびカスタムの OpenAPI ドキュメントを作成する方法を理解する

REST Client Reactive を使用した Quarkus で REST API の対話型操作を行う

  • Jakarta REST と MicroProfile アノテーションを使用して HTTP 経由で RESTful サービスを呼び出すタイプセーフなアプローチを理解する
  • REST の概念、特に HTTP PUT、DELETE、GET、POST メソッドの応用と使用法を理解する
  • 非同期サポートを使用した REST Client Reactive の非ブロッキングフレーバーを理解し、使用する
  • リモートサービスに接続する REST クライアントを作成および使用する能力を実証する
  • 特定のリモートマイクロサービスを呼び出す REST クライアント URI をパラメーター化して構成する
  • クライアントリクエストに追加するカスタム・クライアント・ヘッダーについて理解し、適用する
  • HTTP 応答を変換して例外を処理する能力を実証する
  • 特別な追加のクライアントヘッダーを理解し、使用する

OpenTelemetry (OTel) を使用して、インタラクティブな Web アプリケーションの分散トレースを計測する

  • OpenTelemetry を使用したマイクロサービス間の分散トレーシングについて理解し、実装する
  • 分散アプリケーションのフルパスをたどり、理解する能力を実証する
  • Tracer が Span を作成し、相関 ID で Context Propagation がトレースにアセンブルされることを理解する
  • キーストア Baggage を使用して、Span 間でコンテキスト情報を渡す方法を理解する

Red Hat のすべての実技試験と同様に、再起動後も自動で設定が維持されるようにする必要があります。

知っておくべきこと

知っておくべきこと

準備

受験の準備として、Red Hat では Red Hat Cloud-native Microservices Development with Quarkus (DO378) の受講を検討することをお勧めします。コースを受講することは必須ではなく、試験のみを受けることもできます。

Red Hat のトレーニングコースに参加することは、試験対策として重要ですが、試験の合格を保証するものではありません。それまでの経験、訓練、適性なども試験に合格するための重要な要素となります。

Red Hat 製品のシステム管理に関するさまざまな書籍や情報が提供されていますが、Red Hat では、そのような資料のいずれも試験対策ガイドとして公認していません。とはいえ、そのような追加情報は理解を深めるのに役立つことがあります。

試験の形式

Red Hat 認定クラウドネイティブ開発者試験は、実践的な実技試験で、実際の開発タスクを行う必要があります。試験中、受験者はインターネットにアクセスすることはできず、資料や電子文書を持ち込むことも許可されません。ノートや書籍、その他の資料も持ち込めません。大半の試験では、製品に付属のドキュメントを試験中に使用できます。

試験結果と通知方法

試験の正式な結果は、Red Hat Certification Central から送付されます。試験官やトレーニングパートナーが受験生に直接結果を報告することは認められていません。通常、試験結果は米国の 3 営業日以内に送付されます。

試験結果には合計得点のみ記載され、個々の項目ごとの成績は通知されません。また、それに関するお問い合わせには回答しかねますので、あらかじめご了承ください。

推奨される次の試験またはコース:

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)