Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f0e9e7e
first draft of new event queues docs
sjvans Mar 3, 2026
f7e6aae
add to menu
sjvans Mar 3, 2026
4b71456
stash
sjvans Mar 17, 2026
78db55c
review
sjvans Mar 17, 2026
b4d9dcc
Merge branch 'main' into event-queues
sjvans Mar 17, 2026
da169e8
Merge branch 'main' into event-queues
sjvans May 20, 2026
0f47a64
Merge branch 'main' into event-queues
sjvans Jun 1, 2026
ceaa6dc
Event Queues
sjvans Jun 1, 2026
2ab58b6
Merge branch 'main' into event-queues-reconciled
sjvans Jun 1, 2026
d4a33f0
some restructuring
sjvans Jun 1, 2026
d56b29e
New section ordering
sjvans Jun 2, 2026
7b0a38b
rm custom anchors
sjvans Jun 2, 2026
42fd054
How to Use + Next Steps
sjvans Jun 2, 2026
1b5cb99
svg diagrams (instead of mermaid)
sjvans Jun 2, 2026
4c4ce70
restructure
sjvans Jun 2, 2026
a2be792
Merge branch 'main' into event-queues-reconciled
sjvans Jun 2, 2026
d3de7a4
review
sjvans Jun 2, 2026
e7ea8a6
add .claude/ to gitignore
sjvans Jun 3, 2026
07e0015
initial Java and Node.js Event Queues docs
sjvans Jun 3, 2026
aba2123
put event queues as l1 before fiori
sjvans Jun 3, 2026
089727e
Merge branch 'main' into event-queues-reconciled
sjvans Jun 8, 2026
a41dc63
stash
sjvans Jun 9, 2026
852a19b
review
sjvans Jun 9, 2026
a4d3f2c
outbox -> callbacks
sjvans Jun 10, 2026
2cd727b
Pub/Sub vs. Event Queues
sjvans Jun 11, 2026
b2b5b26
broker redelivery
sjvans Jun 11, 2026
ef45ab6
bullets
sjvans Jun 12, 2026
17d23f9
always singletons
sjvans Jun 12, 2026
62a38bd
BookingCreated
sjvans Jun 12, 2026
67cbf6b
java scheduling api
sjvans Jun 12, 2026
9df0291
formating, highlighting, etc.
sjvans Jun 15, 2026
1e355f6
by config, error handling, config options
sjvans Jun 15, 2026
ad8fc71
Configuration
sjvans Jun 15, 2026
3c6498a
rm Manual Processing + Stack Differences at a Glance
sjvans Jun 15, 2026
1132a1c
Operations
sjvans Jun 15, 2026
29fdc88
Observability
sjvans Jun 15, 2026
4007893
diagram
sjvans Jun 15, 2026
c3220fc
rm _event-queues
sjvans Jun 15, 2026
569660e
Review
sjvans Jun 15, 2026
caaa526
stack reviews, srv.schedule() vs cds.queued(srv).send()
sjvans Jun 16, 2026
b937802
review
sjvans Jun 16, 2026
e17fe2a
Merge branch 'main' into event-queues-reconciled
sjvans Jun 16, 2026
8f0c34a
DefaultOutboxUnordered
sjvans Jun 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ dist/
.DS_Store
.idea
*.iml
.claude/
2 changes: 1 addition & 1 deletion guides/deploy/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Build tasks are derived from the CDS configuration and project context. By defau
- _db/_, _srv/_, _app/_ — default root folders of a CAP project
- _fts/_ and its subfolders when using [feature toggles](../extensibility/feature-toggles#enable-feature-toggles)
- CDS model folders and files defined by [required services](../../node.js/cds-env#services)
- Built-in examples: [persistent queue](../../node.js/queue#persistent-queue) or [MTX-related services](../multitenancy/mtxs#mtx-services-reference)
- Built-in examples: [event queue](../../node.js/event-queues#configuration) or [MTX-related services](../multitenancy/mtxs#mtx-services-reference)
- Explicit `src` folder configured in the build task


Expand Down
10 changes: 5 additions & 5 deletions guides/events/_menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# [Core Concepts](core-concepts)
# [Event Queues](event-queues)
# [Messaging](messaging)
# [Apache Kafka](../../../guides/events/apache-kafka) <!-- INTERNAL -->
# [Advanced Event Mesh](is-aem)
# [SAP Event Mesh](event-mesh)
# [SAP Event Hub](event-hub)
# [Events from S/4](s4)
# [Apache Kafka](../../../guides/events/apache-kafka) <!-- INTERNAL -->
# [Advanced Event Mesh](is-aem)
# [SAP Event Mesh](event-mesh)
# [SAP Event Hub](event-hub)
# [Events from S/4](s4)
106 changes: 106 additions & 0 deletions guides/events/assets/event-queues-motivation.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<mxfile host="Electron">
<diagram name="Page-1" id="46z46xmNzj30f8AApKfU">
<mxGraphModel dx="1294" dy="705" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="sVXAEm2ftBvj8J-BqPBj-13" parent="1" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;fillColor=#F0F0F0;" value="" vertex="1">
<mxGeometry height="200" width="162.5" x="298.75" y="180" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-12" parent="1" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;fillColor=#F0F0F0;" value="" vertex="1">
<mxGeometry height="200" width="162.5" x="97.5" y="180" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-31" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=light-dark(#F8CECC,#D5E8D4);gradientColor=none;fillStyle=auto;strokeColor=none;opacity=50;" value="&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;High Risk of Inconsistent Data" vertex="1">
<mxGeometry height="150" width="400" x="80" y="260" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-17" parent="1" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;fillColor=#F0F0F0;" value="" vertex="1">
<mxGeometry height="200" width="162.5" x="731.25" y="180" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-18" parent="1" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;fillColor=#F0F0F0;" value="" vertex="1">
<mxGeometry height="200" width="162.5" x="530" y="180" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-30" parent="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=light-dark(#D5E8D4,#D5E8D4);gradientColor=none;fillStyle=auto;strokeColor=none;opacity=50;" value="&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;Eventual Consistency" vertex="1">
<mxGeometry height="150" width="400" x="510" y="260" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-1" parent="1" style="ellipse;whiteSpace=wrap;html=1;" value="Database" vertex="1">
<mxGeometry height="80" width="120" x="120" y="280" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-8" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Service A" vertex="1">
<mxGeometry height="40" width="120" x="120" y="200" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-9" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Service B" vertex="1">
<mxGeometry height="40" width="120" x="320" y="200" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-10" edge="1" parent="1" source="sVXAEm2ftBvj8J-BqPBj-8" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="sVXAEm2ftBvj8J-BqPBj-1" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="390" y="390" as="sourcePoint" />
<mxPoint x="440" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-11" edge="1" parent="1" source="sVXAEm2ftBvj8J-BqPBj-8" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" target="sVXAEm2ftBvj8J-BqPBj-9" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="330" y="300" as="sourcePoint" />
<mxPoint x="330" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-14" parent="1" style="ellipse;whiteSpace=wrap;html=1;" value="Database" vertex="1">
<mxGeometry height="80" width="120" x="320" y="280" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-16" edge="1" parent="1" source="sVXAEm2ftBvj8J-BqPBj-9" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="sVXAEm2ftBvj8J-BqPBj-14" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="390" y="390" as="sourcePoint" />
<mxPoint x="440" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-19" parent="1" style="ellipse;whiteSpace=wrap;html=1;" value="Database&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;" vertex="1">
<mxGeometry height="80" width="120" x="552.5" y="280" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-20" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Service A" vertex="1">
<mxGeometry height="40" width="120" x="552.5" y="200" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-21" parent="1" style="rounded=1;whiteSpace=wrap;html=1;" value="Service B" vertex="1">
<mxGeometry height="40" width="120" x="752.5" y="200" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-22" edge="1" parent="1" source="sVXAEm2ftBvj8J-BqPBj-20" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;" target="sVXAEm2ftBvj8J-BqPBj-26" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<Array as="points">
<mxPoint x="613" y="260" />
<mxPoint x="540" y="260" />
<mxPoint x="540" y="325" />
</Array>
<mxPoint x="822.5" y="390" as="sourcePoint" />
<mxPoint x="872.5" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-24" parent="1" style="ellipse;whiteSpace=wrap;html=1;" value="Database" vertex="1">
<mxGeometry height="80" width="120" x="752.5" y="280" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-25" edge="1" parent="1" source="sVXAEm2ftBvj8J-BqPBj-21" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="sVXAEm2ftBvj8J-BqPBj-24" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="822.5" y="390" as="sourcePoint" />
<mxPoint x="872.5" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-26" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.direct_data;whiteSpace=wrap;" value="&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Event Queue&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;" vertex="1">
<mxGeometry height="30" width="100" x="562.5" y="310" as="geometry" />
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-27" edge="1" parent="1" source="sVXAEm2ftBvj8J-BqPBj-26" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitPerimeter=0;strokeWidth=3;" target="sVXAEm2ftBvj8J-BqPBj-21" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<Array as="points">
<mxPoint x="680" y="325" />
<mxPoint x="680" y="220" />
</Array>
<mxPoint x="610" y="250" as="sourcePoint" />
<mxPoint x="610" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="sVXAEm2ftBvj8J-BqPBj-29" edge="1" parent="1" source="sVXAEm2ftBvj8J-BqPBj-20" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="sVXAEm2ftBvj8J-BqPBj-19" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="530" y="170" as="sourcePoint" />
<mxPoint x="580" y="120" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
4 changes: 4 additions & 0 deletions guides/events/assets/event-queues-motivation.drawio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading