インテグレーションパターンとデザインについて学ぶ
学習の目的
この単元を完了すると、次のことができるようになります。
- インテグレーションパターンとは何かを説明する。
- さまざまなインテグレーションパターンを特定する。
始める前に
このモジュールでは、Salesforce Lightning プラットフォームのインテグレーションパターンを評価する方法を学習します。インテグレーションパターンの評価は、アーキテクトにとって基礎的なスキルです。Heroku および MuleSoft のインテグレーションパターンは、このモジュールには含まれていません。
このモジュールでは、受講者が Salesforce Lightning プラットフォームのコネクタとサービスに精通していることを前提としています。このモジュールを受講する前に、以下のバッジを修了していることを確認してください。ここで取り上げる概念は、これらのバッジで学ぶ概念に基づいています。
このモジュールで扱う情報は複雑です。各セクションをよく読み、次の単元に進む前に各単元を完了することをお勧めします。
はじめに
今日のテクノロジーの世界では、アーキテクトはレガシーシステムを新しいテクノロジーと統合するインテグレーション戦略の設計を担うことが多くあります。インテグレーション戦略とは、インテグレーションの目標を達成するために必要なステップを明確にしたロードマップです。インテグレーション戦略を設計するには、利用可能なソリューションに関する経験と知識が必要です。アーキテクトは、利用可能な選択肢を検討し、場合によっては残りの設計に影響を与える難しい選択をしなければならないこともあります。
インテグレーションパターンとは?
インテグレーションパターンは、インテグレーション戦略のソリューションを評価するアーキテクトにとって、貴重なリソースです。インテグレーションパターンは、インテグレーションソリューションの設計において、システム (コンポーネントやサービスを含む) がどのように連携するかを明確にします。また、確立されたソリューションがインテグレーションの目標をどのように達成するかを示します。さらに、インテグレーションパターンはソリューション全体がどのように機能するかを伝えます。インテグレーションパターンは、不要な再開発を行わずに、インテグレーションの問題を評価し解決するための実績ある方法を説明 (または整理) するものです。
インテグレーションパターンの評価
インテグレーションパターンを評価するには、サンプルシナリオと推奨ソリューションをよく読みます。サンプルシナリオには、それぞれ特定の結果を達成するために推奨されるインテグレーションテクノロジーが示されています。サンプルシナリオをレビューし、ソリューションを評価して、あなたのインテグレーション要件を満たすものがあるかどうかを確認してください。
インテグレーションパターンは実装ガイドではないことを理解しておくことが重要です。各パターンには、インテグレーションの問題を解決するための推奨アプローチが含まれています。これらは、同様の問題を解決してきたエキスパートのベストプラクティスに基づいています。推奨アプローチでは、特定のインテグレーションテクノロジー (コネクタやサービスなど) が示されています。これらの推奨情報は、インテグレーションの選択に役立ちます。
インテグレーションイニシアチブを特定する
先に進む前に、インテグレーションの種別を確認しましょう。インテグレーションの種別によって、パターン内のソリューションをどのように評価するかが決まります。特定のイニシアチブに対して、より適したツールがあります。
Salesforce Lightning プラットフォームで最も一般的なインテグレーションイニシアチブの種別を以下に示します。
インテグレーションイニシアチブ
| 説明
|
|---|---|
アプリケーションインテグレーション | このカテゴリは、システム全体にわたって機能を拡張することに注力しています。UI でトリガーされるイベント、API インテグレーション、フロー、コネクタなどが含まれます。 |
データインテグレーション | このカテゴリは、2 つ以上のシステム間でのデータインテグレーションと同期に注力しています。データの整合性、データガバナンス、データフローの設計、データ移行などが含まれます。 |
プロセスインテグレーション | このカテゴリは、複数のシステムにわたってビジネスプロセスとサービスを拡張することに注力しています。1 つのシステムからアクティビティをトリガーするイベントや、2 つのシステム間でトランザクションを実行するような統合ソリューションが含まれます。 |
セキュリティに関する考慮事項
インテグレーションソリューションを設計する際、セキュリティに関する考慮事項は重要な役割を果たします。すべてのシステム設計には、SAML、シングルサインオン (SSO)、データの暗号化などの要素を含むセキュリティ要件があります。設計に組み込むソリューションによって、満たすべきセキュリティ要件が決まります。
設計フェーズの一環として、アーキテクチャ設計でやり取りされる機密情報について検討します。たとえば、ソリューションで顧客の機密情報を暗号化する必要がある場合を考えてみましょう。Salesforce → システム方向のインテグレーションパターンは、Shield Platform Encryption を実装することで最大の恩恵を受けます。Shield Platform Encryption では、お客様が管理する一意のテナントの秘密と、Salesforce が管理する主秘密を使用します。この設計では、一般データ保護規則 (GDPR) の要件に従ってデータの整合性を維持します。
このモジュールのパターン
このモジュールのパターンでは、Salesforce Lightning プラットフォームを使用したアプリケーションインテグレーションに焦点を絞っています。Salesforce ではユーザーインターフェースインテグレーション (サードパーティベンダーとのマッシュアップやセキュリティインテグレーション) も可能ですが、この種のインテグレーションはこのモジュールの範囲外です。
Salesforce Lightning プラットフォームのインテグレーションパターン
このモジュールで取り上げる Salesforce Lightning プラットフォームのインテグレーションパターンのリストを以下に示します。
Lightning Platform パターン | 説明 |
|---|---|
リモートプロセス呼び出し — 要求と返信 | Salesforce はリモートシステム上のプロセスを呼び出し、返信を待ちます。 |
リモートプロセス呼び出し — ファイヤアンドフォゲット | Salesforce はリモートシステム上のプロセスを呼び出しますが、そのプロセスの完了を待ちません。 |
一括データ同期 | 外部システムまたは Salesforce Lightning プラットフォームでデータが更新されると、その更新はどちらのシステムにも反映されます。更新は一括処理で適用されます。 |
リモートコールイン | リモートシステムが Lightning プラットフォームに保存されているデータを作成、取得、更新、または削除します。 |
データ仮想化 | Salesforce はリアルタイムで外部データにアクセスします。 |
高頻度データレプリケーション | 複製元システムが大規模かつほぼリアルタイムにデータを複製先システムへ非同期で複製します。 |
公開/登録 | Salesforce は、受信側が誰であるかを認識することなく、イベント (レコードの作成、変更、削除など) を公開します。任意の数の登録者がこれらのイベントをリスンし、それぞれ適切に処理します。 |
用語
パターンには共通の用語があり、選択肢を比較して、インテグレーションの目標に最適なコネクタやサービスを判断するのに役立ちます。
次の単元では、レイヤーアプローチを使用してパターンを評価する方法を見ていきます。4 つのディメンションを使用して、ソリューションを比較、評価する方法を確認します。
リソース:
- Salesforce Architecture Center: インテグレーションパターンの概要
- Heroku: パターンとベストプラクティス
- MuleSoft: Top Five Data Integration Patterns (上位 5 つのデータインテグレーションパターン)