外部データを解放して、コネクテッドエクスペリエンスを構築する
学習の目的
この単元を完了すると、次のことができるようになります。
- AnyPoint Platform と API 主導の接続の役割を明らかにする。
- インテグレーションコネクタを使用して外部データのソリューションアーキテクチャを設計する。
インテグレーションの API 別レイヤー
どのインテグレーションソリューションでも、通常は Salesforce 外の複数のサービスからインポートされるデータが存在します。観念的には、各サービスが特定のタスクを実行します。そして、すべてのタスクとそのすべてのデータを統合する必要があります。ここで役立つのが API 主導の接続です。
API 主導の接続は、システム API、プロセス API、エクスペリエンス API という 3 つのレイヤーを網羅します。どのレイヤーも他のレイヤーから切り離されていますが、連携して調和的な統合環境の基盤を形成し、API の一貫した使用を通じて拡張できます。
システムレイヤーは、データベース、レガシーシステム、SaaS アプリケーションなどの外部システムに直接接続されます。このレイヤーの唯一の役割は外部システムに接続することです。このレイヤーに書き込まれるビジネスロジックはありません。システムレイヤーで変更が行われても、アプリケーションに影響のないことが明らかなため、セキュリティが確保されます。また、システム API は再利用可能なアセットとして作成され、各自が作成した他のアプリケーションでも使用できます。
プロセスレイヤーは、システムレイヤーのデータを読み取ります。ビジネスロジックやオーケストレーションはここに格納されます。システムレイヤーのデータのマージによって基盤となるシステムの統合ビジネスプロセスビューが作成されます。前述のとおり、各レイヤーが切り離されているため、プロセスレイヤーとシステムレイヤー間の連動関係を懸念する必要はありません。
エクスペリエンスレイヤーは、エンドユーザーがデータやプロセスを操作するところです。ここではユーザーがデータを変更したり、利用者に合わせて調整したりすることができます。UI が独自のレイヤーに格納されているため拡張性が向上するほか、さまざまなカテゴリに分割できます。たとえば、これらの API を 3 通りに分割し、E コマース、モバイルアプリケーション、デスクトップインターフェースをサポートすることが考えられます。
こうした形態の API アーキテクチャは、隔離された小規模なサービススイートをサポートするよう設計されたマイクロサービスと考えることができます。API を 1 つの大きな塊として作成するのではなく、マイクロサービスを作成して連動関係を軽減します。こうした分離により、トラブルシューティングも簡単になります。何かが破損したとき、システムレイヤー、プロセスレイヤー、エクスペリエンスレイヤーのどこで破損が生じたのかをすぐに把握できます。
MuleSoft コネクタを活用する
レガシーシステム上に構築する必要がある場合でも、新しいエクスペリエンスを構築する場合でも、Salesforce または Heroku を使用できます。ただし、これらのツールを個別に実装する場合、大変な作業が必要と感じられるかもしれません。この種の実装ではまた、特に外部システムを使用するためにアプリケーションを拡張することになったとき、アセットの再利用が容易ではありません。
MuleSoft Anypoint Platform を使用すれば、外部からデータを取り込むことになったときに、その処理を簡単に実行できます。Anypoint Platform は仲介手段として機能する使いやすいコネクタを備えているため、システムを切り離し、ポイントツーポイントのインテグレーションを回避しながら、データを簡便に移行することができます。MuleSoft の強味は、API を再利用可能な方法で公開し、エンドツーエンドのエクスペリエンスを実現することです。
インテグレーションの際、コネクタをいずれかのアプリケーションで実行する必要があり、パッケージ化されているコネクタのペアリングの中にぴったり適合するもの (Salesforce と Workday を接続してデータを送信する場合など) がなかなか見つからないことがあります。けれども、MuleSoft Anypoint Platform Exchange や AppExchange を検索すれば、関連するコネクタが簡単に見つかります。
いくつかの使用事例を確認してから、MuleSoft コネクタを使用して外部データをインポートする方法を見てみましょう。
使用事例: 外部データの Salesforce への統合
外部データを統合する MuleSoft インテグレーションでは、Salesforce のいくつかの機能を使用します。REST API は、CRM とデータを受送信します。OData コネクタは、外部オブジェクトや APIKit を公開して、注文システムのデータを MuleSoft へ仮想化します。Workday コネクタは、財務データを結び付けます。AWS コネクタは、在庫情報を収集します。MuleSoft で一元管理されるすべてのデータが Salesforce に送信されます。MuleSoft は必要に応じてデータを集約して送受信する機能を備えているため、MuleSoft から CRM へのこうした接続は双方向です。
使用事例: 複数組織と外部データの統合
GetCloudy Consulting の複数組織インフラストラクチャを管理することも Robert の職務です。現在 GetCloudy Consulting では、インフラストラクチャ内のあらゆる組織に分散しているデータを取りまとめ、さらには複数のオンプレミスシステムのデータも取り入れて、お客様の 360 度ビューを生成する方法を模索しています。そのためには、このすべてのデータを信頼できる一元的な情報源に統合する必要があります。
Robert は当初、各組織の API のみを使用してデータを一元化しようと考えていました。けれども、このソリューションは開発サイクルが長くなります。そこで代わりに、MuleSoft チームと協力して、前回の買収で吸収した 40 超の組織に Heroku Connect を利用することを提案します。複数組織を接続し、ビジネスが信頼して使用できる一元的な情報源を構築するために、Heroku Connect に Postgres データベースを使用することも提案します。そして、オンプレミスシステムとの接続を要するデータやクラウド内のデータも取り入れるために、MuleSoft コネクタの使用を勧めます。入手可能なコネクタは 200 種を超えているため、Salesforce のどのインスタンスにも、そして今後吸収されるシステムにも適合するものがあるものと思われます。Siebel や SAP から将来のシステムに至るすべてのデータが、信頼できる一元的な情報源に一貫して取り込まれます。
各種のインテグレーションコネクタの違いを理解する
さまざまなオプションがある中で、各自の使用事例に最適なインテグレーションがどれなのか判断つかないことがあります。どのようなオプションがあるのか見ていきましょう。
MuleSoft コネクタから Heroku Connect まで、どのコネクタを使用する場合でも、インテグレーションコネクタは SOAP、Bulk、ストリーミングの Salesforce API を使用します。オプションごとに次の 3 つの重要な領域が異なります。
- DevOps や管理によるインテグレーションの継続的なメンテナンス
- 機能
- ライセンス
上記の重要な領域に留意して、学習した知識を以下のシナリオに適用してみましょう。
使用事例 1: お客様は、自動化されたごく簡単な方法で、大規模な 1 つまたは複数の Salesforce 組織を統合する必要があります。そして、継続的な管理業務を最小限にして、クラウドで Heroku Postgres データベースを使用したいと考えています。
ソリューション: 推奨されるインテグレーションコネクタは Heroku Connect です。以前の単元で学んだとおり、Heroku Connect では Salesforce 組織とその Heroku Postgres データベース間の完全自動化されたインテグレーションをごく簡単に実施できます。完全管理のインテグレーションコネクタであるため、お客様が接続のアップタイムやメンテナンスの管理を心配する必要がありません。
使用事例 2: お客様は、Salesforce 組織の 1 つまたは複数のインスタンスを、オンプレミスかクラウドにある Oracle または SQL データベースに統合する必要があります。このお客様は、接続の設定や管理を継続的に実施する DevOps リソースを擁しています。また、データをデータベースに格納する前の変換操作や集約操作を構築することにも関心があります。
ソリューション: 推奨されるオプションは MuleSoft Salesforce コネクタです。なぜでしょうか? Oracle データベースや SQL データベース、そして Postgres データベースをサポートするためです。さらに、MuleSoft Salesforce コネクタは、クラウドにない可能性のあるデータベースへの接続を設定できます。MuleSoft Anypoint Platform を使用すると、データをデータベースに格納する前にデータの集約や変換などの操作を実行できます。
使用事例 3: お客様は、複数の Salesforce 組織のデータをリレーショナルデータベース (Postgres、Oracle、MySQL など) に統合する必要があります。一定期間にデータ量が増大することが予想されています (たとえば、当初 1 万件のレコード数が 12 か月以内に 100 万件に増加)。このお客様は予算に限りがあり、ライセンス費用を抑えたいと考えています。
ソリューション: このシナリオでは、ライセンスモデルの点で MuleSoft Anypoint コネクタが最善の選択肢です。Heroku Connect は、Salesforce と Postgres データベース間で同期されたレコード件数に応じて価格が設定されます。つまり、レコード件数が増えれば、ライセンス費用が増大します。MuleSoft Anypoint コネクタのライセンスは同期されたレコード件数に基づくものではないため、コストを管理しやすいオプションです。ここで留意すべき重要な点は、データ量が増大する中でお客様が接続を管理する責任があることです。
まとめ
ソリューションアーキテクチャについて検討する際に覚えておくことは、インテグレーションコネクタの使用が Salesforce を拡張する手段であることです。Salesforce を使用するためにこうしたツールは必要ありませんが、インテグレーションでこれらのツールを 1 つ以上使用すれば、日常業務に問題を引き起こす設計を回避できます。