SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Reactive Programming for Databases
by Val Huber (val@espressologic.com)
CTO, Espresso Logic, Inc.
April 9, 2014
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
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
Reactive Programming
What is it, how is it being used
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
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
Reactive, REST
and Database
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
Reactive DB: Architecture
• Triggers
• App Server (but model is fuzzy)
• RESTful DB
Technology
Independent
• Mobile
• SOA
• Public API
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”)
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
Our Take
DEMO
You can sign up for Free Trial@
www.espressologic.com
Technology Evaluation
• Re-use
– N clients  3 events  1 rule
• Conciseness
– 5 lines of logic is hundreds of lines of triggers
• Maintainability
– (Re) Ordering by dependency analysis
• Quality
– Execution ensured (per middle tier)
• Performance
– Well-known patterns ensured
Examples
• Simple
• Budget Rollup
• Payment Allocation
• Bill of Materials
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Top 3 Mistakes when Building
Top 3 Mistakes when BuildingTop 3 Mistakes when Building
Top 3 Mistakes when Building
Talbott Crowell
 

Was ist angesagt? (20)

intern
internintern
intern
 
Pycon Talk
Pycon TalkPycon Talk
Pycon Talk
 
Tackling Kafka, with a Small Team ( Jaren Glover, Robinhood) Kafka Summit SF ...
Tackling Kafka, with a Small Team ( Jaren Glover, Robinhood) Kafka Summit SF ...Tackling Kafka, with a Small Team ( Jaren Glover, Robinhood) Kafka Summit SF ...
Tackling Kafka, with a Small Team ( Jaren Glover, Robinhood) Kafka Summit SF ...
 
a.s.a.p. APEX
a.s.a.p.  APEXa.s.a.p.  APEX
a.s.a.p. APEX
 
Auto-Train a Time-Series Forecast Model With AML + ADB
Auto-Train a Time-Series Forecast Model With AML + ADBAuto-Train a Time-Series Forecast Model With AML + ADB
Auto-Train a Time-Series Forecast Model With AML + ADB
 
Top 3 Mistakes when Building
Top 3 Mistakes when BuildingTop 3 Mistakes when Building
Top 3 Mistakes when Building
 
Serverless spark
Serverless sparkServerless spark
Serverless spark
 
Building machine learning applications locally with Spark — Joel Pinho Lucas ...
Building machine learning applications locally with Spark — Joel Pinho Lucas ...Building machine learning applications locally with Spark — Joel Pinho Lucas ...
Building machine learning applications locally with Spark — Joel Pinho Lucas ...
 
The API (R) Evolution
The API (R) EvolutionThe API (R) Evolution
The API (R) Evolution
 
KnowItPresentation
KnowItPresentationKnowItPresentation
KnowItPresentation
 
Top 7 mistakes
Top 7 mistakesTop 7 mistakes
Top 7 mistakes
 
[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure
 
Optimize Performance and Scalability
Optimize Performance and ScalabilityOptimize Performance and Scalability
Optimize Performance and Scalability
 
Shortening the time from analysis to deployment with ml as-a-service — Luiz A...
Shortening the time from analysis to deployment with ml as-a-service — Luiz A...Shortening the time from analysis to deployment with ml as-a-service — Luiz A...
Shortening the time from analysis to deployment with ml as-a-service — Luiz A...
 
Road to the Cloud - Extending your reach with SharePoint and Office 365
Road to the Cloud - Extending your reach with SharePoint and Office 365Road to the Cloud - Extending your reach with SharePoint and Office 365
Road to the Cloud - Extending your reach with SharePoint and Office 365
 
Apache Kafka and API Management / API Gateway – Friends, Enemies or Frenemies...
Apache Kafka and API Management / API Gateway – Friends, Enemies or Frenemies...Apache Kafka and API Management / API Gateway – Friends, Enemies or Frenemies...
Apache Kafka and API Management / API Gateway – Friends, Enemies or Frenemies...
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applications
 
Integration of mule esb with microsoft azure
Integration of mule esb with microsoft azureIntegration of mule esb with microsoft azure
Integration of mule esb with microsoft azure
 
Query Any Data by Wayne Eckerson
Query Any Data by Wayne EckersonQuery Any Data by Wayne Eckerson
Query Any Data by Wayne Eckerson
 
Azure API Manegement Introduction and Integeration with BizTalk
Azure API Manegement Introduction and Integeration with BizTalkAzure API Manegement Introduction and Integeration with BizTalk
Azure API Manegement Introduction and Integeration with BizTalk
 

Ähnlich wie Reactive Programming and REST/JSON for SQL Databases - Microsoft SQL Server Meetup, San Francisco

Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
ifnu bima
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
WSO2
 

Ähnlich wie Reactive Programming and REST/JSON for SQL Databases - Microsoft SQL Server Meetup, San Francisco (20)

Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
Mtn view sql server nov 2014
Mtn view sql server nov 2014Mtn view sql server nov 2014
Mtn view sql server nov 2014
 
Appscale at CLOUDCOMP '09
Appscale at CLOUDCOMP '09Appscale at CLOUDCOMP '09
Appscale at CLOUDCOMP '09
 
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning ModelsApache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
 
Continuous test automation
Continuous test automationContinuous test automation
Continuous test automation
 
First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)
 
Evolving IGN’s New APIs with Scala
 Evolving IGN’s New APIs with Scala Evolving IGN’s New APIs with Scala
Evolving IGN’s New APIs with Scala
 
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring Boot
 
SRV318_Research at PNNL Powered by AWS
SRV318_Research at PNNL Powered by AWSSRV318_Research at PNNL Powered by AWS
SRV318_Research at PNNL Powered by AWS
 
Research at PNNL: Powered by AWS - SRV318 - re:Invent 2017
Research at PNNL: Powered by AWS - SRV318 - re:Invent 2017Research at PNNL: Powered by AWS - SRV318 - re:Invent 2017
Research at PNNL: Powered by AWS - SRV318 - re:Invent 2017
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
 
Aakanksha_Agnani_j2016
Aakanksha_Agnani_j2016Aakanksha_Agnani_j2016
Aakanksha_Agnani_j2016
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
 
AWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High Availability
 
Breaking the Monolith: Organizing Your Team to Embrace Microservices
Breaking the Monolith: Organizing Your Team to Embrace MicroservicesBreaking the Monolith: Organizing Your Team to Embrace Microservices
Breaking the Monolith: Organizing Your Team to Embrace Microservices
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

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
  • 4. Reactive Programming What is it, how is it being used
  • 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
  • 13. DEMO You can sign up for Free Trial@ www.espressologic.com
  • 14. Technology Evaluation • Re-use – N clients  3 events  1 rule • Conciseness – 5 lines of logic is hundreds of lines of triggers • Maintainability – (Re) Ordering by dependency analysis • Quality – Execution ensured (per middle tier) • Performance – Well-known patterns ensured
  • 15. Examples • Simple • Budget Rollup • Payment Allocation • Bill of Materials
  • 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/