概要
受講対象者
このコースは経験のあるソリューションアーキテクトやテクニカルアーキテクト、または リード/シニアデベロッパー (開発者) を対象にしており、Anypoint Platform™ を使用して、機能要件と非機能要件を満たすインテグレーションソリューションの設計を学ぶためのコースです。
Mule アプリケーションの開発やデプロイに関する事前の知識・経験を元に、Anypoint Platform がサポートする様々なデプロイオプションを使用して、Mule Runtime (Mule 4 と Mule 3) のためのインテグレーションソリューションを設計するためのガイドを行います。
このコースは Case-Study (ケーススタディ) ドリブンであり、ソリューションアーキテクチャや、組織におけるアーキテクチャ全体への影響を考えながらケーススタディを進めていきます。
このコースを完了することで、「MuleSoft Certified Integration Architect - Level 1」 (MCIA) 資格試験の準備を行うことができます。コースに参加することで、MCIA 資格試験の 2回分の受験権利が付与されます。
[重要] 価格の変更について
本コースは、2023年 10月 1日以降に開催するクラスを対象に、価格を変更させていただきます。新しい価格についてはこちらのリーフレットをご確認ください。
得られるスキル
このコースを完了することで、受講者は以下の知識・技術を得ることを目的としています。
- 機能要件と非機能要件を、 インテグレーションのインターフェースと実装のデザインにドキュメント化すること
- インテグレーションソリューションを設計時における、Mule コンポーネントのベストプラクティス
- MuleSoft-hosted (MuleSoft がホスト), もしくは Customer-hosted (顧客がホスト)のコントロールプレーンとランタイムプレーンの選択肢の中から、Anypoint Platform を使用したデプロイの手法と構成を適切に選択する
- Anypoint Platform のランタイムプレーンにおける様々なデプロイの選択肢に応じて、Mule アプリケーションを設計する
- ソリューションの質を保つために、開発のフルライフサイクルを考慮しつつ、一般的な開発手法を適用する
- 再利用可能なアセット(資産)、コンポーネント、スタンダード、フレームワーク、そしてプロセスを設計し、API とインテグレーションプロジェクトをサポート・促進する
- 技術的品質、ガバナンス(コンパイアンス) 、そして、インテグレーションソリューションの運用化を設計する
- パフォーマンス、スケーラビリティ、信頼性、モニタリング (運用監視)、また、Anypoint Platform におけるその他のインテグレーションソリューションの運用タスクについて、技術チームに対してアドバイスができる
対象者
エンタープライズインテグレーションソリューション分野において、Mule アプリケーションの開発とデプロイの経験を持った、ソリューションアーキテクトやテクニカルアーキテクト、または リード/シニアデベロッパー (開発者) を対象にしています。
前提条件 ※必ずご確認ください
以下のうちいずれかに当てはまる方 (OR 条件、いずれかが必須になります)
本コースは Anypoint Platform コンポーネントの知識や経験をお持ちの方を対象としています。条件を満たさない場合は内容を十分に理解できない可能性がございます。
- 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つ以上のインテグレーションプロジェクトにおける、アーキテクトやリード/シニアデベロッパー (開発者) としての経験
- 以下を含むエンタープライズインテグレーションについての理解
- インターフェイス定義やコントラクト
- XML や JSON を使ったデータエンコーディング
- REST APIs や SOAP Webサービス
- SQL もしくは NoSQL データベース
- JMS や AMQP メッセージ
- TCP/IP や HTTP, HTTPS などのネットワークプロトコル
- シングルリソーストランザクション
- 証明書、暗号化を含む、伝送中のデータ (in transit) と保管中のデータ (at rest) のセキュリティに関する基本的な理解
セットアップ要件
- 以下の要件を満たすコンピュータ
- 8- 16 GB RAM (推奨: 16GB)
- 2 GHz 以上の CPU
- 10 GB の空きストレージ
- 解像度 1024x768 以上のモニター
- インターネットアクセス
- 下り速度 5 Mbps 以上、上り速度 2 Mbps 以上
- ポート 80 と 3306 が使用可能であること
- 対応ブラウザ: 最新版のGoogle Chrome, Safari, Firefox または Microsoft Edge
- 最新の Anypoint Studio 7 (Mule Runtime 4.X)
- Anypoint Platform アカウント
- Advanced REST Client (もしくは Postman などの REST Client ツール)
- (任意) Archimate
レッスンとトピック
モジュール 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 アプリケーション内のフローのテスト対象を定義する
モジュール 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 でデプロイと管理を自動化する
モジュール 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) を適切なサイジングする