Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ / Getting S...
Search
Kentaro Abe
March 14, 2025
Technology
0
75
SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ / Getting Started with Event-Driven Architecture Using SAP Event Mesh
2025年3月14日に開催された、SAP Inside Track 2025 Day2の登壇資料です。
Kentaro Abe
March 14, 2025
Tweet
Share
More Decks by Kentaro Abe
See All by Kentaro Abe
2025-08-06 社内勉強会 Gitを知る頃 / When You First Know Git
abekem
0
5
2025-07-02 社内勉強会 SQLに親しむ / Getting to Know SQL
abekem
0
45
2025-05-28 社内勉強会 SOLID原則ではじめるよりよい設計の第一歩 / The First Step to Better Software Design with SOLID Principles
abekem
0
44
2025-04-23 社内勉強会 デザインパターン概論 / Overview of Design Patterns
abekem
0
35
2025-03-26 社内勉強会 オブジェクト指向入門 第二部 / Introduction to Object-Oriented Part2
abekem
0
31
2025-02-27 社内勉強会 オブジェクト指向入門 / Introduction to Object-Oriented
abekem
0
85
Other Decks in Technology
See All in Technology
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
340
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
230
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
0
960
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
360
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
720
Oracle Cloud Infrastructure:2025年7月度サービス・アップデート
oracle4engineer
PRO
1
110
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
120
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
190
Rubyの国のPerlMonger
anatofuz
3
730
AI関数が早くなったので試してみよう
kumakura
0
110
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
860
AWS re:Inforce 2025 re:Cap Update Pickup & AWS Control Tower の運用における考慮ポイント
htan
1
200
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Facilitating Awesome Meetings
lara
54
6.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
4 Signs Your Business is Dying
shpigford
184
22k
Speed Design
sergeychernyshev
32
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
540
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Transcript
1 発表日:2025/03/14 氏 名:安部 健太郎 会 社:株式会社ザイナス SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ
SAP Inside Track TOKYO 2025 #sitTokyo
2 1. はじめに 2. イベント・ドリブン・アーキテクチャのおさらい 3. SAP Event Meshの概要 4.
デモ 5. まとめ SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ
3 1. はじめに 2. イベント・ドリブン・アーキテクチャのおさらい 3. SAP Event Meshの概要 4.
デモ 5. まとめ SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ
4 • SAP TechEd Japan 2024でイベント・ドリブン・アーキテクチャとSAP Event Meshが 取り上げられた •
技術的な面白さ、運用面の便利さを感じたので、この機会に整理し、活用していきたい 本発表のモチベーション
5 1. はじめに 2. イベント・ドリブン・アーキテクチャのおさらい 3. SAP Event Meshの概要 4.
デモ 5. まとめ SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ
6 • 複数のシステム同士を連携する方式のひとつ • 状態の重要な変更を表す「イベント」をシステム間で伝達する • イベントを起点に、各システムが独立して処理を行う 利点 イベント・ドリブン・アーキテクチャとは? 1.
疎結合 送信側のシステムと受信側のシステムを分離できる 2. リアルタイム性 イベントの送受信は即時に行われる 3. 非同期 送信側のシステムは、受信側の応答を待たずに処理を進められる イベントの例 • 注文が確定した • 在庫が減った • 新しい顧客が登録された
7 イベント・ドリブン・アーキテクチャ 従来の連携方式(リクエスト・レスポンス) 従来の連携方式との違い 送信側システム 送信側システム 受信側 システムA イベント ブローカー
受信側 システムB 受信側 システムA 受信側 システムB 受注処理 処理A 処理B 処理B 処理A 連携処理 連携処理 受信側 システムC 受注処理 受信側 システムC リクエスト レスポンス リクエスト レスポンス イベント発行 仲介 通知/購読 送信側システム2 送信側システム2
8 1. はじめに 2. イベント・ドリブン・アーキテクチャのおさらい 3. SAP Event Meshの概要 4.
デモ 5. まとめ SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ
9 • SAPシステムや外部システム間のイベント連携を実現するイベントブローカー • トピックとキューを組み合わせた柔軟な設定が可能 ‐ トピック:メッセージをキューに振り分ける ‐ キュー:メッセージを保持、配信 利点
SAP Event Meshとは? 1. SAPエコシステムとの親和性 2. ノーコード・ローコードツールとの連携 3. 簡素な設定、GUIも利用可能 SAP Event Mesh キュー キュー トピック トピック キュー
10 • SAPシステムや外部システム間のイベント連携を実現するイベントブローカー • トピックとキューを組み合わせた柔軟な設定が可能 ‐ トピック:メッセージをキューに振り分ける ‐ キュー:メッセージを保持、配信 利点
SAP Event Meshとは? 1. SAPエコシステムとの親和性 2. ノーコード・ローコードツールとの連携 3. 簡素な設定、GUIも利用可能 SAP Event Mesh キュー キュー トピック トピック キュー
11 セットアップ手順 1. インスタンス作成 2. キュー・トピック作成 3. サービスキー・宛先作成 SAP Event
Meshを使ってみよう!
12 • BTP Cockpitでサブアカウントにサービスプランを追加 • パラメータを設定してインスタンス作成 ‐ namespaceは命名規則があるので注意 SAP Event
Meshのセットアップ 1. インスタンス作成
13 • SAP Event MeshのGUIで作成 ‐ Queue Name: [namespace]/[キューの名前] ‐
Topic: [namespace]/[トピックの名前] • 動作を確認できるテスト画面もある SAP Event Meshのセットアップ 2. キュー・トピック作成
14 • BTP Cockpitで、インスタンスに紐づくサービスキーを作成 • サービスキーのURL、クライアントID、クライアントシークレットを利用して宛先を作成 SAP Event Meshのセットアップ 3.
サービスキー・宛先作成
15 1. はじめに 2. イベント・ドリブン・アーキテクチャのおさらい 3. SAP Event Meshの概要 4.
デモ 5. まとめ SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ
16 デモアプリの構成 SAP Build Apps Event Mesh Subaccount Subaccount Destination
SAP Event Mesh キュー SAP Build Apps SAP Build Apps ① SAP Event Mesh キュー1 キュー2 トピック SAP Build Apps SAP Build Apps ② SAP Event Mesh キュー トピック2 トピック1 SAP Build Apps SAP Build Apps ③
17 SAP Build AppsとSAP Event Meshの連携
18 デモ①
19 デモ②
20 デモ③
21 1. メッセージの順序 ‐ イベントの発行順と消費順が完全に一致することは保証されない 2. メッセージの内容 ‐ キューの自由度が高く、単純なテキストや構造化されたJSON形式のデータも格納できる ‐
なんでも入るので、運用で注意が必要 3. システム間の依存関係 ‐ イベントの送信側と受信側が疎結合になる分、依存関係を把握しづらくなる ‐ ドキュメントに残すなど運用の工夫が必要 SAP Event Meshの注意点
22 1. はじめに 2. イベント・ドリブン・アーキテクチャのおさらい 3. SAP Event Meshの概要 4.
デモ 5. まとめ SAP Event Meshで始めるイベント・ドリブン・アーキテクチャ
23 • イベント・ドリブン・アーキテクチャとは、状態の重要な変更を表す「イベント」を システム間で連携し、イベントを起点に各システムが独立して処理を行う設計のこと • SAP Event Meshとは、SAPシステムや外部システム間のイベント連携を実現する イベントブローカー •
SAP Event Meshのセットアップは簡単で、すぐに使用可能 • 依存関係が見えにくくなるなどの注意点があるため、運用面の管理が大事 まとめ
24 Appendix
25 こんな問題を解決できるかも • 夜間バッチ連携するまで、システム間で データの状態が違って一貫性がない • 密結合なシステム間連携のシナリオがどんどん増えて、リグレッションテストが大変 • SAP S/4HANAの標準データ変更の後続カスタム処理を行うBAdIがない
• 短期間に多くのリクエストが集中し、システム全体の動作が遅くなる イベント・ドリブン・アーキテクチャはなぜ重要?
26 イベント ストリーミング モデル • 送信側はストリームにイベントを書き込む • 受信側は任意の時点のイベントを読み出す • イベント
ストリームはログのようなもので、 受信側に読み出されても保持し続ける Pub/Subモデル • 送信側はイベントブローカーに対してイベ ントを公開(publish)する • 受信側は必要なイベントを購読 (subscribe)してイベントブローカーから 通知を受け取る • イベントは「メッセージ」として保持され、 受信側により消費される イベント・ドリブン・アーキテクチャの代表的なパターン
27 SAP Business Accelerator HubでAPIを確認 ※これは同期的なAPIだが、非同期の設計も可能 SAP Event Meshの利用 メッセージの送信
メッセージの受信