- リンクを取得
- ×
- メール
- 他のアプリ
- リンクを取得
- ×
- メール
- 他のアプリ
プラットフォームイベントは、Salesforceが提供するイベント駆動型アーキテクチャを実現する機能です。これにより、リアルタイムでのデータ交換やシステム間の連携が可能になります。
プラットフォームイベントの概要
プラットフォームイベントは、以下の特徴を持っています:
- イベント駆動型アーキテクチャの実現
- 非同期処理による高い柔軟性
- Salesforce内外のシステムとの統合が容易
プラットフォームイベントの構成要素
プラットフォームイベントは主に以下の要素で構成されています:
- イベントプロデューサ: イベントを発生させ、メッセージをイベントバスに送信する
- イベントバス: メッセージを一時的に保持し、コンシューマに配信する
- イベントコンシューマ: イベントバスからメッセージを受信し、処理を実行する
プラットフォームイベントの使用方法
イベントの定義
カスタムプラットフォームイベントは、カスタムオブジェクトと同様に定義できます4。
- API参照名のサフィックスは __e を使用
- カスタム項目の追加が可能
イベントの公開(プロデューサ)
イベントの公開には以下の方法があります:
- プロセスビルダー
- フロー
- Apex
- API(SOAP API、REST API、Bulk API等)
イベントの登録(コンシューマ)
イベントの登録と処理には以下の方法があります4:
- プロセスビルダー
- フロー
- Apexトリガー
- Lightningコンポーネント(empApiコンポーネント)
- CometDクライアント
使用例
1. 注文処理システム
注文ステータスが変更されたときにプラットフォームイベントを発行し、外部システムに通知する例
trigger DemoOrderTrigger on DemoOrder__c (after update) { List<DemoOrderEvent__e> events = new List<DemoOrderEvent__e>(); for(DemoOrder__c od : Trigger.new){ if(!String.isEmpty(od.Status__c) && od.Status__c == '出荷依頼'){ DemoOrderEvent__e ev = new DemoOrderEvent__e(); ev.OrderNumber__c = od.Name; ev.Status__c = od.Status__c; events.add(ev); } } if(!events.isEmpty()){ EventBus.publish(events); } }
2. リアルタイム通知システム
Lightningコンポーネントを使用して、プラットフォームイベントをリアルタイムで受信し、ユーザーインターフェースを更新する。
3. 外部システム連携
Javaアプリケーションを使用して、Salesforceのプラットフォームイベントを購読し、外部システムと連携する。
プラットフォームイベントは、システム間の効率的な通信と連携を実現し、ビジネスプロセスの最適化に貢献します。適切に活用することで、柔軟で拡張性の高いシステム構築が可能になります。
コメント
コメントを投稿