Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Takashi Hatamoto
PPTX, PDF
2,376 views
SalesforceにおけるCDC(変更データキャプチャ)の実装・活用法について
Salesforce Developers Meetup #21
Software
◦
Related topics:
Web Development
•
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 17
2
/ 17
3
/ 17
4
/ 17
5
/ 17
6
/ 17
Most read
7
/ 17
Most read
8
/ 17
9
/ 17
10
/ 17
11
/ 17
12
/ 17
Most read
13
/ 17
14
/ 17
15
/ 17
16
/ 17
17
/ 17
More Related Content
PDF
認定 Integration Architecture デザイナー試験を復習してみた
by
Takahito Miyamoto
PPTX
クラウドでも非機能要求グレードは必要だよね
by
YoshioSawada
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
by
Salesforce Developers Japan
PPTX
Salesforce integration architecture 20200529
by
Hiroki Iida
PPTX
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PDF
3分でわかるAzureでのService Principal
by
Toru Makabe
認定 Integration Architecture デザイナー試験を復習してみた
by
Takahito Miyamoto
クラウドでも非機能要求グレードは必要だよね
by
YoshioSawada
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
by
Salesforce Developers Japan
Salesforce integration architecture 20200529
by
Hiroki Iida
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
3分でわかるAzureでのService Principal
by
Toru Makabe
What's hot
PDF
What's new in Spring Boot 2.6 ?
by
土岐 孝平
PDF
モダンなイベント駆動型システム連携を学ぼう〜Platform Events 入門
by
Salesforce Developers Japan
PPTX
PenTesterが知っている危ないAWS環境の共通点
by
zaki4649
PDF
20200212 AWS Black Belt Online Seminar AWS Systems Manager
by
Amazon Web Services Japan
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
PDF
よく聞くけど、「SharePoint リストの 5,000 件問題」ってなんなの?
by
Hirofumi Ota
PDF
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
by
Amazon Web Services Japan
PPTX
脱RESTful API設計の提案
by
樽八 仲川
PPTX
20211109 JAWS-UG SRE keynotes
by
Amazon Web Services Japan
PDF
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
by
hamaken
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
PPTX
Restriction Rules(制限ルール)調べてみた
by
Takashi Hatamoto
PPTX
ファイルサーバーを SharePoint に移行するためのアプローチ
by
日本マイクロソフト株式会社
PDF
Intuneによるパッチ管理
by
Suguru Kunii
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
PPTX
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(基礎編)配布用
by
シスコシステムズ合同会社
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
by
NTT DATA Technology & Innovation
What's new in Spring Boot 2.6 ?
by
土岐 孝平
モダンなイベント駆動型システム連携を学ぼう〜Platform Events 入門
by
Salesforce Developers Japan
PenTesterが知っている危ないAWS環境の共通点
by
zaki4649
20200212 AWS Black Belt Online Seminar AWS Systems Manager
by
Amazon Web Services Japan
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
よく聞くけど、「SharePoint リストの 5,000 件問題」ってなんなの?
by
Hirofumi Ota
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
by
Amazon Web Services Japan
脱RESTful API設計の提案
by
樽八 仲川
20211109 JAWS-UG SRE keynotes
by
Amazon Web Services Japan
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
by
hamaken
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
Restriction Rules(制限ルール)調べてみた
by
Takashi Hatamoto
ファイルサーバーを SharePoint に移行するためのアプローチ
by
日本マイクロソフト株式会社
Intuneによるパッチ管理
by
Suguru Kunii
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(基礎編)配布用
by
シスコシステムズ合同会社
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
by
NTT DATA Technology & Innovation
More from Takashi Hatamoto
PDF
20240125_SFDG Meetup32寄稿資料_TDX2024に行こう!(TrailblazerDX)
by
Takashi Hatamoto
PDF
20240125_SFDG Meetup32寄稿_訳あってLWCから添付ファイル上げようとした話
by
Takashi Hatamoto
PPTX
20231212_【オンライン開催】SWTT 2023秋 振り返り会 for Arch-寄稿
by
Takashi Hatamoto
PPTX
20230830_ArchitectGroup_SWTT再演(GraphQL)
by
Takashi Hatamoto
PPTX
20230424_TDXGG寄稿記事:同期/非同期アーキテクチャの比較
by
Takashi Hatamoto
PPTX
20221104_しゃべくりforceのおしゃべり用資料
by
Takashi Hatamoto
PPTX
DreamTXセッションから読み解くAI活用の現状と展望
by
Takashi Hatamoto
PPTX
LEXモバイルから紐解くSalesforceモバイル史
by
Takashi Hatamoto
PPTX
Adminとうまく共存するためのApex開発Tips
by
Takashi Hatamoto
20240125_SFDG Meetup32寄稿資料_TDX2024に行こう!(TrailblazerDX)
by
Takashi Hatamoto
20240125_SFDG Meetup32寄稿_訳あってLWCから添付ファイル上げようとした話
by
Takashi Hatamoto
20231212_【オンライン開催】SWTT 2023秋 振り返り会 for Arch-寄稿
by
Takashi Hatamoto
20230830_ArchitectGroup_SWTT再演(GraphQL)
by
Takashi Hatamoto
20230424_TDXGG寄稿記事:同期/非同期アーキテクチャの比較
by
Takashi Hatamoto
20221104_しゃべくりforceのおしゃべり用資料
by
Takashi Hatamoto
DreamTXセッションから読み解くAI活用の現状と展望
by
Takashi Hatamoto
LEXモバイルから紐解くSalesforceモバイル史
by
Takashi Hatamoto
Adminとうまく共存するためのApex開発Tips
by
Takashi Hatamoto
SalesforceにおけるCDC(変更データキャプチャ)の実装・活用法について
1.
SalesforceにおけるCDC (変更データキャプチャ)の 実装・活用法について ~そもそもコレどうやって使うの?一から学べる入門編~ 株式会社ユー・エス・イー 畑本貴史 1
2.
自己紹介 2 はたもと たかし 畑本 貴史 株式会社ユー・エス・イー サービスデザイン事業部 カスタマーサクセス課
主任 経歴 2010年~Salesforce開発者(Apex/Visualforceメイン) AIアプリコンテスト2018 優勝チーム(ロボホンズ) Lightning App Dev Champion Salesforce Developer Group Tokyo 運営メンバー ←New!
3.
Summer’19のCDC関連アップデート 3 Summer’19(v46)のアップデート https://releasenotes.docs.salesforce.com/ja-jp/summer19/release- notes/rn_messaging_change_data_capture_section.htm Apex トリガでの変更イベントメッセージの処理 Apex
変更イベントトリガで、Lightning プラットフォームの変更イベントメッセー ジを処理できるようになりました。変更イベントトリガは、データベーストランザ クションが完了した後に非同期で実行されます。リソースを大量に消費するビジネ スロジックは変更イベントトリガで非同期に実行され、トランザクションベースの ロジックは引き続き Apex オブジェクトトリガで実行されます。変更イベントトリ ガでは、変更の処理を分離することで、トランザクションの処理時間を短縮できま す。 →CDCイベント発生時にApexトリガを起動できるように!
4.
そもそも、CDC(変更データキャプチャ)とは? CDCとは → 「Change
Data Capture」の略 データベース内の各トランザクションの更新内容を レコード単位・項目単位でピンポイントで出力できる機能 (OracleDB、SQLserver等では標準実装) CDCを使わない場合の差分取得 DB内部の全レコードのキャッシュを取得 →過去のキャッシュと比較し更新差分を抽出 →膨大なリソース消費、リアルタイム処理は困難 項目変更履歴から最新の差分を抽出 →SOQLの集計関数(Max)で取得しきれない場合はやはり外部DBで処理 4
5.
SalesforceのCDC仕様① 5 ストリーミングAPIの一種 外部システムに対して、「イベントバス」を中継し 複数の端末・サーバにプッシュ通知を送受信するAPIとして実装 Salesforce Platform Server PC Mobile Event Bus
6.
ストリーミングAPIの一覧 6 ストリーミングAPIで取り扱うイベント一覧 汎用イベント プラットフォーム イベント PushTopic 変更データ キャプチャ 実行 タイミング 任意 (Apex, SOAP/REST) 任意 (Apex, フロー/プロセス) DML発生時 (事前に指定した 条件のみ) DML発生時 (すべて) 通知内容 任意のテキスト 事前に定義した項目に 任意の値を登録 クエリで指定した 項目の値 CDCが検知した 差分項目すべて 対象データ 任意(呼び出し元で 設定) 任意(呼び出し元で 設定) クエリで指定した 検索条件に合致
すべてのレコード
7.
SalesforceのCDC仕様② 7 CDCのイベント情報は専用オブジェクトに格納される 例:取引先 (Account)
を更新する → CDCオブジェクト“AccountChangeEvent”が登録される ※イベント監視では直近3日間のレコードが追跡できる CDC発生時には、その更新内容がSalesforce外部に自動通知される 通信形式:REST URL形式:“/data/AccountChangeEvent”
8.
CDCを試してみる 8 デモ:Salesforce → MuleSoft
AnyPointへのCDC連携 Salesforce:Accountの変更データキャプチャ起動設定 Mulesoft:変更データキャプチャ受信設定 参考:SalesforceのCDCとMuleSoft Anypoint Platformを組み合わせた イベント駆動型のシステム連携 (@ykibeさん) https://qiita.com/ykibe/items/52d5e724b7ceb9831fcd
9.
SalesforceのCDCは何のためにあるのか? 9 イベント駆動型アーキテクチャに基づく実装 連携元の更新状況が自動的に連携先に反映される(Push型) →(準)リアルタイム連携の実現 連携1回あたりのデータ量が最低限、コールバックなし →連携処理の負荷軽減(疎結合) その他従来手法との比較
連携先からの定時ポーリング(Pull型) →リアルタイム性の欠如、場合によっては大量データの一括処理発生 連携元⇒連携先へのリアルタイムデータ連携処理 →トランザクションへの負荷増大(密結合)
10.
本題:Apexトリガを試してみる 10 デモ:AccountのCDCイベント「AccountChangeEvent」にトリガ設定 CDCイベント発生時のデバッグログ取得設定 CDCイベントへのApexトリガを設定
11.
通常のApexトリガと何が違うか?① 11 「ChangeEvent」に対するトリガ →CDCの発生元になったオブジェクトへの更新処理とは非同期で動作する 既存のトリガ・自動プロセスによるガバナ制限に抵触しない
CDCトリガから発生元レコードへの再更新処理も可 直接起動条件は「after insert」のみ →Triggerクラスの「isInsert()」「isUpdate()」等のメソッドへは判別不可 →「Eventbus.ChangeEventHeader」からCDC起動条件を取得
12.
通常のApexトリガと何が違うか?② 12 「Eventbus.ChangeEventHeader」の主要パラメータ entityName:発生元オブジェクト名 changeType:発生時処理(Insert,
Update, Delete, Undelete) recordIds:発生元レコードのID(原則1件) changeorigin:発生時のアクセス経路 (API経由の更新 or Lightning Experience) nulledFields:Update時にNullに更新された項目一覧 Etc…
13.
通常のApexトリガと何が違うか?③ 13 「Trigger.new」から得られる値 →発生元のイベントで登録・変更された値のみ連携される (項目定義は発生元レコードとほぼ同じ) Insert:入力されたすべての値 Update:更新差分のある値のみ
Delete:なし Undelete:すべての値(Insertと同等) Trigger.newから発生元レコードIDは取れないので、 前述のChangeEventHeader.recordIdsから取得
14.
通常のApexトリガと何が違うか?④ 14 実装上の注意事項 バッチサイズ「2,000件」 →一括処理を行った場合、ガバナ制限に抵触しやすい (非同期ガバナ制限が適用されるため負荷耐性は高いが) 発生元イベントとは非同期で実行される →トリガでエラーが発生しても、発生元レコードはロールバックしない
入力規則の代わりに使うことはできない 必要な処理が一部起動しないことにより、データの整合性が乱れる可能性
15.
CDCトリガは何のために使うのか? 15 イベント駆動型アーキテクチャの概念をSalesforce内部に持ち込む 大規模環境の運用におけるトランザクション負荷の緩和 参照関係・主従関係に関連するクロスオブジェクト処理 複数のトリガ・自動プロセス構築による連動処理 Apex処理が必要なリアルタイム連携処理の実装
JSON形式以外へのデータ整形を行い外部システムへPush Salesforce⇔外部システムの双方子同期処理を起動
16.
参考資料 16 Change Data
Capture Developer Guide https://developer.salesforce.com/docs/atlas.en- us.change_data_capture.meta/change_data_capture/ Trailhead:変更データキャプチャの基礎 https://trailhead.salesforce.com/ja/content/learn/modules/change-data-capture ストリーミング API 開発者ガイド https://developer.salesforce.com/docs/atlas.ja-jp.api_streaming.meta/api_streaming/ Trailhead:プラットフォームイベントの基礎 (モジュール:イベント駆動型ソフトウェアアーキテクチャの理解) https://trailhead.salesforce.com/ja/content/learn/modules/platform_events_basics
17.
ご清聴ありがとうございました! 17
Download