SlideShare a Scribd company logo
1 of 26
A Shot of Espresso for Your Enterprise Apps 
1 
The Fastest Way to Create 
Backend Services Across Data Sources
Espresso Logic 
presents 
Integrate MongoDB & SQL data with 
a single REST API
Agenda 
• Espresso Logic 
• SQL vs Mongo concepts & use cases 
• Building a secure REST Integration Server 
• Blending MongoDB with SQL 
• Q&A 
3
Espresso Logic 
Declarative development for data-intensive apps 
• RESTful API 
• Reactive programming and JavaScript for logic 
• Fine grain role-based security 
• Application lifecycle facilities
Company Background 
5
Today’s world - Heterogeneous data 
• SQL 
• JSON 
• EDI 
• CSV 
• XML 
• SOAP 
• ODATA 
<book id="bk101"> 
<author>Gambardella, 
Matthew</author> 
<title>XML Developer's 
Guide</title> 
<genre>Computer</genre> 
</book> 
<workspace> 
<atom:title>Default</atom:title> 
<collection href="Categories"> 
<atom:title>Categories</atom:title> 
</collection> 
<collection href="CustomerDemographics"> 
<atom:title>CustomerDemographics</atom:title> 
</collection> 
<collection href="Customers"> 
<atom:title>Customers</atom:title> 
</collection>
SQL vs MongoDB Concepts 
SQL Terms/concepts MongoDB Terms/concepts 
DATABASE DATABASE 
TABLE COLLECTION 
ROW DOCUMENT OR BSON DOCUMENT 
COLUMN FIELD 
INDEX INDEX 
TABLE JOINS EMBEDDED DOCUMENTS AND 
LINKING 
PRIMARY KEY PRIMARY KEY 
TRANSACTIONS 
BEGIN, COMMIT/ROLLBACK 
NA 
SCHEMA NA
Language Syntax is different 
8 
SQL Terms, Function, Concepts MongoDB Aggregation Operators 
WHERE $match 
GROUP BY $group 
HAVING $match 
SELECT $project 
ORDER BY $sort 
LIMIT $limit 
SUM $sum 
COUNT $count 
JOIN No direct support
Use Cases for MongoDB & SQL 
Drivers: Scale, Size, Cost Drivers: ACID, Reporting, Familiarity 
MongoDB 
– Big Data – Business 
Intelligence 
– New Mobile Apps (high 
volume reads) 
– Logs and Web events 
– Product and Image catalogs 
– Content Management 
SQL Database 
– Financial and Accounting 
– Legacy Business Applications 
– Anything that involves $$$
Blending MongoDB and SQL 
SQL and MongoDB 
– Financial and Sales transactions with archived history 
– Account and Payment Processing 
– Shopping Carts and Order Entry 
How do we do this?
We need a RESTful Server 
http://eval.espressologic.com/rest/sample/demo/v1/ 
Multiple Data Sources 
Endpoints: 
/customer/{id} 
/employee/{id} 
/customerWithOrders 
/product/{id} 
{ 
“@metadata": { 
"checksum": "A:6c253d56830572ea", 
}, 
"name": "Alpha and Sons", 
"balance": 0, 
"credit_limit": 9000 
} 
…. so you need to build a REST Server
Building a secure REST Integration Server 
Apache Tomcat 
Hibernate (JPA) 
Entity Framework/WCF 
JDBC Driver 
Jersey/Jackson Logging 
Library (log4J) 
Web Hosting 
Servlet API 
Identity Security services 
JavaScript engine 
Configuration Properties 
User & roles definitions, 
SQL and NoSQL Server connections 
Declarative (Reactive) Rules 
Role-based Access Control 
Schema ORM Model 
Security tokens 
REST API definitions 
Event Code 
metadata 
Now we need to host this…
Fast & Easy Way 
SQL 
“ 
name": "Alpha and Sons", 
"balance": 4484, 
"MongoOrders": [ 
{ 
"_id": { 
"$oid": "53d64c59a32268822c09e994" 
}, 
"order_number": 1, 
"amount_total": 1079, 
"salesrep_id": 2, 
"items": [ 
{ 
"_id": { 
"$oid": "53d64c38a32268822c09e746" 
}, 
"lineitem_id": 1, 
"product_number": 4, 
"amount": 600 
},
Espresso Logic Architecture 
Complete On-premise VM Appliance or Cloud Managed Service
Support for your SQL and NoSQL Database
Step 1 – Connect Existing SQL Database 
SQL 
Instant RESTful Endpoints 
• Tables 
• Views 
• Stored Procedures
Step 2- Creating REST endpoints 
1. Name a new resource 
2. Specify the SQL table 
3. Add Mongo sub-documents
Step 3- Blending MongoDB with SQL 
Point and Click 
1. Select Parent SQL 
2. Add Sub Document 
3. Enter MongoDB Server, 
database, and collection 
4. Specify ‘join’ 
Test in REST Lab
Test REST Lab to Blended API
View in Live Browser 
RESOURCES 
TABLES
Step 4 – Customize your API 
• Alias Attributes 
(rename) 
• Change format 
• Select/Project columns 
to include 
• Add new virtual 
columns (Row Event) 
• Filter/Sort 
• Limit/Offset (paging)
API Documentation
What’s Next 
• Business logic via reactive programming & JavaScript 
• Adding authentication to your new REST Server 
• Setting up users and roles 
• Column and row level security
Summary 
• Applications today need to support multiple databases 
• Building a Rest Integration Server 
• With Espresso, need just four simple steps 
to join Mongo and SQL in a single REST API 
– Connect to multiple databases 
– Create new REST endpoints 
– 'Join' Mongo and SQL with point-and-click 
– Test the REST API
Next steps 
• Webinar next week 
From specs to an app: 10X faster with reactive programming 
• Sign up for a free trial – Build a proof of concept with your data 
Let us help you connect to your data
Thank You 
Questions???? 
www.espressologic.com 
Technical: tyler@espressologic.com 
Business: ron@espressologic.com

More Related Content

What's hot

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
All About Asp Net 4 0 Hosam Kamel
All About Asp Net 4 0  Hosam KamelAll About Asp Net 4 0  Hosam Kamel
All About Asp Net 4 0 Hosam KamelHosam Kamel
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Ejada
 
Securing an Azure Function REST API with Azure Active Directory
Securing an Azure Function REST API with Azure Active DirectorySecuring an Azure Function REST API with Azure Active Directory
Securing an Azure Function REST API with Azure Active DirectoryRick van den Bosch
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchRob Windsor
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauSpiffy
 
Build a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBuild a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBen Robb
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI ScenariosEuropean Collaboration Summit
 
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettCloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettBrian T. Jackett
 
Azure Saturday: External Collaboration With Azure AD B2B
Azure Saturday:  External Collaboration With Azure AD B2BAzure Saturday:  External Collaboration With Azure AD B2B
Azure Saturday: External Collaboration With Azure AD B2BSjoukje Zaal
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...NCCOMMS
 
Build an API the right way
Build an API the right wayBuild an API the right way
Build an API the right waySoftware Guru
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Rob Windsor
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web partsRandy Williams
 
Sitecore experience platform session 1
Sitecore experience platform   session 1Sitecore experience platform   session 1
Sitecore experience platform session 1Anindita Bhattacharya
 
Building Apps for Office 2013
Building Apps for Office 2013Building Apps for Office 2013
Building Apps for Office 2013Pranav Ainavolu
 
Deploying your static web app to the Cloud
Deploying your static web app to the CloudDeploying your static web app to the Cloud
Deploying your static web app to the CloudChristoffer Noring
 
Spsdc 2014 o365_power_shell_csom_amitv
Spsdc 2014 o365_power_shell_csom_amitvSpsdc 2014 o365_power_shell_csom_amitv
Spsdc 2014 o365_power_shell_csom_amitvamitvasu
 
Implementing Azure Active Directory Connect and more
Implementing Azure Active Directory Connect and moreImplementing Azure Active Directory Connect and more
Implementing Azure Active Directory Connect and moreJason Himmelstein
 
Performance Troubleshooting made easier- New features in Management Studio
Performance Troubleshooting made easier- New features in Management StudioPerformance Troubleshooting made easier- New features in Management Studio
Performance Troubleshooting made easier- New features in Management StudioTaiob Ali
 

What's hot (20)

SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
All About Asp Net 4 0 Hosam Kamel
All About Asp Net 4 0  Hosam KamelAll About Asp Net 4 0  Hosam Kamel
All About Asp Net 4 0 Hosam Kamel
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013
 
Securing an Azure Function REST API with Azure Active Directory
Securing an Azure Function REST API with Azure Active DirectorySecuring an Azure Function REST API with Azure Active Directory
Securing an Azure Function REST API with Azure Active Directory
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
 
Build a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBuild a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutes
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios
 
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T JackettCloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
Cloud Dev with Azure Functions - DogFoodCon 2018 - Brian T Jackett
 
Azure Saturday: External Collaboration With Azure AD B2B
Azure Saturday:  External Collaboration With Azure AD B2BAzure Saturday:  External Collaboration With Azure AD B2B
Azure Saturday: External Collaboration With Azure AD B2B
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
 
Build an API the right way
Build an API the right wayBuild an API the right way
Build an API the right way
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web parts
 
Sitecore experience platform session 1
Sitecore experience platform   session 1Sitecore experience platform   session 1
Sitecore experience platform session 1
 
Building Apps for Office 2013
Building Apps for Office 2013Building Apps for Office 2013
Building Apps for Office 2013
 
Deploying your static web app to the Cloud
Deploying your static web app to the CloudDeploying your static web app to the Cloud
Deploying your static web app to the Cloud
 
Spsdc 2014 o365_power_shell_csom_amitv
Spsdc 2014 o365_power_shell_csom_amitvSpsdc 2014 o365_power_shell_csom_amitv
Spsdc 2014 o365_power_shell_csom_amitv
 
Implementing Azure Active Directory Connect and more
Implementing Azure Active Directory Connect and moreImplementing Azure Active Directory Connect and more
Implementing Azure Active Directory Connect and more
 
Performance Troubleshooting made easier- New features in Management Studio
Performance Troubleshooting made easier- New features in Management StudioPerformance Troubleshooting made easier- New features in Management Studio
Performance Troubleshooting made easier- New features in Management Studio
 

Viewers also liked

MongoDB Command Line Tools
MongoDB Command Line ToolsMongoDB Command Line Tools
MongoDB Command Line ToolsRainforest QA
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db.. ..
 
From sql server to mongo db
From sql server to mongo dbFrom sql server to mongo db
From sql server to mongo dbRyan Hoffman
 
Moving from SQL Server to MongoDB
Moving from SQL Server to MongoDBMoving from SQL Server to MongoDB
Moving from SQL Server to MongoDBNick Court
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DBmaxfontana90
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentesomenar
 

Viewers also liked (10)

MongoDB Command Line Tools
MongoDB Command Line ToolsMongoDB Command Line Tools
MongoDB Command Line Tools
 
MongoDB
MongoDBMongoDB
MongoDB
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
From sql server to mongo db
From sql server to mongo dbFrom sql server to mongo db
From sql server to mongo db
 
Basede datos nlsg
Basede datos nlsgBasede datos nlsg
Basede datos nlsg
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Moving from SQL Server to MongoDB
Moving from SQL Server to MongoDBMoving from SQL Server to MongoDB
Moving from SQL Server to MongoDB
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 

Similar to Integrate MongoDB & SQL with a Single REST API

MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB
 
AWS Cloud Kata | Bangkok - Getting to Scale on AWS
AWS Cloud Kata | Bangkok - Getting to Scale on AWSAWS Cloud Kata | Bangkok - Getting to Scale on AWS
AWS Cloud Kata | Bangkok - Getting to Scale on AWSAmazon Web Services
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufCTE Solutions Inc.
 
Mtn view sql server nov 2014
Mtn view sql server nov 2014Mtn view sql server nov 2014
Mtn view sql server nov 2014EspressoLogic
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTSandyarathi Das
 
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence ArchitectureMongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence ArchitectureMongoDB
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionLecole Cole
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVC Introduction to ASP.NET MVC
Introduction to ASP.NET MVC Joe Wilson
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...Liam Cleary [MVP]
 
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic AppsSandro Pereira
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Bluegrass Digital
 
MongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and KubernetesMongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and KubernetesMongoDB
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples Yochay Kiriaty
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorialsTIB Academy
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)Sascha Wenninger
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMarc Obaldo
 

Similar to Integrate MongoDB & SQL with a Single REST API (20)

Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS'sMongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
MongoDB.local Dallas 2019: Pissing Off IT and Delivery: A Tale of 2 ODS's
 
AWS Cloud Kata | Bangkok - Getting to Scale on AWS
AWS Cloud Kata | Bangkok - Getting to Scale on AWSAWS Cloud Kata | Bangkok - Getting to Scale on AWS
AWS Cloud Kata | Bangkok - Getting to Scale on AWS
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Session 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian MalbeufSession 2: SQL Server 2012 with Christian Malbeuf
Session 2: SQL Server 2012 with Christian Malbeuf
 
Mtn view sql server nov 2014
Mtn view sql server nov 2014Mtn view sql server nov 2014
Mtn view sql server nov 2014
 
CMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORTCMPE282_009994036_PROJECT_REPORT
CMPE282_009994036_PROJECT_REPORT
 
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence ArchitectureMongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVC Introduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
 
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
 
MongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and KubernetesMongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance Apps
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Integrate MongoDB & SQL with a Single REST API

  • 1. A Shot of Espresso for Your Enterprise Apps 1 The Fastest Way to Create Backend Services Across Data Sources
  • 2. Espresso Logic presents Integrate MongoDB & SQL data with a single REST API
  • 3. Agenda • Espresso Logic • SQL vs Mongo concepts & use cases • Building a secure REST Integration Server • Blending MongoDB with SQL • Q&A 3
  • 4. Espresso Logic Declarative development for data-intensive apps • RESTful API • Reactive programming and JavaScript for logic • Fine grain role-based security • Application lifecycle facilities
  • 6. Today’s world - Heterogeneous data • SQL • JSON • EDI • CSV • XML • SOAP • ODATA <book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> </book> <workspace> <atom:title>Default</atom:title> <collection href="Categories"> <atom:title>Categories</atom:title> </collection> <collection href="CustomerDemographics"> <atom:title>CustomerDemographics</atom:title> </collection> <collection href="Customers"> <atom:title>Customers</atom:title> </collection>
  • 7. SQL vs MongoDB Concepts SQL Terms/concepts MongoDB Terms/concepts DATABASE DATABASE TABLE COLLECTION ROW DOCUMENT OR BSON DOCUMENT COLUMN FIELD INDEX INDEX TABLE JOINS EMBEDDED DOCUMENTS AND LINKING PRIMARY KEY PRIMARY KEY TRANSACTIONS BEGIN, COMMIT/ROLLBACK NA SCHEMA NA
  • 8. Language Syntax is different 8 SQL Terms, Function, Concepts MongoDB Aggregation Operators WHERE $match GROUP BY $group HAVING $match SELECT $project ORDER BY $sort LIMIT $limit SUM $sum COUNT $count JOIN No direct support
  • 9. Use Cases for MongoDB & SQL Drivers: Scale, Size, Cost Drivers: ACID, Reporting, Familiarity MongoDB – Big Data – Business Intelligence – New Mobile Apps (high volume reads) – Logs and Web events – Product and Image catalogs – Content Management SQL Database – Financial and Accounting – Legacy Business Applications – Anything that involves $$$
  • 10. Blending MongoDB and SQL SQL and MongoDB – Financial and Sales transactions with archived history – Account and Payment Processing – Shopping Carts and Order Entry How do we do this?
  • 11. We need a RESTful Server http://eval.espressologic.com/rest/sample/demo/v1/ Multiple Data Sources Endpoints: /customer/{id} /employee/{id} /customerWithOrders /product/{id} { “@metadata": { "checksum": "A:6c253d56830572ea", }, "name": "Alpha and Sons", "balance": 0, "credit_limit": 9000 } …. so you need to build a REST Server
  • 12. Building a secure REST Integration Server Apache Tomcat Hibernate (JPA) Entity Framework/WCF JDBC Driver Jersey/Jackson Logging Library (log4J) Web Hosting Servlet API Identity Security services JavaScript engine Configuration Properties User & roles definitions, SQL and NoSQL Server connections Declarative (Reactive) Rules Role-based Access Control Schema ORM Model Security tokens REST API definitions Event Code metadata Now we need to host this…
  • 13. Fast & Easy Way SQL “ name": "Alpha and Sons", "balance": 4484, "MongoOrders": [ { "_id": { "$oid": "53d64c59a32268822c09e994" }, "order_number": 1, "amount_total": 1079, "salesrep_id": 2, "items": [ { "_id": { "$oid": "53d64c38a32268822c09e746" }, "lineitem_id": 1, "product_number": 4, "amount": 600 },
  • 14. Espresso Logic Architecture Complete On-premise VM Appliance or Cloud Managed Service
  • 15. Support for your SQL and NoSQL Database
  • 16. Step 1 – Connect Existing SQL Database SQL Instant RESTful Endpoints • Tables • Views • Stored Procedures
  • 17. Step 2- Creating REST endpoints 1. Name a new resource 2. Specify the SQL table 3. Add Mongo sub-documents
  • 18. Step 3- Blending MongoDB with SQL Point and Click 1. Select Parent SQL 2. Add Sub Document 3. Enter MongoDB Server, database, and collection 4. Specify ‘join’ Test in REST Lab
  • 19. Test REST Lab to Blended API
  • 20. View in Live Browser RESOURCES TABLES
  • 21. Step 4 – Customize your API • Alias Attributes (rename) • Change format • Select/Project columns to include • Add new virtual columns (Row Event) • Filter/Sort • Limit/Offset (paging)
  • 23. What’s Next • Business logic via reactive programming & JavaScript • Adding authentication to your new REST Server • Setting up users and roles • Column and row level security
  • 24. Summary • Applications today need to support multiple databases • Building a Rest Integration Server • With Espresso, need just four simple steps to join Mongo and SQL in a single REST API – Connect to multiple databases – Create new REST endpoints – 'Join' Mongo and SQL with point-and-click – Test the REST API
  • 25. Next steps • Webinar next week From specs to an app: 10X faster with reactive programming • Sign up for a free trial – Build a proof of concept with your data Let us help you connect to your data
  • 26. Thank You Questions???? www.espressologic.com Technical: tyler@espressologic.com Business: ron@espressologic.com

Editor's Notes

  1. New Company with a long history of delivering enterprise business applications
  2. Introduction of topic, company, and people
  3. Long history of Logic on different platforms -VB/Stored Procs, CORBA, J2EE, Hibernate, REST
  4. Shown JSON, XML, SQL TDS, and ODATA – many formats and translations to a single REST JSON API
  5. Many similarities and a few differences – NO SCHEMA & No Transactions are big ones
  6. Language syntax differences – pipeline (programmer does the order of operations in MongoDB)
  7. Scalable (replica, sharding, clusters) – split slides (Atomicity, Consistency, Isolation, Durability)
  8. REST is simply and easy to consume (hide abstraction). Great for Mobile apps and for public consumption of information (see. Healthcare.gov) -- Need to be a REST Server
  9. A lot to learn and a lot to build (left side) then you need to figure out where and how to maintain and store the meta data. This is before you pick your Mobile front-end
  10. Clock/race car
  11. A Complete stack with a UI to edit and manage every aspect of building and delivery of RESTful API’s connect to SQL and MongoDB (as well as any backend service)
  12. Demo starts here
  13. Point and Click, Alias and Format columns, filters, sorts (Live Demo) – No Jagging
  14. Live Demo
  15. Select any table, view, stored procedure, or user-defined resource - Live Demo
  16. Instant documentation using Swagger Spec
  17. Security, Business Logic
  18. Connect, Create resources, test (mongo and sql) in single REST
  19. Architecture REST Resources Data Integration Security Logic Tutorial Live Browser (Instant View UI)