CBJUG Meetup June 10th
-
Upload
couchbase-japan-kk -
Category
Software
-
view
174 -
download
1
Transcript of CBJUG Meetup June 10th
THE ROAD TO COUCHBASE LITE VERSION 1.3JAMES BORDENSOFTWARE ENGINEER, [email protected]
My slides will be in English but I will speak in Japanese. Since some people may not be able to understand Japanese and some people may not be able to understand English, this format allows me to keep the presentation time the same while delivering in two languages. If you have any questions you want to ask in English I’ll be around after the event.
こちらのスライドは英語になっておりますが、日本語で話させていただきます。日本語ができない方もいらっしゃるかもしれないし、英語ができない方もいらっしゃるかもしれないのでこのやり方なら話す時間をそのままで 2語プレゼンできるようになります。よろしくお願い致します。
ABOUT ME
• Lead Developer – Couchbase Lite .NET since January 2015• Strong Objective-C (former iOS app developer) and C#
background• Moved to Japan in 2009• Often mistaken for ‘Atsugiri Jason’ >_<
WHAT WILL WE TALK ABOUT?
• Overview of Couchbase Lite, and integration into cloud• Latest developments on the Lite team• New features in version 1.3 of Couchbase Lite
VIDEO TIME (DOESN’T WORK WITH POWERPOINT)!
https://www.youtube.com/watch?v=gqIslrwGj7U
COUCHBASE AS A SOLUTION
Objective-C (iOS, OS X)Java (Android, Desktop, etc)C# (All of the above)
ON DEVICE PRIVATE CLOUDGo (Windows, OS X,
RedHat, Ubuntu)
PUBLIC CLOUD Erlang (Windows, OS
X,RedHat, Ubuntu, Debian,SuSE, Oracle Linux)
START AT THE EDGE, WITH COUCHBASE LITE• Embedded NoSQL database library (document-oriented,
map / reduce functionality, full text search*, AES encryption)• Three versions: Objective-C, Java, .NET• Not the same as “Couchbase Server Client SDK”• Ability to replicate via CouchDB protocol to endpoints like
Sync Gateway, CouchDB, Cloudant, etc
*iOS Only
WHY WAS IT CREATED?
• Apps should not stop responding when network / server is offline• Solution: save everything offline first, then sync when
network is available
ON THE OTHER END, THE POWERHOUSE AWAITS!• Couchbase Server is designed to be scalable, customizable,
and powerful.• Blazingly fast key value store, combining the sturdy
architecture of CouchDB with the availability and performance of memcached
AND THEN THE MIDDLE MAN
• Sync Gateway has several functions:• Writing data to Couchbase Server• Managing read and write access for replication• Providing access to clients to sync with each other
SOME DEVELOPMENTS
• .NET has preliminary continuous integration support (builds in .nupkg format are provided)• New documentation writer hired• Porting platform specific functional tests to a robust cross
platform functional framework
.NET JOINS THE OTHERS
DOCUMENTATION OVERHAUL
• Our documentation has not been our proudest point• Looking to overhaul things, and make it easier to have
community contributed translations • We have a new hire working full time on documentation
BETTER, MORE ROBUST TESTING
• Make use of Robot Framework (http://robotframework.org/)• Our QA engineer has developed components to launch
Couchbase Lite / Sync Gateway and setup tests between them.• Swappable versions of client and sync gateway means better
regression testing• Cross platform (python) framework means that one test
scenario can be reused for all product versions
ON THE MENU FOR 1.3 (SUBJECT TO CHANGE, BUT PROBABLY NOT)• Document TTL (Time To Live)• Logging output to Sync Gateway• Huge logging overhaul (especially for .NET)• Automatic revision pruning• OpenID Connect Authentication
DOCUMENT TTL
• A new API for setting an “expiration date” for documents.• After the expiration date has passed, the document will be
purged from the database• Also settable via a special property in document body
LOGGING TO SYNC GATEWAY
• Logs can sometimes be hard to find, or retrieve (especially on mobile devices)• This new feature inserts log statements into a database, and
replicates them to Sync Gateway (purging them in the process)• After that the logs can be downloaded easily and sent with
support requests, etc
LOGGING OVERHAUL
• Logging is now more consistent between platforms• .NET has seen the biggest change: • Logging is customizable via domain (each domain can have a
different verbosity)• Desktop builds no longer log to Console (not always available,
and performance problem)• Customizable via app.config (no recompile needed!)
AUTOMATIC REVISION PRUNING
• Already available with ForestDB, but 1.3 brings this functionality to SQLite• Revision history count will automatically be kept below the
maximum depth (as opposed to needing a call to Compact)• Note: Compact is still advised to clean up attachments
OPENID CONNECT AUTHENTICATION
• Allows use of single sign on (SSO) to authenticate and create users in Sync Gateway• On the client side, we will work to make this as seamless as
possible (the only thing needed will be to retrieve a token manually via the URL that the library will provide)
WE’D APPRECIATE ANY HELP
The release is coming up and so the CI builds are getting more and more stable. If you have some time, play around with the bleeding edge builds and let us know about any problems you find! Pull requests / issues welcome in English or Japanese.
THANK YOU FOR YOUR TIME
QUESTIONS? COMMENTS? ANECDOTES? STORIES? JOKES?
Slides: http://www.slideshare.net/couchbasejapan