MuleSoftのCertificationを取得する


現在、日本でも多くの方がMuleSoft Anypoint Platformの学習を始めていることと思います。ただ勉強するだけではなくCertificationの取得を目標としている方も多いのではないでしょうか。まだ日本語化はされていないためSalesforceなどと比べて少し敷居は高いかもしれませんが、MuleSoftもいくつかのCertificationを提供しています。今回は私自身の経験を通した、MuleSoftの各Certificationを取得するまでの学習パスについて書いてみたいと思います。


##自己紹介
株式会社アピリオでシニアコンサルタントとして働いています。日本でのMuleSoft事業の立ち上げと歩調を合わせて、アピリオジャパンでも今年から本格的にMuleSoft チームを立ち上げ、お客様への支援を開始しています。私も今年の後半からMuleSoftに携わっていて気が付けば半年ほど経っています。先日アーキテクトの資格を1つ取得できたので、これまで以上に自信を持ってお客様にMuleSoftについて語れるようになりました。勉強すればするほど、MuleSoftのAPIの世界は奥が深いなと実感しています。

##MuleSoftの4つのCertification
2019年12月現在、MuleSoftの[資格情報のページ](https://training.mulesoft.com/certification)によるとDeveloper向けで6つ、Architect向けで2つのCertificationが提供されています。Mule3向けのものを除くと、実質は下記のようにDeveloperとArchitectでそれぞれ2種類になります。

| カテゴリ      |      Certification名        |   
|:--------------|:------------------|
| Developer     |[MuleSoft Certified Developer Level1 [Mule4]](https://training.mulesoft.com/exam/mcd-level1)|。
| Developer     |[MCD API Design Associate [RAML 1.0]](https://training.mulesoft.com/exam/mcd-raml)         |       
| Architect     |[MuleSoft Certified Platform Architect - Level1](https://training.mulesoft.com/exam/mcpa-level1) |       
| Architect     |[MuleSoft Certified Integration Architect - Level1](https://training.mulesoft.com/exam/mcia-level1) |        

以下、Developer向けの**MCD**(MuleSoft Certified Developer) Level1（Mule4）、Architect向けの**MCPA**（MuleSoft Certified Platform Architect）と **MCIA**（MuleSoft Certified Integration Architect）について見ていきたいと思います。**MCD API Design Associate** はRAML 1.0に特化していて、他のMuleSoftソリューション全体を対象にした資格とは少し位置付けが異なりますので、オプション扱いになると考えます。

##MCD （Mulesoft Certified Developer） Level1
問題：60問
試験時間：120分
合格：70%以上

MuleSoftの学習を始めて最初に取得を目指すDeveloper向けのCertificationです。開発者がMuleSoft APIの設計・ビルド・テスト・デプロイするためのスキルと経験を持ち、基本的なAPIを管理しインテグレーションできるかを確認します。Muleで開発を行うためのベースとなる知識を持つ人が合格できる資格だと思います。Anypoint Studioを使ったMuleアプリケーションの開発経験は必要ですが、必ずしも実案件レベルの経験は必要ありません。
英語にはなりますが無償で受講できる[オンライントレーニング](https://training.mulesoft.com/course/mulesoftu-fundamentals4)を受講することで、試験範囲は全てカバーできます。このトレーニングはかなりのボリュームなので、受講を完了するにはそれなりの時間がかかりますが、Muleを初めて学習する開発者にとってはとても有意義なトレーニングですので受講をお勧めします。

MCD Level1の合格に向けては下記について学習します。

- API-ledの基本
- Anypoint Platformの基本
- RAMLによるI/F定義
- DataWeaveによる変換処理
- Anypoint Studioを使ったフローの開発
- Mule Event
- 基本コンポーネント、コネクタの理解
- フロー実行時のエラーハンドリングのパターン
- ポリシーとSLA
- GatewayとAPIプロキシー with Autodiscovery
- For Each, Scatter-Gather, Batchコンポーネントの動作
- File, VM, JMSコネクタの動作

試験前には必ず公式に公開されている [Self-Assement Quiz](https://training.mulesoft.com/course/fundamentals4-quiz-diy)を受講して下さい。本番と同様な形式で70問以上の問題が準備されています。ここで70%以上正解できるように学習できていれば本番も安心です。

##MCPA （MuleSoft Certified Platform Architect）- Level1
問題：58問
試験時間：120分
合格：70%以上

2つあるアーキテクト資格の1つであるMCPAは、API設計、環境に応じたMuleSoftサービスの選定、運用や監視といったプラットフォームレベルの知識と経験を確認します。MCDで出題されたAnypoint Studioでの実装よりはハイレベルな観点からの知識が要求され、具体的には下記のような観点から出題されます。

- 3層のAPI（Experience, Process, System）によるAPI設計
- 環境とユーザーの要件に合わせたMuleSoft製品/サービスの選択
- ポリシーの選択
- モニタリングやアラート
- テスト方法
- SLAの実現
- データモデリング（Bounded ContextとEnterprise Data Model）
- APIのバージョン管理

アーキテクト資格なのでMCDと比べると難易度は高く、Anypoint Platformの各機能を十分に理解した上で、下記のトレーニングコースを受講すると入手できる資料を使って学習する必要があります。

[Training: Anypoint Platform Architecture: Application Networks](https://training.mulesoft.com/instructor-led-training/aparch-application-networks)

MuleSoftのサイトに、[事前のクイズ（23問）](https://training.mulesoft.com/course/mcpa-level1-quiz)がありますので、まずはこちらを解いてみて試験の感触をつかんでもらうのが良いと思います。

##MCIA （MuleSoft Certified Integration Architect）- Level1
問題：58問
試験時間：120分
合格：70%以上

MCPAがプラットフォームレベルのハイレベルな観点からの知識と経験をカバーしているのに対して、MCIAはMuleアプリケーションを構成する様々な設計/実装に対する深い知識を確認します。具体的には下記のようなエリアが試験範囲になります。イメージとしてはMCDで学んだMuleアプリケーション開発の知識をより深くより広く学習します。

- 各コンポーネント/コネクタの動作
- テスト戦略
- Mule環境のランタイムとユーザー環境のランタイムの仕様の差異
- ログ出力
- プロパティ管理
- 同期処理と非同期処理
- ObjectStore, VM
- トランザクション管理
- HA
- 性能管理
- セキュリティ

MCPAよりも試験範囲が広いため学習ボリュームはかなりあります。ただ、機能要件と非機能要件を満たしたMuleアプリケーションを設計・実装するために必要となる知識が網羅されていますので、このCertificationを取得できた人はMule API開発のエキスパートになれると思います。MCPA同様に下記のトレーニングコースを受講すると入手できる資料を使って学習する必要があります。

[Training: Anypoint Platform Architecture: Integration Solutions](https://training.mulesoft.com/instructor-led-training/aparch-integration-solutions)

MuleSoftのサイトに、[事前のクイズ（23問）](https://training.mulesoft.com/course/mcia-level1-quiz)がありますので、必ず事前にこちらを解いてみて下さい。この事前クイズの存在は本当に助かります。

##英語だけど大丈夫？
現時点では日本語の試験は提供されていないため、MuleSoftの資格試験は英語になります。英語があまり得意でない方は当然この点を心配されると思います。私も当初不安でした。実際に試験を受けた感想で言いますと、MCD Level1は事前クイズで英語の質問に慣れておけば、似たような英文で質問されるので質問の意味が分からないということにはならないと思います。また、Muleのフロー定義（ビジュアルとXML）を見ながら、フロー/コンポーネントの動作を質問される問題が多いので、質問の英語の量はそれほど多くありません。選択肢もコードそのものが記述されているケースが多いので直感的に理解できます。ですので、MCD Level1に関しては、英語であることはそれほど気にせずに受けてもらっても大丈夫だと思います。

一方、アーキテクト以降の試験では、問題文と選択肢にそれなりの量の英語が出てくるため、英語の理解力がある程度以上ないと、英語の理解に手間取ってしまい時間が足らなくなるという事態が起こりえると考えます。考えさせる問題や紛らわしい選択肢も多いため、正しい回答を見つけるには時間がかかります。正直、2時間は短いですね。

##受験方法
MuleSoftのCertificationの受験方法は、基本的にはSalesforceの資格取得と同じです。申込には[WebAssessor](https://www.webassessor.com/wa.do?page=enterCatalog&branding=MULESOFT&tabs=11)を使いますし、受験会場も東京なら八重洲や秋葉原のセンターが利用できます。異なるのは、試験センターでの受験以外にオンライン（自分のPCを使った受験）が許可されていることです。私はMCDの試験はオンラインに挑戦してみたので、簡単にご紹介しておきます。

- PCにSentinelというアプリをインストールする必要がある
- 事前に顔認証とキータイプの登録が必要（試験開始前にチェックされます）
- 試験可能な時間はUS時間であるため、夜中の0時から午後14時ぐらいまでが選択できる時間帯
- 試験中
  - Sentinelアプリが画面を占有して、他のウィンドウに切り替えることができない
  - カメラがONになっている（恐らく監視していると思われる）
  - 言葉を話すとアプリに注意される（独り言でもダメ）
  - メモを取ることは可能

なお、WebAssessorは1つのアカウントには1つの組織しか紐付けられないため、MuleSoftのCertification用には既存のものとは別のアカウントを取得する必要があることに注意して下さい。

##まとめ
MuleSoftが提供する3つのCertificationについてその特徴と学習パスをご紹介しました。アーキテクト以降の資格になりますと、英語であることも含めて取得は簡単ではないと思いますが、基本資格であるMCD Level1であれば、MuleSoftによるアプリケーション開発の基本をマスターした人であれば十分に合格できると思います。