ノート
現在、このコースは通訳付きで実施しています。
まとめ
このコースは経験のあるソリューションアーキテクトやテクニカルアーキテクト、または リード/シニアデベロッパー (開発者) を対象にしており、Anypoint Platform™ を使用して、機能要件と非機能要件を満たすインテグレーションソリューションの設計を学ぶためのコースです。
Mule アプリケーションの開発やデプロイに関する事前の知識・経験を元に、Anypoint Platform がサポートする様々なデプロイオプションを使用して、Mule Runtime (Mule 4 と Mule 3) のためのインテグレーションソリューションを設計するためのガイドを行います。
このコースは Case-Study (ケーススタディ) ドリブンであり、ソリューションアーキテクチャや、組織におけるアーキテクチャ全体への影響を考えながらケーススタディを進めていきます。
このコースを完了することで、「MuleSoft Certified Integration Architect - Level 1」 (MCIA) 資格試験の準備を行うことができます。コースに参加することで、MCIA 資格試験の 2回分の受験権利が付与されます。
このコースのデータシートはこちらからダウンロード可能です。
目標
このコースを完了することで、受講者は以下の知識・技術を得ることを目的としています。
-
機能要件と非機能要件を、 インテグレーションのインターフェースと実装のデザインにドキュメント化すること
-
インテグレーションソリューションを設計時における、Mule コンポーネントのベストプラクティス
-
MuleSoft-hosted (MuleSoft がホスト), もしくは Customer-hosted (顧客がホスト)のコントロールプレーンとランタイムプレーンの選択肢の中から、Anypoint Platform を使用したデプロイの手法と構成を適切に選択する
-
Anypoint Platform のランタイムプレーンにおける様々なデプロイの選択肢に応じて、Mule アプリケーションを設計する
-
ソリューションの質を保つために、開発のフルライフサイクルを考慮しつつ、一般的な開発手法を適用する
-
再利用可能なアセット(資産)、コンポーネント、スタンダード、フレームワーク、そしてプロセスを設計し、API とインテグレーションプロジェクトをサポート・促進する
-
技術的品質、ガバナンス(コンパイアンス) 、そして、インテグレーションソリューションの運用化を設計する
-
パフォーマンス、スケーラビリティ、信頼性、モニタリング (運用監視)、また、Anypoint Platform におけるその他のインテグレーションソリューションの運用タスクについて、技術チームに対してアドバイスができる
対象者
エンタープライズインテグレーションソリューション分野において、Mule アプリケーションの開発とデプロイの経験を持った、ソリューションアーキテクトやテクニカルアーキテクト、または リード/シニアデベロッパー (開発者) を対象にしています。
前提条件
以下のうちいずれかに当てはまる方 (OR 条件、いずれかが必須になります)
-
MCD, MuleSoft Certified Developer (MuleSoft 認定開発者) - Level 1 (Mule 4)合格者
-
MCD, Integration and API Associate (Mule 3) 合格者
-
Anypoint Platform 開発: 基礎 (Development: Fundamentals) コース完了者
上記に加え、開発やアーキテクチャの知識や経験:
-
JVM ベースのプログラミング言語やオブジェクト指向プログラミングの経験
-
スレッド、スレッドプール、ロック、サーバー/クライアント ソケット、JDBC データソース、また JVM のコネクションプールに関する知識
-
Git/GitHub, Maven, Jenkins などのソフトウェア開発ツールの知識
-
最低1つ以上のインテグレーションプロジェクトにおける、アーキテクトやリード/シニアデベロッパー (開発者) としての経験
-
以下を含むエンタープライズインテグレーションについての理解
-
証明書、暗号化を含む、伝送中のデータ (in transit) と保管中のデータ (at rest) のセキュリティに関する基本的な理解
モジュール 1: インテグレーションソリューションアーキテクチャの紹介 |
- エンタープライズインテグレーションソリューションの目的を説明する
- MuleSoft を使用して顧客の成功を設計する方法を要約する
- インテグレーションソリューションのドキュメント化する方法を説明する
- インテグレーションソリューション用のアーキテクチャテンプレートの主要なパーツを理解する
|
モジュール 2: Anypoint Platformコンポーネントと機能の理解 |
- Anypoint Platform の全体的な設計意図を理解する
- Anypoint Platform の機能とコンポーネントを確認する
- API 主導 (API-led) の開発テクニックとオプションを確認する
- さまざまな Anypoint Platform サービスとデプロイモデルを区別する
|
モジュール 3: Mule アプリケーションコンポーネントを使用したインテグレーションソリューションの設計 |
- Mule アプリケーションのコンポーネントを使用した、インテグレーションソリューションの一般的な実装方法を理解する
- Mule アプリケーションのコンポーネントと機能を、各種ユースケースに適用する
- Mule ランタイムでどのようにクラスローディングの分離が実装されているかを理解する
|
モジュール 4: 適切な Mule 4 イベント処理モデルの選択 |
- Mule 4 の ブロッキング、ノンブロッキング、パラレルおよびリアクティブなイベント処理オプションを区別する
- >各種 Mule 4 スコープとコンポーネントで使用されているイベント処理モデルを理解する
- Mule 4 のストリーミングオプションとその挙動を理解する
- JMS と VM コネクタを使用したイベント処理オプションを説明する
- インテグレーションユースケースに適したイベント処理を選択する
- Batch (バッチ), ほぼリアルタイム (near real-time), リアルタイム (real-time) のデータ同期インテグレーションユースケースを設計する
|
モジュール 5: 適切なメッセージトランスフォーメーション (変換) とルーティングパターンの選択 |
- 再利用可能なイベントの変換・処理方法を説明する
- 共通のデータモデルを使用して、複雑なデータマッピングを分離して簡略化する方法を説明する
- データモデル間の変換を設計する
- インテグレーションのユースケースに応じて、最適なイベントの変換、データのバリデーション (検証)、イベントのルーティングパターンを選択する
|
モジュール 6: Mule アプリケーションのテスト戦略の設計 |
- インテグレーションプロジェクトでテストが重要な理由を理解する
- ソフトウェア開発ライフサイクル中に使用できる MuleSoft のテストフレームワークとツールを理解する
- Mule アプリケーションのテスト戦略を設計する
- Mule アプリケーション内のフローのテスト対象を定義する
|
パート 2: インテグレーションソリューションの運用化
モジュール 7: デプロイメント戦略の決定と開発 |
- Anypoint Platform がサポートしているサービス、およびデプロイモデルを理解する
- 各種シナリオのデプロイオプションを決定する
- Mule ランタイム用にコンテナ化されたデプロイメントを設計する
|
モジュール 8: 適切なステート (状態) の維持と管理のオプション設計 |
- Persistent (永続的な) または Non-persistent (非永続的な) ストレージに、Mule アプリケーションのステート (状態) を保存する最適な方法を決定する
- Object Store v2 を使用して、Mule アプリケーションの状態を保存する方法を理解する
- Persistent queue (永続的なキュー) を使って、Mule アプリケーションのストレージを管理する最適な方法を決定する
- MuleSoft が提供する cache (キャッシュ) 機能に、Mule アプリケーションの状態を保存するように設定する
- Watermark (ウォーターマーク) と idempotency validation (べき等性バリデーション) を使用して、すでに処理したレコードを重複して処理しないようにする
|
モジュール 9: 効果的なログと監視 (モニタリング) の設計 |
- Mule アプリケーションの監査とログのオプションを説明する
- Mule アプリケーションのログ戦略を設計する
- Mule アプリケーションのログファイルのログポリシーを選択する
- サードパーティのログ管理システムとのインテグレーションオプションを説明する
- API とインテグレーションソリューションのための、Anypoint Platform の監視 (モニタリング) 、アラート、通知、可視化、レポートのオプションを理解する
|
モジュール 10: 効率的で自動化されたソフトウェア開発ライフサイクル (SDLC) の設計 |
- 各種環境に応じて Mule アプリケーションのプロパティファイルを管理する
- Mule アプリケーションのデプロイのために、Anypoint Platform 環境 (environment) を管理する
- Mule アプリケーションのテスト戦略の設計する
- 組織の継続的なインテグレーションと継続的なデリバリー (CI/CD) を実装する
- Anypoint Platform でデプロイと管理を自動化する
|
パート 3: 非機能要件 (non-functional requirements) を満たすための戦略
モジュール 11: Mule アプリケーションにおけるトランザクション管理設計 |
- Mule アプリケーションでトランザクションを利用するケースとその理由を理解する
- Mule アプリケーションでトランザクションに参加できるリソースを理解する
- Mule アプリケーションのトランザクションのスコープを定める
- 参加するリソースに応じて、トランザクションのタイプ (種類) を選択する
- Saga パターンを使用してトランザクションを管理する
|
モジュール 12: 信頼性 (reliability) 目標のための設計 |
- 相反する非機能機能を区別する
- シナリオに応じて、信頼性 (reliability) 目標を明確化し検証する
- 信頼性目標を達成するために、Mule アプリケーションとそのデプロイを設計する
- Mule アプリケーションの信頼性パターン (reliability pattern) を理解する
|
モジュール 13: 高可用性 (HA) 目標のための設計 |
- Mule アプリケーションの高可用性 (High Availability, HA)目標を明確にする
- 高可用性目標と信頼性/パフォーマンス目標のバランスをとる
- Anypoint Platform を使用して、CloudHub と Customer-hosted ランタイムプレーンで高可用性を達成する方法を理解する
- クラスタ化 (clustering) とロードバランシング (load balancing)の仕組みを説明する
- HA に対応したコネクタとその設計のトレードオフを理解する
|
モジュール 14: デプロイした Mule アプリケーションのパフォーマンス最適化 |
- Mule アプリケーションのパフォーマンス目標を明確にする
- パフォーマンス目標と信頼性 / 高可用性 (HA)目標のバランスをとる
- パフォーマンス最適化の必要性とそれに伴うトレードオフを理解する
- パフォーマンスボトルネックを探し、発見する方法を説明する
- パフォーマンスを意識した設計、アーキテクチャ、実装方法を説明する
- パフォーマンスの測定方法を説明する
- Mule アプリケーションと Mule ランタイムのパフォーマンスをチューニングするための方法とベストプラクティスを説明する
|
モジュール 15: セキュアな Mule アプリケーションとデプロイメントの設計 |
- Anypoint Platform のセキュリティコンセプトとオプションを理解する
- Anypoint Platform の API をセキュアにする方法を説明する
- Anypoint Platform Edge セキュリティで対応できるセキュリティの必要性を理解する
- Anypoint Platform のセキュリティに関する MuleSoft と顧客の責任分担を理解する
- Mule アプリケーションのセキュリティリスクを評価する
- Mule アプリケーションプロパティのセキュアにする方法を説明する
- 通信中の (in transit) Mule アプリケーションデータをセキュアにする方法を説明する
|
モジュール 16: Mule アプリケーション間のネットワーク通信をセキュアにする |
- Anypoint PlatformTM のネットワークセキュリティオプションとアーキテクチャを説明する
- Java キーストアを使用して、Mule ® アプリケーションのセキュアにする方法を説明する
- インテグレーションのユースケースのために、TLS 通信とその他のネットワークセキュリティオプションを設計する
- 各種ロードバランサーを使用した、CloudHub のデプロイを理解する
- 予想されるすべての Mule アプリケーションのデプロイに対応できるように、Anypoint® Virtual Private Cloud (VPC) を適切なサイジングする
|