real-time user interfaces - sosm gewoon makkelijker - allard buijze
TRANSCRIPT
![Page 4: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/4.jpg)
Real-time user interfaces Omdat het dingen makkelijker bleek te maken
Allard Buijze – [email protected]
JFall 2014
![Page 5: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/5.jpg)
Allard Buijze
CTO van Trifork Amsterdam
Organsatoren van GOTO & QCON
Gelooft sterk in DDD en CQRS
Ontwikkelaar en initiatiefnemer van Axon Framework
Java Framework voor schaalbaarheid en performance
www.axonframework.org
![Page 6: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/6.jpg)
![Page 7: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/7.jpg)
http://www.anwb.nl/bestanden/content/gallery/anwb/etalages-en-productheaders/wegenwacht/wegenwacht.jpg
![Page 8: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/8.jpg)
http://www.avex.nl/sites/avex.be/files/img_2774_0.jpg
![Page 9: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/9.jpg)
![Page 10: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/10.jpg)
![Page 11: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/11.jpg)
![Page 12: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/12.jpg)
![Page 13: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/13.jpg)
![Page 14: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/14.jpg)
![Page 15: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/15.jpg)
Voertuiggegevens
Ledenbestand
Geo data
Contractgegevens
Rechthebbendheid
Inkoopsysteem
Facturering
![Page 16: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/16.jpg)
Real-time?
![Page 17: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/17.jpg)
WebSockets
?
![Page 18: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/18.jpg)
WebSockets Stomp
Headers
Payload
![Page 19: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/19.jpg)
![Page 20: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/20.jpg)
SockJS
![Page 21: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/21.jpg)
!
![Page 22: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/22.jpg)
!
Stuur Events naar UI
Initiële state duurt te lang
![Page 23: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/23.jpg)
! !
Stuur Events naar UI Kopie van model op server
Dubbele logica, in twee talen onderhoud
![Page 24: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/24.jpg)
!
Kopie van model op server Stuur model naar UI na wijziging
Groot model. Zonde van dataverkeer.
![Page 25: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/25.jpg)
! Δ
Kopie van model op server Stuur delta naar client
![Page 26: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/26.jpg)
{
"op": "add",
"path": "/biscuits/1",
"value": {"name": "Ginger Nut"}
}
{
"op": "remove",
"path": "/biscuits“
}
Json Patch (RFC 6902)
![Page 27: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/27.jpg)
+ = add
remove
Json Patch
![Page 28: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/28.jpg)
Δ = add
remove
Json Patch
![Page 29: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/29.jpg)
![Page 30: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/30.jpg)
![Page 31: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/31.jpg)
![Page 32: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/32.jpg)
>>> SUBSCRIBE id:sub-4 destination:/query/cases/26b3013d-e847-4ac9-894f-85e6c51969a1
![Page 33: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/33.jpg)
<<< MESSAGE destination:/query/cases/26b3013d-e847-4ac9-894f-85e6c51969a1 action:patch message-id:1-148 content-type:application/json;charset=UTF-8 query-result-type:update subscription:sub-4 type:value content-length:65 [{"op":"replace","path":"/voertuig/kmstandMelding","value":null}]
![Page 34: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/34.jpg)
S1
Verzenden initiële data
![Page 35: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/35.jpg)
Hulpverleningsplan MetaData Melder Voertuig
![Page 36: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/36.jpg)
![Page 37: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/37.jpg)
>>> SUBSCRIBE id:sub-4 destination:/query/cases/26b3013d-e847-4ac9-894f-85e6c51969a1
![Page 38: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/38.jpg)
<<< MESSAGE destination:/query/cases/26b3013d-e847-4ac9-894f-85e6c51969a1 action:extend message-id:1-145 content-type:application/json;charset=UTF-8 query-result-type:initial subscription:sub-4 type:value send-only-to:1 content-length:737 {"samenvatting":{"label":{"labelId":"Opel Assistance"}, "caseNummer":"14103100570", "externReferentienummer":null,"klantRegisseurUsername":"p280323","voertuig":{"kenteken":"90SNSV","merk":"opel","type":"ASTRA"},"polishouder":null,"telefoonnummer":"+31612345678","meldergegevens":{"naam":"Pechögel","aanhef":"Dhr."},"contractName":null,"schadeDatum":"2014-10-31T08:30:33.997Z","meldingsDatum":"2014-10-31T08:30:34.082Z","storingsOmschrijving":null,"status":"INTAKE","redenAfsluiten":null,"voertuiglocatieDescription":null,"voertuiglocatieDescriptionSecondary":null,"pechlocatieDescription":null,"pechlocatieDescriptionSecondary":null,"productName":null,"spinLink":"https://spin.anwb.nl/ibu/hvd/Paginas/opel_assistance.aspx"}}
![Page 39: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/39.jpg)
!
√
![Page 40: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/40.jpg)
>>> SEND command-id:commandc31819f2-aafc-444c-ec37-771322ce7970 reply-to:/query/command-reply/cliente9687c33-7143-4d09-eb09-d6cd9203b6fd destination:/command/intake.voertuig.UpdateVoertuigGegevens content-length:553 {"caseId":"26b3013d-e847-4ac9-894f-85e6c51969a1","voertuig":{"kenteken":"90SNSV","merk":"opel","type":"ASTRA","kleur":"6","registratieLand":"NL","brandstof":"1","brandstof2":null,"chassisNummer":"W0L0AHL486513","meldCode":"5756","voertuigsoort":"1","kmstandMelding":null,"dealerOnderhouden":true,"kmstandLaatsteBeurt":25000,"datumLaatsteBeurt":"2014-10-09","automaat":null,"fourByFour":null,"lengte":425,"hoogte":146,"breedte":176,"gewicht":1130,"datumEersteToelating":"2006-03-16","datumVervalAPK":"2014-10-29","isWamVerzekerd":false,"aanhanger":null}}
![Page 41: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/41.jpg)
<<< MESSAGE command-id:commandc31819f2-aafc-444c-ec37-771322ce7970 destination:/query/command-reply/cliente9687c33-7143-4d09-eb09-d6cd9203b6fd message-id:1-153 content-type:application/json;charset=UTF-8 subscription:sub-2 type:success send-only-to:1 content-length:0
![Page 42: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/42.jpg)
![Page 43: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/43.jpg)
![Page 44: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/44.jpg)
topic
![Page 45: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/45.jpg)
topic
![Page 46: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/46.jpg)
topic
![Page 47: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/47.jpg)
http://www.staples.com/Staples-Easy-Button/product_606396
![Page 49: Real-time user interfaces - sosm gewoon makkelijker - Allard Buijze](https://reader033.vdocuments.site/reader033/viewer/2022052413/55a0b92e1a28abf0608b473e/html5/thumbnails/49.jpg)
Ook werken aan real-time systemen?
Trifork zoekt enthousiaste ontwikkelaars en architecten
Stuur een mailtje naar [email protected]
of spreek Allard aan tijdens JFall