O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Mobile Offline First

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 22 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Mobile Offline First (20)

Anúncio

Mais recentes (20)

Anúncio

Mobile Offline First

  1. 1. CouchDB & PouchDB Julio Castro @jec_ar www.xgem.com.ar
  2. 2. What was I looking for? - Mobile - Distribution - Offline - Synchronization - Easy Library - Compatibility - Non structure model
  3. 3. What did I find? • JavaScript libraries • No-SQL • Document database • Multiple database nodes • REST API
  4. 4. CouchDB • Replication is the number one feature. • …replication to solve a number of problems. • redundant data storage • load balancing
  5. 5. Fallacies of Distributed Computing:
  6. 6. CouchDB • Eventual Consistency …Unlike traditional relational databases, where each action performed is necessarily subject to database-wide consistency checks, CouchDB makes it really simple to build applications that sacrifice immediate consistency for the huge performance improvements that come with simple distribution. • Local Consistency ¿? next slide [Wiki] Paxos
  7. 7. CouchDB • powerful B-tree storage engine • uses MapReduce to compute the results of a view • No locks, uses Multi-Version Concurrency Control (MVCC) [Wiki] B-Tree [Wiki] MVCC
  8. 8. CouchDB • Validations • provides a powerful way to perform per-document validation from within the database. Using JavaScript.
  9. 9. CouchDB • Distributed Consistency • Incremental replication • CouchDB’s replication system comes with automatic conflict detection and resolution
  10. 10. CouchDB • API REST • curl http://127.0.0.1:5984/ • {"couchdb":"Welcome","version":"0.10.1"} • curl -X GET http://127.0.0.1:5984/_all_dbs • [] • curl -X PUT http://127.0.0.1:5984/xgem • {"ok":true}
  11. 11. CouchDB • Futon
  12. 12. CouchDB • Design Docs • special type of CouchDB document that contains application code. • Views • Validations • Show
  13. 13. • an in-browser database • also runs in Node.js • a direct interface to CouchDB-compatible servers • PouchDB is not a self- contained database • it is a CouchDB-style abstraction layer
  14. 14. • Plugins • PouchDB Authentication • Pouch Box • Allows decentralized authentication and access control per document, using asymmetric encryption. • Pouch Mirror • Creates a synced in-memory mirror of a remote CouchDB for faster reads. • And more…
  15. 15. Architecture Online
  16. 16. Architecture Offline
  17. 17. Herkimer @xgem • Mobile • Client iOS/Android • Geo-localization: What? When? routes management. • Picture: Capture & Sync • Scan QR/Barcode • Document transformation (excel, pdf) • Communication • Push Notifications (single/broadcast) • Integration Hub • MQTT • NIFI • IoT • Security • SSL,oAuth2 • Social Login • Share on Social networks or email • Fingerprint • Data: • Data model by configuration • Document DB • Sensitive data collections • Client consume configuration from Backend • Auto Sync per collection • Backend “multiple” project • Reporting • RESP API / export data • Reduced data collection for mobile performance. STATUS: Under development. xGem Member access only.
  18. 18. Herkimer @xgem RDBMS & No-SQL No-SQL
  19. 19. Thanks… Julio Castro @jec_ar http://www.xgem.com.ar

×