Presented by Val Huber, CTO of Espresso Logic, Inc, at the SQL Server Meetup in San Francisco, this talk discusses what is and how does Reactive Programming for Database reduce development time. It also discusses what is needed from RESTful/JSON API for SQL databases.
Reactive Programming and REST/JSON for SQL Databases - Microsoft SQL Server Meetup, San Francisco
1. Reactive Programming for Databases
by Val Huber (val@espressologic.com)
CTO, Espresso Logic, Inc.
April 9, 2014
2. Topics
• Introduction
• Reactive: what, usage…
• Reactive for Database, using REST
• Demo
– Connecting to a database: create/test default RESTful API
– Reactive Logic: Define, Test and Debug
• Complex Examples
• Q&A
3. Espresso Logic, Inc. Overview
• History
– Previous iterations of technology deployed at over 500 Fortune 1000 companies
– Current version in development for 3 years; launched V1.0 in November 2013
• Investors
– Inventus Capital, a VC firm founded by Kanwal Rekhi focusing on early stage firms
– Angel investors include: Anurag Jain (Perot Systems), Gokul Rajaram (Square), Lee
Nackman (IBM), Raju Reddy (Hitachi), Saeed Amidi (Plug and Play)
• What we do
– Backend-as-a-service to accelerate web and mobile application
– Offered as a service hosted on Amazon, Azure and on premise
• Distribution – Direct and via resellers / integrators
3
5. Maintain State (dependencies) over change
Time Statement Imperative Reactive
t0 A = B+C
t1 B = 2 * Recompute A
Define
Watch referenced
values
React to changes
6. Common Uses
• GUI: Change Model, reflect on View (Microsoft active here)
• Spreadsheet
– CellA = sum (ColumnB)
• Challenging Problem
– Language integration – where’s the model?
– Simpler as domain-specific: database… ?
Reacts to inserts,
updates and
deletes to B
8. Reactive DB: Conceptual
• Schema is the Object Model
• Add
– Derivation Expressions, bound to columns
– Validation Expressions, bound to tables
– Imperative Integration
Bal = sum (unpaid
order totals)
Bal <= creditLimit
9. Reactive DB: Architecture
• Triggers
• App Server (but model is fuzzy)
• RESTful DB
Technology
Independent
• Mobile
• SOA
• Public API
10. RESTful DB
• Perfect start
– Tables are resources (find from schema)
– GET, POST, PUT and DELETE…
– HTTP Arguments for filter, sort
• But not quite enough
– Rich Resources (views “business objects”)
11. Reactive,
RESTful
DB
Reactive DB
• Schema as Model
• Derivation / Validation Expressions
RESTful DB
• Schema as Resources
• Get, Post, Put, Delete
Golden Spike
• Rich Resources
• JavaScript Integration
• Security
• Test & Debug
16. Summary
• Reactive is like spreadsheet – Used appropriately it can offer you huge savings in
development cost
• JavaScript or some procedural language model needed to augment reactive
• RESTful API to your SQL data – Must have ability to customize, add security, filtering,
pagination, optimistic locking
• Check out video and more examples at http://www.espressologic.com/resources/