Upload
sociam-project
View
162
Download
0
Tags:
Embed Size (px)
Citation preview
WEBBOXDaniel A. Smith and Max Van Kleek
Tuesday, 23 April 13
AIMS
• Support modern data needs
• Multiple devices
• Multiple cloud services
Tuesday, 23 April 13
services
WHAT AND WHERE are our digital artefacts?
what i create
what i do
RESOURCES I CONSULT
Tuesday, 23 April 13
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
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
webbox
WEBBOX• Versioned
• Transactional Integrity
• Encryption
• Graph Object Store
• JSON and RDF output
• Web Sharing
• Development Libraries
Tuesday, 23 April 13
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
DEMO 1
• Data editor
Tuesday, 23 April 13
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
DEMO 2
• Realtime chat
Tuesday, 23 April 13
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
APPLICATION INTERFACE
WebSockets
App
WebBox
User
App connects to WebBoxTuesday, 23 April 13
APPLICATION INTERFACE
User
WebSockets
User connects to WebBox
WebSockets
App
WebBox
Tuesday, 23 April 13
APPLICATION INTERFACE
App
WebBox
User
WebSockets
WebSockets
User grants permission to app - WebBox send it a tokenTuesday, 23 April 13
APPLICATION INTERFACE
App
WebBox
User
WebSockets/HTTP
WebSockets
App uses token to make changes using HTTP interfaceTuesday, 23 April 13
APPLICATION INTERFACE
App
WebBox
User
WebSockets/HTTP
WebSockets
User signals to App to start actions, e.g. a twitter crawlTuesday, 23 April 13
APPLICATION INTERFACE
App
WebBox
User
App sends the User a Push Notification (e.g. to iPhone)
Push Notification
Tuesday, 23 April 13
SAMPLE APP
Harvest tweets, assert into WebBox, handle versioningTuesday, 23 April 13
DEMO 3
• Twitter harvester + Tweetwatcher
Tuesday, 23 April 13
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