MuleSoft(ミュールソフト)は、企業が異なるシステムやアプリケーションを統合するためのツール群とプラットフォームを提供する会社(現在はSalesforceの傘下)。主にAPI(アプリケーションプログラムインターフェース)管理と統合に特化しており、効率的なデータ連携とプロセスの自動化を実現するためのシステムを提供しています。
実は厳密に言うとMuleSoftというのは会社名で、製品そのものを指す単語ではありません。(最初この辺が混乱する方もいると思うので補足。)
- Mulesoft: 会社名。API管理とシステム統合に特化したツールとサービスを提供する主体。
- Anypoint Platform: Mulesoftが提供する主力製品。APIの設計、構築、管理、運用を行うための統合プラットフォームです。
ここでは、最近よく耳にするMuleSoftについての基本知識を、どちらかというとエンジニア向けにザックリ説明しておきます。
MuleSoftとは?
MuleSoftは異なるシステムやアプリケーションをつなげるためのツールを提供する会社です。
その主力製品がAnypoint Platform。Anypoint Platformは企業がシステムを統合するためのAPIを管理するための製品で、この製品を利用することで様々なAPI連携で1つに繋ぎ、複雑な社内システムを一元的に管理していきましょう!というのがざっくりとした製品イメージ。
ポイント MuleSoftの概要
- 会社名: MuleSoftはシステム統合とAPI管理に特化したツールを提供する会社。
- 現在の立ち位置: 2018年にSalesforceに買収されたものの、MuleSoftの製品は引き続き同じように提供されている。
Anypoint Platformとは?
Anypoint Platformは、簡単に説明するとインターネットを使ってアクセスできるクラウドサービスです。
Anypoint Platformには、APIの設計・開発、また管理するためのツールも含まれており、このプラットフォーム1つでAPIの開発~管理・運用までが一気通貫で可能になります。各企業や組織は自分たちのAPIを簡単に管理できるようになるため、必要なデータを効率的にやり取りすることができるようになります。例えば、顧客管理システムと在庫管理システムをAnypoint Platformを利用して連携させる、、など。
上記はざっくりとした概念図ですが、社内に複数存在するシステムをAPIを利用して「繋げる」イメージ。
すべての連携をAnypoint Platform上で実装することで、例えばシステムAとシステムB、システムBとシステムCの個別のIF(インターフェース)を定義する必要がなくなる、といった利点が生まれます。
Anypoint Platformには以下のようなコンポーネントが含まれており、これらを目的に応じて使い分けていきます。ここではあえて詳細を1個1個説明するのは避けますが、一言で言えば「APIを開発・管理するためのすべてのツール」がAnypoint Platform上に存在していることを覚えておいてください。
コンポーネント名 | 概要 |
---|---|
Anypoint Design Center | APIの設計とプロトタイピングを行うツール。APIを視覚的に設計し、どのようにデータをやり取りするかを設計するツール。 |
Anypoint Exchange | 再利用可能なアセットのリポジトリ。API、コネクタ、テンプレートなどを共有し、他のプロジェクトで再利用できるようにするツール。 |
Anypoint Studio | 統合フローを設計するための統合開発環境(IDE)。プログラムを視覚的に作成し、システム間のデータ連携の開発を行うためのツール。 |
Anypoint Management Center | APIと統合フローの運用と管理を行うツール。システムのパフォーマンスを監視し、問題が発生した場合にトラブルシューティングを行う。 |
Anypoint Connectors | 既存のシステムやアプリケーションと接続するためのコネクタ。これにより、異なるシステム間でのデータのやり取りが容易になる。 |
何はともあれ、これらを使った開発がどのように進んでいくのか?を簡単にご説明していきます。
Anypoint Platformを使った開発から運用までの流れ
実際に使ってみよう!と思った方向けに、利用イメージが何となく理解できるように、開発~運用までの一連のフェーズを簡単にメモしておきます。
1. 設計
開発の最初のステップはAPIやフローの設計から。この設計フェーズでは、Anypoint Design Centerを利用して、どのシステムやアプリケーションをつなげるかを決定します。
- 使用するツール Anypoint Design Center
- ここで、APIの設計とプロトタイピングを行います。APIのエンドポイントやデータ形式などを定義し、どのようにデータをやり取りするかを計画します。
2. 開発
設計が完了したら次は開発。この段階では、Anypoint Studioを利用して、実際の統合フローやAPIを作成します。
- 使用するツール Anypoint Studio
- Anypoint Studioを使って、統合フローを視覚的に作成。プログラムを書くことなく、ドラッグ&ドロップでシステム間のデータ連携を設定することができます。APIの実装もここで行います。
3. テスト
開発が完了したら、テストを行います。作成したAPIや統合フローが正しく動作するかを確認します。
- 使用するツール Anypoint Studio(テスト機能)
- Anypoint Studioにはテストツールが組み込まれており、ローカル環境でAPIや統合フローをテストできます。これにより、問題がないか事前に確認できます。
4. デプロイ
テストが完了し、問題がなければ最後にデプロイを行います。作成したAPIや統合フローを実際の運用環境に配置します。
- 使用するツール Anypoint Management Center
- Anypoint Management Centerを使って、APIや統合フローをクラウド環境にデプロイします。ここで、運用に必要な設定も行います。
GitHubとの連携も可能です。ソースコードはGitHubで管理しておき、Anypoint Management Center経由でデプロイするというのが定石です。
5. 運用と管理
デプロイが完了したら、運用フェーズに入ります。APIや統合フローが正常に動作しているかを監視し、必要に応じてメンテナンスを行います。
- 使用するツール Anypoint Management Center
- Anypoint Management Centerを使って、運用中のAPIや統合フローのパフォーマンスを監視します。問題が発生した場合は、ここでトラブルシューティングを行います。
6. 共有と再利用
最後に、作成したAPIや統合フローを他のプロジェクトでも再利用できるように共有します。
- 使用するツール Anypoint Exchange
- Anypoint Exchangeを使って、作成したAPIや統合フローを共有し、他のチームやプロジェクトで再利用できるようにします。これにより、開発効率が向上します。