2. AIMS
• Support modern data needs
• Multiple devices
• Multiple cloud services
Tuesday, 23 April 13
3. services
WHAT AND WHERE are our
digital artefacts?
what i create
what i do
RESOURCES I CONSULT
Tuesday, 23 April 13
4. 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
5. 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
Durability
Adoptability
Usability
Tuesday, 23 April 13
6. webbox
WEBBOX
• Versioned
• Transactional Integrity
• Encryption
• Graph Object Store
• JSON and RDF output
• Web Sharing
• Development Libraries
Tuesday, 23 April 13
7. 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
9. 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
11. 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
20. 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