Skip to content

Commit 51e1e90

Browse files
committed
Aligning with event-driven processes CodeJam
1 parent b69dbcf commit 51e1e90

29 files changed

+170
-88
lines changed

assets/codejam-exercises.drawio

+1-1
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,7 @@
829829
<mxCell id="6Rm5iNvxew5maF41rRJ0-18" value="&lt;font face=&quot;arial&quot; style=&quot;font-size: 16px;&quot;&gt;&lt;b style=&quot;font-size: 16px;&quot;&gt;Subaccount&lt;/b&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;fontColor=#1d2d3e;fontFamily=Helvetica;" parent="6Rm5iNvxew5maF41rRJ0-1" vertex="1">
830830
<mxGeometry x="-689.0018148820327" y="-607.3604584304585" width="120" height="30" as="geometry" />
831831
</mxCell>
832-
<mxCell id="6Rm5iNvxew5maF41rRJ0-21" value="&lt;div style=&quot;&quot;&gt;&lt;code&gt;&lt;i&gt;&lt;font style=&quot;font-size: 10px;&quot; face=&quot;Courier New&quot;&gt;sap/S4HANAOD/S4D/ce/sap/s4/&lt;br&gt;beh/businesspartner/v1/&lt;br&gt;BusinessPartner/Created/v1&lt;/font&gt;&lt;/i&gt;&lt;/code&gt;&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[[0,0.5,0,0,0],[0.5,0,0,0,0],[0.5,1,0,0,0],[1,0.5,0,0,0]];autosize=1;strokeColor=none;fillColor=none;fontSize=12;fontColor=#556B82;fontFamily=Helvetica;" parent="6Rm5iNvxew5maF41rRJ0-1" vertex="1">
832+
<mxCell id="6Rm5iNvxew5maF41rRJ0-21" value="&lt;div style=&quot;&quot;&gt;&lt;code&gt;&lt;i&gt;&lt;font style=&quot;font-size: 10px;&quot; face=&quot;Courier New&quot;&gt;default/sap.s4/S4D/ce/sap/s4/&lt;br&gt;beh/businesspartner/v1/&lt;br&gt;BusinessPartner/Created/v1&lt;/font&gt;&lt;/i&gt;&lt;/code&gt;&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[[0,0.5,0,0,0],[0.5,0,0,0,0],[0.5,1,0,0,0],[1,0.5,0,0,0]];autosize=1;strokeColor=none;fillColor=none;fontSize=12;fontColor=#556B82;fontFamily=Helvetica;" parent="6Rm5iNvxew5maF41rRJ0-1" vertex="1">
833833
<mxGeometry x="-642" y="-310" width="190" height="60" as="geometry" />
834834
</mxCell>
835835
<mxCell id="RJQl-pWOJh8nGU6MHOe1-0" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzMzLjg3NCAzOS44MzIiIGlkPSJhIj48ZGVmcz48bGluZWFyR3JhZGllbnQgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHkyPSIzOS44MzIiIHgyPSI0MC4yNTgiIHkxPSIwIiB4MT0iNDAuMjU4IiBpZD0iYiI+PHN0b3Agc3RvcC1jb2xvcj0iIzAwYjhmMSIgb2Zmc2V0PSIwIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzAwYjVlZiIgb2Zmc2V0PSIuMDE2Ii8+PHN0b3Agc3RvcC1jb2xvcj0iIzBkOTBkOCIgb2Zmc2V0PSIuMzA4Ii8+PHN0b3Agc3RvcC1jb2xvcj0iIzE2NzVjOCIgb2Zmc2V0PSIuNTc4Ii8+PHN0b3Agc3RvcC1jb2xvcj0iIzFjNjRiZSIgb2Zmc2V0PSIuODE3Ii8+PHN0b3Agc3RvcC1jb2xvcj0iIzFlNWZiYiIgb2Zmc2V0PSIxIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBvbHlsaW5lIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNiKSIgcG9pbnRzPSIwIDM5LjgzMiA0MC42OTIgMzkuODMyIDgwLjUxNyAwIDAgMCAwIDM5LjgzMiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI2ZmZiIgZD0ibTQ3Ljc4Miw3LjQ4OWwtNy45MjUtLjAwNXYxOC44NDVsLTYuOTI0LTE4Ljg0NWgtNi44NjVsLTUuOTEyLDE1Ljc1OWMtLjYzLTMuOTczLTQuNzQtNS4zNDUtNy45NzQtNi4zNzQtMi4xMzUtLjY4Ni00LjQwMS0xLjY5NC00LjM4LTIuODA5LjAxNy0uOTE1LDEuMjE1LTEuNzY1LDMuNTg5LTEuNjM3LDEuNTk1LjA4NCwzLjAwMS4yMTMsNS44LDEuNTYzbDIuNzUzLTQuNzk1Yy0yLjU1NS0xLjMtNi4wODYtMi4xMjEtOC45NzgtMi4xMjRoLS4wMTdjLTMuMzc0LDAtNi4xODUsMS4wOTMtNy45MjgsMi44OTQtMS4yMTQsMS4yNTgtMS44NjksMi44NTYtMS44OTYsNC42MjMtLjA0NCwyLjQzMi44NDgsNC4xNTcsMi43MjEsNS41MzMsMS41ODMsMS4xNiwzLjYwNiwxLjkxMiw1LjM5LDIuNDY1LDIuMjAxLjY4MSwzLjk5NiwxLjI3NCwzLjk3NSwyLjUzOS0uMDE2LjQ1OS0uMTkxLjg4OC0uNTIxLDEuMjM2LS41NDguNTY2LTEuMzkxLjc3OS0yLjU1NS43OTktMi4yNDQuMDQ4LTMuOTEtLjMwMy02LjU2Mi0xLjg3bC0yLjQ0OCw0Ljg2MWMyLjY0NCwxLjUwNiw1Ljc3NiwyLjM4OCw4Ljk3MiwyLjM4OGwuNDExLS4wMDZjMi43ODItLjA1LDUuMDI2LS44NDIsNi44Mi0yLjI4Ni4xMDMtLjA4MS4xOTYtLjE2Ni4yOTEtLjI1bC0uNzk1LDIuMTIzaDcuMmwxLjIwOC0zLjY3NGMxLjI2NS40MzMsMi43MDQuNjcxLDQuMjMyLjY3MSwxLjQ4NywwLDIuODg5LS4yMjksNC4xMzEtLjYzNWwxLjE2NCwzLjYzN2gxMS43NDJ2LTcuNjA3aDIuNTYxYzYuMTg4LDAsOS44NTEtMy4xNTQsOS44NTEtOC40MzYsMC01Ljg4NS0zLjU1Ny04LjU4NS0xMS4xMzItOC41ODVabS0xOC4zMTcsMTYuMTI0Yy0uOTI1LDAtMS43OTItLjE2LTIuNTM5LS40NDNsMi41MTItNy45MjZoLjA0OGwyLjQ2OCw3Ljk0OGMtLjc0Mi4yNjMtMS41ODkuNDIxLTIuNDg4LjQyMVptMTguNzgzLTQuNTUzaC0xLjc0NnYtNi4zODZoMS43NDZjMi4zMjgsMCw0LjE4NS43NzMsNC4xODUsMy4xNTEsMCwyLjQ2MS0xLjg1NywzLjIzNi00LjE4NSwzLjIzNiIvPjxwYXRoIGZpbGw9IiMwMDJhODYiIGQ9Im03OC42MDUsMjguMzlsMi45OTEtMy4wMDhjMS41MTMsMS45NywzLjYyNCwzLjI5LDcuMTA3LDMuMjksMi44NSwwLDUuMDE0LS45NSw1LjAxNC0zLjI3MiwwLTIuNDQ1LTIuNDk4LTMuMTQ5LTUuODc2LTMuOTc2LTMuODg4LS45MzMtOC4xMTEtMi4yMTctOC4xMTEtNy4zODksMC00Ljg3NCwzLjk5NC03LjAwMiw5LjEzMS03LjAwMiw0LjA0NiwwLDYuOTY3LDEuMzM3LDguODg1LDMuNTcybC0yLjkwMywyLjkwM2MtMS41My0xLjc0Mi0zLjQzMS0yLjY5Mi02LjE0LTIuNjkyLTMuMDYxLDAtNC4zODEsMS4yNjctNC4zODEsMi45NTYsMCwyLjIzNCwyLjI3LDIuODMzLDUuNDAxLDMuNjI1LDQuMTcuOTg1LDguNjA0LDIuMTY0LDguNjA0LDcuNjUzLDAsNC40NTEtMy4zMjUsNy40OTUtOS43MTEsNy40OTUtNC42OCwwLTcuOTg3LTEuNTY2LTEwLjAxMS00LjE1MloiLz48cGF0aCBmaWxsPSIjMDAyYTg2IiBkPSJtMTA5Ljk0LDYuMjc1aDMuODdsLTEwLjg1NCwyNy4wNDFoLTMuODcxbDEwLjg1NS0yNy4wNDFaIi8+PHBhdGggZmlsbD0iIzAwMmE4NiIgZD0ibTEyMy40NTYsMjcuMjk5aC0xMS4zNjV2LTMuNjc3bDEwLjgxOS0xNi4yMjFoNC43MTV2MTYuMjU2aDMuMzA4djMuNjQyaC0zLjMwOHY0Ljg5MWgtNC4xNjl2LTQuODkxWm0wLTMuNjQydi04LjA0YzAtLjk4NSwwLTIuMTgyLjA3LTMuMjItLjMzNS42MTYtLjg5NywxLjQ3OC0xLjI2NywyLjA3NmwtNS4wNjcsNy42Yy0uMjk5LjQ0LS43OTIsMS4xNzktMS4wOTEsMS41ODNoNy4zNTRaIi8+PHBhdGggZmlsbD0iIzAwMmE4NiIgZD0ibTEzNC4xMjQsNy40MDFoNC42OHY5LjgxN2gxMC45NzlWNy40MDFoNC42OTd2MjQuNzg5aC00LjY5N3YtMTAuNjYyaC0xMC45Nzl2MTAuNjYyaC00LjY4VjcuNDAxWiIvPjxwYXRoIGZpbGw9IiMwMDJhODYiIGQ9Im0xNjUuODUsNy40MDFoNS40NzJsOS4wOTYsMjQuNzg5aC00LjgwM2wtMi4wMjMtNi4wMzVoLTEwLjExNmwtMi4wMjMsNi4wMzVoLTQuNjhsOS4wNzgtMjQuNzg5Wm02LjQ3NSwxNC45NzJsLTIuNTMzLTcuNTY1Yy0uNDIzLTEuMjMxLTEuMDAzLTIuOTAzLTEuMjY4LTMuODE4LS4yNjQuOTE1LS44MDksMi41ODYtMS4yMzEsMy44MThsLTIuNTMzLDcuNTY1aDcuNTY1WiIvPjxwYXRoIGZpbGw9IiMwMDJhODYiIGQ9Im0xODIuNjkzLDcuNDAxaDUuNTA3bDExLjIwNywxOS41NDZjLS4wODgtMS4wMDMtLjE1OC0zLjI1NS0uMTU4LTUuNDU0VjcuNDAxaDQuMjR2MjQuNzg5aC01LjY0N2wtMTEuMDY2LTE5LjNjLjA4OCwxLjAwMy4xNTgsMy4yMzcuMTU4LDUuNDU0djEzLjg0NmgtNC4yNFY3LjQwMVoiLz48cGF0aCBmaWxsPSIjMDAyYTg2IiBkPSJtMjE0Ljg1OSw3LjQwMWg1LjQ3Mmw5LjA5NiwyNC43ODloLTQuODAzbC0yLjAyMy02LjAzNWgtMTAuMTE2bC0yLjAyMyw2LjAzNWgtNC42OGw5LjA3OC0yNC43ODlabTYuNDc1LDE0Ljk3MmwtMi41MzMtNy41NjVjLS40MjMtMS4yMzEtMS4wMDMtMi45MDMtMS4yNjgtMy44MTgtLjI2NC45MTUtLjgwOSwyLjU4Ni0xLjIzMSwzLjgxOGwtMi41MzMsNy41NjVoNy41NjVaIi8+PHBhdGggZmlsbD0iIzAwMmE4NiIgZD0ibTIzNy4yNSwxOS43ODdjMC04LjY3Myw1LjU2LTEyLjc1NSwxMi42MTQtMTIuNzU1LDQuMjkzLDAsNy40OTUsMS40OTYsOS43NDcsNC4wODJsLTMuMTQ5LDMuMTQ5Yy0xLjQyNS0xLjg0Ny0zLjQ0OC0zLjA3OS02LjU4LTMuMDc5LTQuODkxLDAtNy43OTQsMi45OTEtNy43OTQsOC42MDNzMi45MDMsOC42MjEsNy43OTQsOC42MjFjMy4xMzIsMCw1LjE1NS0xLjIzMSw2LjU4LTMuMDc5bDMuMTQ5LDMuMTQ5Yy0yLjIzNCwyLjU2OS01LjQ3Miw0LjA2NC05Ljc0Nyw0LjA2NC03LjA1NSwwLTEyLjYxNC00LjA2NC0xMi42MTQtMTIuNzU1WiIvPjxwYXRoIGZpbGw9IiMwMDJhODYiIGQ9Im0yNjIuMDg3LDI3LjQ1OFY1Ljk1OGg0LjQ2OXYyMC43MjVjMCwxLjQ5Ni4zNTIsMi4wMjMsMS42MzYsMi4wMjMuNTQ2LDAsMS4wMjEtLjA4OCwxLjUzMS0uMTk0djMuNjc3Yy0uNzA0LjE3Ni0xLjY1NC4zMTctMi42MjIuMzE3LTMuNjI0LDAtNS4wMTQtMS43MjQtNS4wMTQtNS4wNDlaIi8+PHBhdGggZmlsbD0iIzAwMmE4NiIgZD0ibTI3MS40NDQsMjIuNTY3YzAtNi4wNyw0LjA0Ny05Ljk5Myw5LjgtOS45OTNzOS43OTksMy45MjMsOS43OTksOS45OTMtNC4wNDYsOS45NzYtOS43OTksOS45NzYtOS44LTMuOTA2LTkuOC05Ljk3NlptMTQuOTM3LDBjMC00LjE1Mi0yLjE0Ni02LjM2OS01LjEzNy02LjM2OXMtNS4xMzgsMi4yMTctNS4xMzgsNi4zNjksMi4xNDYsNi4zNjksNS4xMzgsNi4zNjksNS4xMzctMi4yMzQsNS4xMzctNi4zNjlaIi8+PHBhdGggZmlsbD0iIzAwMmE4NiIgZD0ibTI5NC4zNDYsMjUuNjI4di0xMi42ODVoNC40Njl2MTEuNjI5YzAsMi41NjkuODgsNC4xNTIsMy40NjYsNC4xNTIsMi42NTYsMCw0LjMxMS0xLjc3Nyw0LjMxMS01LjAxNHYtMTAuNzY3aDQuNDM0djE5LjI0N2gtNC4yOTN2LTQuMDY0aC0uMDg4Yy0uODgsMi4yMTctMi42MjEsNC40MTYtNi4zMTYsNC40MTYtNC4xMTYsMC01Ljk4MS0yLjgxNS01Ljk4MS02LjkxNVoiLz48cGF0aCBmaWxsPSIjMDAyYTg2IiBkPSJtMzE0LjUzOSwyMi41NjdjMC02LDMuMDA5LTkuOTkzLDcuOTg3LTkuOTkzLDMuNzQ3LDAsNS45MTEsMi4wMDYsNi44MDksNC4xODhoLjA4OFY1Ljk1OGg0LjQ1MXYyNi4yMzJoLTQuMjkzdi0zLjk1OGgtLjA4OGMtLjkzMiwyLjIxNy0yLjcyNyw0LjMxMS02Ljc5MSw0LjMxMS00Ljg5MSwwLTguMTYzLTMuNzgzLTguMTYzLTkuOTc2Wm0xNC45MTksMGMwLTQuMTUyLTIuMTI5LTYuMzY5LTUuMTE5LTYuMzY5LTMuMDA5LDAtNS4xMzgsMi4yMTctNS4xMzgsNi4zNjlzMi4xMjksNi4zNjksNS4xMzgsNi4zNjljMi45OSwwLDUuMTE5LTIuMjM0LDUuMTE5LTYuMzY5WiIvPjwvc3ZnPg==;" parent="6Rm5iNvxew5maF41rRJ0-1" vertex="1">

exercises/02-cloudevents/README.md

+9-11
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,15 @@ A CloudEvent message may include a payload but this is not required. If included
8080

8181
```json
8282
{
83-
"specversion": "1.0",
84-
"type": "sap.dmo.dvh.Vehicle.Changed.v1",
85-
"source": "/eu10/sap.dmo.dvh",
86-
"subject": "808E6E30B65149978A443429B29FB300",
87-
"id": "a823e884-5edc-4194-a81a-f3a3632417ee",
88-
"time": "2018-04-08T08:31:00",
89-
"datacontenttype": "application/json",
90-
"sappassport": "string",
91-
"data": {
92-
"BusinessPartner": "10003245"
93-
}
83+
"type": "sap.s4.beh.businesspartner.v1.BusinessPartner.Changed.v1",
84+
"specversion": "1.0",
85+
"source": "/default/sap.s4.beh/244572008",
86+
"id": "194780e0-b5db-1ede-b58a-4550178dff9e",
87+
"time": "2024-02-26T02:53:06Z",
88+
"datacontenttype": "application/json",
89+
"data": {
90+
"BusinessPartner": "1000667"
91+
}
9492
}
9593
```
9694

exercises/04-event-driven-architectures/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ A subscriber (consumer), is generally only interested in a subset of the message
3030

3131
### Topic-based filtering
3232

33-
We mentioned before how target systems can subscribe to events by specifying a topic they are interested in.... some event brokers will allow subscribers to subscribe to topics by using wildcards (*) and they will be able to receive only the events they are interested in, which can be for different topics. For example, let's assume we have an SAP S/4HANA with the name `S4D` and it publishes the Business Partner create and change on the following topics: `sap/S4HANAOD/S4D/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/Created/v1` and `sap/S4HANAOD/S4D/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1`. A subscriber system could subscribe to both topics using a wildcard, e.g. `sap/S4HANAOD/S4D/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/*/v1` and receive the messages for both event types. In this case, we are filtering the message by topics.
33+
We mentioned before how target systems can subscribe to events by specifying a topic they are interested in. Some event brokers will allow subscribers to subscribe to topics by using wildcards (*) and they will be able to receive only the events they are interested in, which can be for different topics. For example, let's assume we have an SAP S/4HANA with the name `S4D` and it publishes the Business Partner create and change on the following topics: `default/sap.s4/S4D/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/Created/v1` and `default/sap.s4/S4D/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/Changed/v1`. A subscriber system could subscribe to both topics using a wildcard, e.g. `default/sap.s4/S4D/ce/sap/s4/beh/businesspartner/v1/BusinessPartner/*/v1` and receive the messages for both event types. In this case, we are filtering the message by topics.
3434

3535
### Content-based filtering
3636

0 commit comments

Comments
 (0)