20
WEBBOX Daniel A. Smith and Max Van Kleek Tuesday, 23 April 13

WEBBOX

Embed Size (px)

Citation preview

Page 1: WEBBOX

WEBBOXDaniel A. Smith and Max Van Kleek

Tuesday, 23 April 13

Page 2: WEBBOX

AIMS

• Support modern data needs

• Multiple devices

• Multiple cloud services

Tuesday, 23 April 13

Page 3: WEBBOX

services

WHAT AND WHERE are our digital artefacts?

what i create

what i do

RESOURCES I CONSULT

Tuesday, 23 April 13

Page 4: WEBBOX

AIMS

• Support modern data needs

• Multiple devices

• Multiple cloud services

• Security of personal data

• Trustable

• Sharing over the web

• Interoperable with other systems

• Easy for developers

• Support modern standards

• Scalable

• Open source

Tuesday, 23 April 13

Page 5: WEBBOX

AIMS

• Support modern data needs

• Multiple devices

• Multiple cloud services

• Security of personal data

• Trustable

• Sharing over the web

• Interoperable with other systems

• Easy for developers

• Support modern standards

• Scalable

• Open source

Versatility

Security

DurabilityAdoptability

Usability

Tuesday, 23 April 13

Page 6: WEBBOX

webbox

WEBBOX• Versioned

• Transactional Integrity

• Encryption

• Graph Object Store

• JSON and RDF output

• Web Sharing

• Development Libraries

Tuesday, 23 April 13

Page 7: WEBBOX

ARCHITECTURE

• PostgreSQL database

• Object store (triples)

• Versions

• Transactions with table locking

• Authentication by DB

• HTTP interface to JSON

• WebSockets interface: realtime diff updates

• Encryption on the wire (TLS/SSL)

• Encryption in the DB

Tuesday, 23 April 13

Page 8: WEBBOX

DEMO 1

• Data editor

Tuesday, 23 April 13

Page 9: WEBBOX

APPLICATIONS

• HTML5 applications hosted by a WebBox

• User authenticates with WebBox directly in-browser

• Browser receives a session token

• Changes are made directly by the app

• Developers use “webbox.js” to simplify authentication and access to webbox

Tuesday, 23 April 13

Page 10: WEBBOX

DEMO 2

• Realtime chat

Tuesday, 23 April 13

Page 11: WEBBOX

APPLICATION INTERFACE• External (non-browser) applications that use HTTP/

WebSockets interface

• Token based authentication

• User grants permission to an app via webbox, using a token

• The app then has permissions on a box

• User can signal to an app through the webbox WebSocket

• Developers user “pyWebbox” library for python

Tuesday, 23 April 13

Page 12: WEBBOX

APPLICATION INTERFACE

WebSockets

App

WebBox

User

App connects to WebBoxTuesday, 23 April 13

Page 13: WEBBOX

APPLICATION INTERFACE

User

WebSockets

User connects to WebBox

WebSockets

App

WebBox

Tuesday, 23 April 13

Page 14: WEBBOX

APPLICATION INTERFACE

App

WebBox

User

WebSockets

WebSockets

User grants permission to app - WebBox send it a tokenTuesday, 23 April 13

Page 15: WEBBOX

APPLICATION INTERFACE

App

WebBox

User

WebSockets/HTTP

WebSockets

App uses token to make changes using HTTP interfaceTuesday, 23 April 13

Page 16: WEBBOX

APPLICATION INTERFACE

App

WebBox

User

WebSockets/HTTP

WebSockets

User signals to App to start actions, e.g. a twitter crawlTuesday, 23 April 13

Page 17: WEBBOX

APPLICATION INTERFACE

App

WebBox

User

App sends the User a Push Notification (e.g. to iPhone)

Push Notification

Tuesday, 23 April 13

Page 18: WEBBOX

SAMPLE APP

Harvest tweets, assert into WebBox, handle versioningTuesday, 23 April 13

Page 19: WEBBOX

DEMO 3

• Twitter harvester + Tweetwatcher

Tuesday, 23 April 13

Page 20: WEBBOX

WEBBOX-WEBBOX COMMUNICATION

• Similar interface to applications - persistent two-way comms using WebSockets or one-off HTTP calls

• Users can give permissions to other WebBoxes/users

• Rich platform for real-time collaboration

• Challenges:

• ID providers

• Shared versioning across webboxes

• Global naming for shared objects

• Network traversal/mobile IP

Work in Progress

Tuesday, 23 April 13