final presentation ??.01 - aflux.org · final presentation??.01.2018 1. chair of software and...

72
Ioannis Varsamidakis Final Presentation ??.01.2018 1

Upload: others

Post on 22-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Ioannis Varsamidakis

Final Presentation

??.01.2018

1

Page 2: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 2

Page 3: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 3

Page 4: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 4

Page 5: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 5

Page 6: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 6

Page 7: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 7

Page 8: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 8

Page 9: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

12

Page 10: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 13

Page 11: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 14

source: http://www.ncta.com

Page 12: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 12

Page 13: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 13

Page 14: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 14

Page 15: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 15

Page 16: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

source: http://www.vitria.com

16

Page 17: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 17

Page 18: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

IoT Mashup tool

18

Page 19: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 19

Page 20: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 20

Page 21: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 21

Page 22: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 25

Page 23: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 23

Page 24: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

akka streams

24

Page 25: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

akka streams

25

Page 26: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 26

Page 27: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 27

Page 28: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 28

Page 29: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 29

Page 30: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

Akka

component

Akka Streams

componentAkka

component

Akka Streams

component

30

Page 31: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 31

Page 32: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 32

Page 33: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 33

Page 34: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 34

Page 35: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 35

Page 36: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 36

Page 37: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 37

Page 38: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 38

Page 39: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 39

Page 40: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 37

Page 41: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 41

Page 42: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 42

Page 43: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 43

Page 44: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 44

Page 45: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 45

Page 46: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

46

Page 47: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 47

Page 48: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 48

Page 49: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 49

Page 50: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 50

Page 51: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 51

Page 52: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 52

Page 53: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 53

Page 54: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 54

Method Responsiveness Settling time Scalability

No window Very slow Long Low

Tumbling window 50 Very fast Very long Very low

Tumbling window 300 Slow Very short High

Tumbling window 500 Slow None Very high

Sliding window 500 Slow None Very high

Page 55: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 55

Page 56: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 43

Page 57: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 46

Page 58: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 47

Page 59: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

https://mapr.com/ebooks/streaming-architecture/chapter-01-why-event-

streaming.html#ch01[2] Linear Mixed Models, May 2002 – John Fox

https://balamaci.ro/reactive-log-processing/

https://hackhands.com/overview-of-reactive-programming/

https://blog.redelastic.com/a-journey-into-reactive-streams-5ee2a9cd7e29

https://nodered.org/docs/creating-nodes/context

https://gist.github.com/staltz/868e7e9bc2a7b8c1f754

Icons: http://www.flaticon.com/

48

Page 60: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

akka streams project reactor

60

Page 61: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 61

Page 62: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 62

Page 63: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

Appendix - Reactive programming

Iterator Pattern (GoF)

(Java) Iterable data type (consistent way to consume all data in a collection).

Consumer -> Producer

(Consumer wants to get the data out of producer)

Producer can:

• Tell no more data

• Throw error

3 semantics:

• Pull data

• Tell no data

• Throw an error

Pull data (out of iterator)

Observable Pattern (GoF)

Producer -> Consumer (Producer gives data to

Consumer)

Producer is in control, decides when to give data to

consumer.

3 semantics:

• Push data

• Complete (no more stream data)

• Throw an error

Push data

63

Page 64: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

Appendix - Reactive programming

64

Page 65: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

Appendix - Reactive programming

Reactive Programming = Observable pattern + Iteratable pattern

65

Page 66: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

The 3 Vs of Big Data

Source: https://www.infoq.com/articles/stream-processing-hadoop

Hadoop:

Volume + Variety

Stream Analytics:

Velocity + Variety

66

Page 67: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 52

Page 68: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 52

Source:

https://www.lightbend.com/blog/understanding-

akka-streams-back-pressure-and-asynchronous-

architectures

Page 69: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering 52

Source:

https://www.lightbend.com/blog/understanding-

akka-streams-back-pressure-and-asynchronous-

architectures

Page 70: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

IoT will generate a staggering 400 zettabytes (ZB) of data a year by

2018 - Cisco

source: http://www.vitria.com

70

Page 71: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

Top open source Stream Analytics platforms

71

Page 72: Final Presentation ??.01 - aflux.org · Final Presentation??.01.2018 1. Chair of Software and Systems Engineering 2. Chair of Software and Systems Engineering 3. Chair of Software

Chair of Software and Systems Engineering

• Need to be set up

• Need to program them (mostly in Scala or Java)

72