living without rest - amazon web services€¦ · 22 join developers.redhat.com id name phone...
TRANSCRIPT
![Page 1: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/1.jpg)
Living without REST: Event-Driven Architecture
Edson Yanaga Director of Developer Experience @yanaga
![Page 2: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/2.jpg)
Edson Yanaga
@yanaga
![Page 3: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/3.jpg)
https://bit.ly/mono2microdb
![Page 4: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/4.jpg)
Code is easy, state is hard
![Page 6: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/6.jpg)
Latency Availability
Performance
![Page 7: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/7.jpg)
Cache and/or Polling
![Page 8: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/8.jpg)
Eventual Consistency
![Page 10: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/10.jpg)
How was data managed 10 years ago?
![Page 11: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/11.jpg)
Terrified about Entity Beans
![Page 12: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/12.jpg)
Hibernate to the rescue!
![Page 13: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/13.jpg)
Replacing XML with @Annotations
![Page 14: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/14.jpg)
POJOs as an (Anemic) Domain Model
![Page 15: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/15.jpg)
Event Sourcing
![Page 16: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/16.jpg)
Join developers.redhat.com 16
ID CUSTOMER_ID BALANCE
1001 990 1000
1002 991 0
1003 991 -500
1004 992 300
Account
![Page 17: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/17.jpg)
Join developers.redhat.com 17
ID ACCOUNT_ID TIMESTAMP OP AMOUNT
1 1001 1234567890 C 1000
2 1002 1234567891 C 200
3 1001 1234567900 D 300
4 1001 1234567995 D 150
Transactions
![Page 18: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/18.jpg)
Enables you to think in the Events that happened in the
system
![Page 19: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/19.jpg)
CQS (Command-Query Separation)
“Asking a question should not change the answer” (Bertrand Meyer)
![Page 20: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/20.jpg)
CQRS (Command Query
Responsibility Segregation)
![Page 21: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/21.jpg)
Join developers.redhat.com 21
CQRS (Command Query Responsibility Segregation)
![Page 22: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/22.jpg)
Join developers.redhat.com 22
ID NAME PHONE ADDRESS BIRTH
1 Burr 222-222-2323 901 South St 12/12/1968
2 Edson 222-333-3434 112 North Dr 03/03/1978
3 John 111-456-4545 666 Iron St 06/06/1966
4 Doe 333-789-7890 777 Boeing Dr 07/07/1977
INSERT INTO CUSTOMER(ID,NAME,PHONE,ADDRESS,BIRTH);
SELECT * FROM CUSTOMER;
![Page 23: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/23.jpg)
Join developers.redhat.com 23
SELECT ID, NAME, PHONE FROM CUSTOMER;
SELECT ID, NAME, ADDRESS FROM CUSTOMER;
![Page 25: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/25.jpg)
Join developers.redhat.com 25
SELECT ID, NAME, AGE, AVG_BILL FROM CUSTOMER_REPORT_VIEW;
SELECT ID, PHONE, LAST_PAYMENT_AMOUNT FROM CUSTOMER_BILLING_VIEW;
![Page 26: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/26.jpg)
CQRS & Event Sourcing
![Page 27: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/27.jpg)
Join developers.redhat.com 27
ID CUSTOMER_ID BALANCE
1001 990 10001002 991 0
1003 991 -500
1004 992 300
Account
ID ACCOUNT_ID TIMESTAMP OP AMOUNT
1 1001 1234567890 C 1000
2 1002 1234567891 C 200
3 1001 1234567900 D 300
4 1001 1234567995 D 150
Transactions
![Page 28: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/28.jpg)
Join developers.redhat.com 28
ID CUSTOMER_ID BALANCE
1001 990 10001002 991 0
1003 991 -500
1004 992 300
Account
ID ACCOUNT_ID TIMESTAMP OP AMOUNT
1 1001 1234567890 C 1000
2 1002 1234567891 C 200
3 1001 1234567900 D 300
4 1001 1234567995 D 150
Transactions
READ MODEL
WRITE MODEL
![Page 29: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/29.jpg)
Why CQRS?
![Page 30: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/30.jpg)
Performance
![Page 31: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/31.jpg)
Distribution Availability Integration Analytics
![Page 32: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/32.jpg)
Join developers.redhat.com 32
Canonical Source of Information (Write Data Store)
![Page 33: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/33.jpg)
Join developers.redhat.com 33
Canonical Source of Information (Write Data Store)
Read Data Store Read Data Store
![Page 34: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/34.jpg)
Join developers.redhat.com 34
Canonical Source of Information (Write Data Store)
Read Data Store Read Data Store
Events Events
![Page 36: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/36.jpg)
Event-Driven Architecture
![Page 37: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/37.jpg)
Events are facts that happened in the
system
![Page 38: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/38.jpg)
Low-level Events vs
Domain-level Events
![Page 39: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/39.jpg)
Key Technologies
![Page 40: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/40.jpg)
ActiveMQ Artemis Kafka Camel
Debezium Quarkus
![Page 41: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/41.jpg)
Join developers.redhat.com 41
bit.ly/eda-tutorial
![Page 43: Living without REST - Amazon Web Services€¦ · 22 Join developers.redhat.com ID NAME PHONE ADDRESS BIRTH 1 Burr 222-222-2323 901 South St 12/12/1968 2 Edson 222-333-3434 112 North](https://reader035.vdocument.in/reader035/viewer/2022062915/5e981ed476d2ca607e158bb1/html5/thumbnails/43.jpg)
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
Thank you!