poseidon - edenzik.github.ioedenzik.github.io/poseidon/slides/initial.pdf · goals • understand...

45

Upload: others

Post on 13-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with
Page 2: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

POSEIDONfor RESTful Streaming

Page 3: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

WHO ARE WE?

• Sharat, Eden, Yahui, Artem - Students at Brandeis

• Pito Salas - Professor and mentor

Page 4: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

GOALS

Page 5: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

GOALS

• Understand capabilities of Streambase system

Page 6: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

GOALS

• Understand capabilities of Streambase system

• Brainstorm new or novel ways to interact with it

Page 7: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

GOALS

• Understand capabilities of Streambase system

• Brainstorm new or novel ways to interact with it

• Hopefully bring useful ideas to the table

Page 8: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

GOALS

• Understand capabilities of Streambase system

• Brainstorm new or novel ways to interact with it

• Hopefully bring useful ideas to the table

• Potentially influence Streambase’s development cycle

Page 9: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

Page 10: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Extremely powerful tool

Page 11: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Extremely powerful tool

• User friendly for the most part

Page 12: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Extremely powerful tool

• User friendly for the most part

• Cross platform

Page 13: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Extremely powerful tool

• User friendly for the most part

• Cross platform

• High performance

Page 14: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO• Extremely powerful tool

• User friendly for the most part

• Cross platform

• High performance

• No programming experience needed

Page 15: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

Disclaimer: our impressions are naive!

Page 16: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Installation required

Page 17: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Installation required

• Desktop only

Page 18: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Installation required

• Desktop only

• Streaming requires both endpoints to implement protocol (sender + receiver)*

Page 19: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO

• Installation required

• Desktop only

• Streaming requires both endpoints to implement protocol (sender + receiver)*

• Compile, run workflow

Page 20: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STREAMBASE STUDIO• Installation required

• Desktop only

• Streaming requires both endpoints to implement protocol (sender + receiver)*

• Compile, run workflow

• No flow through data

Page 21: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

OUR TAKE…

Page 22: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

OUR TAKE…

• Web browser based

• No installation

• Fast delivery

Page 23: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

OUR TAKE…

• Web browser based

• RESTful API

• Quasi-universal in the world of low performance live data

Page 24: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

REST API

Page 25: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

OUR TAKE…

• Web browser based

• RESTful API

• Live stream construction

Page 26: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

OUR TAKE…

• Web browser based

• RESTful API

• Live stream construction

• Data flows as soon as nodes are connected

Page 27: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

OUR TAKE…• Web browser based

• RESTful API

• Live stream construction

• Data flows as soon as nodes are connected

• Live debugging of data

Page 28: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

OUR TAKE…

• Web browser based

• RESTful API

• Live stream construction

• JSON Format

Page 29: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

A “QUERY”

Do more people ride the T when the weather is nice?

Page 30: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

A “QUERY”

Do more people ride the T when the weather is nice?

And how do they feel doing it?

Page 31: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

A “QUERY”How is the stock market doing on days with nice

weather?

Page 32: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

DEMO

Page 33: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STACK

• Vaadin

Page 34: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STACK

• Vaadin

• Java based

Page 35: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STACK

• Vaadin

• Java based

• Asynchronous

Page 36: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

STACK• Vaadin

• Java based

• Asynchronous

• Generates Javascript, CSS from Java Code

• Google Web Toolkit based

Page 37: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

PROGRESS

• Basic UI - simple and compelling

• Connects to REST sources

• Maps JSON

• Operators partially implemented (Filter, In, Out, Map)

• Data live view

Page 38: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

TODO• Fully implement operations

• Out of the box parallelism, including UI Push

• Fully customizable workflows

• Saving and user state

• Export to database

Page 39: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

VAADIN

• Pros

• Front-end and back-end framework

• Google Web Toolkit

• Numerous Plugins

Page 40: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

VAADIN• Pros:

• Cons:

• Theory > Implementation

• UI debugging is very cumbersome

• Steep learning curve to become expert

• Alternatives: Rails, Javascript framework

Page 41: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

WRAP-UP

Page 42: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

WRAP-UP

• Novel approach to Streambase Studio

• Browser based

Page 43: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

WRAP-UP

• Novel approach to Streambase Studio

• Browser based

• REST API using JSON (Eventually XML,CVS)

Page 44: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

WRAP-UP

• Novel approach to Streambase Studio

• Browser based

• REST API using JSON (Eventually XML,CVS)

• No compilation with modest performance

Page 45: POSEIDON - edenzik.github.ioedenzik.github.io/Poseidon/slides/initial.pdf · GOALS • Understand capabilities of Streambase system • Brainstorm new or novel ways to interact with

WRAP-UP• Novel approach to Streambase Studio

• Browser based

• REST API using JSON (Eventually XML,CVS)

• No compilation with modest performance

• Live data view with live modifications