webbox
TRANSCRIPT
![Page 1: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/1.jpg)
WEBBOXDaniel A. Smith and Max Van Kleek
Tuesday, 23 April 13
![Page 2: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/2.jpg)
AIMS
• Support modern data needs
• Multiple devices
• Multiple cloud services
Tuesday, 23 April 13
![Page 3: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/3.jpg)
services
WHAT AND WHERE are our digital artefacts?
what i create
what i do
RESOURCES I CONSULT
Tuesday, 23 April 13
![Page 4: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/6.jpg)
webbox
WEBBOX• Versioned
• Transactional Integrity
• Encryption
• Graph Object Store
• JSON and RDF output
• Web Sharing
• Development Libraries
Tuesday, 23 April 13
![Page 7: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/8.jpg)
DEMO 1
• Data editor
Tuesday, 23 April 13
![Page 9: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/10.jpg)
DEMO 2
• Realtime chat
Tuesday, 23 April 13
![Page 11: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/12.jpg)
APPLICATION INTERFACE
WebSockets
App
WebBox
User
App connects to WebBoxTuesday, 23 April 13
![Page 13: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/13.jpg)
APPLICATION INTERFACE
User
WebSockets
User connects to WebBox
WebSockets
App
WebBox
Tuesday, 23 April 13
![Page 14: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/14.jpg)
APPLICATION INTERFACE
App
WebBox
User
WebSockets
WebSockets
User grants permission to app - WebBox send it a tokenTuesday, 23 April 13
![Page 15: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/15.jpg)
APPLICATION INTERFACE
App
WebBox
User
WebSockets/HTTP
WebSockets
App uses token to make changes using HTTP interfaceTuesday, 23 April 13
![Page 16: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/18.jpg)
SAMPLE APP
Harvest tweets, assert into WebBox, handle versioningTuesday, 23 April 13
![Page 19: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/19.jpg)
DEMO 3
• Twitter harvester + Tweetwatcher
Tuesday, 23 April 13
![Page 20: WEBBOX](https://reader035.vdocuments.mx/reader035/viewer/2022081400/55583e3dd8b42acb078b4dc2/html5/thumbnails/20.jpg)
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