Slide 1

Slide 1 text

Websocket en WAMP in sPHPace

Slide 2

Slide 2 text

About

Slide 3

Slide 3 text

Davy De Coster Backend Developer @ Ocular Twitter: @davydecoster

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Websocket?

Slide 7

Slide 7 text

Websocket Protocol • Bestaat sinds 2010 – RFC sinds december 2011 (https://tools.ietf.org/html/rfc6455) • Realtime communicatiekanaal • Lage overhead tov polling • ws:// en wss:// • Meerdere subprotocollen • Veel gebruikt: socket.io

Slide 8

Slide 8 text

Websocket in PHP • Ratchet Package (http://socketo.me/) • Websocket server in PHP

Slide 9

Slide 9 text

DEMO

Slide 10

Slide 10 text

Subprotocollen • Meerdere implementaties (https://www.iana.org/assignments/websocket/websocket.xml)

Slide 11

Slide 11 text

WAMP?

Slide 12

Slide 12 text

WAMP • Web Application Messaging Protocol • Crossbar.io • Publish & Subscribe naar topics (PubSub) • Remote Procedure Call (RPC) • Veel gebruikt bij IoT

Slide 13

Slide 13 text

Crossbar.io - Connection & security • Python • Realms • Namespace • Roles • Security • Authentication • Veel platformen kunnen hiermee connecteren • Build in Docker container • Data in args en kwargs

Slide 14

Slide 14 text

PubSub • Topic = ‘be.ocular.demo’ • Subscribe om events te ontvangen • Publish om event te sturen

Slide 15

Slide 15 text

RPC • Registreer procedure op topic (‘be.ocular.doe.iets’) • Procedure is uniek • Call een topic om de procedure uit te voeren • Procedure kan iets returnen naar caller

Slide 16

Slide 16 text

WAMP - Schema

Slide 17

Slide 17 text

WAMP in PHP • Voryx/Thruway (https://github.com/voryx/Thruway) • Non-blocking

Slide 18

Slide 18 text

DEMO

Slide 19

Slide 19 text

Real-life voorbeelden

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Questions?

Slide 24

Slide 24 text

Merci!