2. Allard Buijze
Software Architect bij Trifork (Amsterdam)
Organsatoren van GOTO & QCON
15 jaar web development ervaring
Gelooft sterk in DDD en CQRS
Ontwikkelaar en initiatiefnemer van Axon Framework
Java Framework voor schaalbaarheid en performance
www.axonframework.org
3. Een kleine terugblik…
1990
0,3% van Nederland had internettoegang
0.001 PB / Maand data-transfer
2000
40% internettoegang
86 PB / Maand
2012
93% internettoegang
> 30 000 PB / Maand
Waarvan 885 PB / Maand mobiel
17. Event Driven – Amdahl’s Law
The speedup of a program using multiple
processors in parallel computing is limited by
the sequential fraction of the program.
18. Procedural – Not parallelizable...
public void doMyBusinessLogic() {
doSomethingInternally();
externalComponent1.doSomethingRelated();
externalComponent2.doSomethingElse();
return someResult;
}
26. Location transparency – embrace the network
service.someMethod(someParameter, new Callback() {
public void onResult(Result result) {
// do stuff with result
}
public void onError(Exception e) {
// handle failure
}
});
28. De kwaliteiten van een reactieve applicatie
Responsive
Scalable
Reactive
EventDriven
Resilient
29. Resilient
Merriam Webster:
• the ability of a substance or object to spring back into shape
• the capacity to recover quickly from difficulties
30. Voorbeelden genoeg…
“Barclays Bank System Crashes” (2012)
“Lloyds' banking systems failure hits 22m retail customers” (2012)
“Failure of American Airlines reservations system grounds all flights” (2013)
low-level primitives (locking, threading) are part of infrastructureApplication code doesn’t expose “real infrastructure”Loose coupling between components