SlideShare a Scribd company logo
APIs in minutes with Node.js 
Shubhra Kar 
Product Manager 
Oct 2014
Some StrongLoop personalities 
Bert Belder Ben Noordhuis Al Tsang Jimmy Guerrero 
Issac Roth John Higgins 
Raymond Feng Miroslav Bajtos Sam Roberts Ritchie Martori 
Ryan Graham 
Krishna Raman
3 
Jason Pressman Kiran Prasad 
Neil Day 
Nick Sturiale 
Paul Ambrose 
Marten Mickos 
Fortune 10 
retailer
The Frontend is changing (Mobile First !)
API Economy 
5 
Transaction 
Volume 
1 Billion 5 Billion 50 Billion 
API Endpoints 
Mashups 
SaaS 
Mobile 
IoT
Why APIs 
6 
SaaS Mobile IoT 
SOA 
Web 
App Server 
Database Datacube 
API Server 
HTML JSON
What’s needed ? Legacy services need to fit too ! 
API centric Enterprise 
Thousands to Millions of devices connecting to business APIs 
creating the new user experience 
APIs for each device, each app, each screen. Optimized for bandwidth & battery, 
adjusting to each device’s capabilities
Why Node? 
8 
Node is FAST 
…and highly concurrent! 
Node is perfect for APIs 
Node is JavaScript
What is Node.js? 
• Asynchronous, event-driven, non-blocking I/O platform that is perfect for real-time, 
data-intensive applications. 
• Single thread of execution 
• Built on Chrome’s JavaScript runtime engine, V8 
• Uses Libuv, a high performance evented I/O library that works on Linux and 
Windows (faster than Libev) 
while there are still events to process: 
e = get the next event 
if there is a callback associated with e: 
call the callback
Threads 
Don’t Wait !
Behind the Curtain 
Node Standard Library (JavaScript) 
Node Bindings C/C++ 
(socket, http, etc.) 
V8 
Libuv 
Libeio 
(thread pool) 
Libev 
(event loop) 
IOCP 
(IO 
completion 
ports) 
epoll/kqueue/poll (event 
ports) 
Linux Kernel 
Windows 
Kernel 
Yes, it’s C back there
Why Node.js? 
• Lots of JavaScript programmers out there (>62K) 
• Very large and active developer community 
• Has the most modules (90K > Java)
Why Node.js? 
LinkedIn moved from Rails to Node.js 
– Cut down servers by 90% (30  3) 
– Lower memory overhead and up to 20X faster 
PayPal migrated to Node.js from Java: 
– Reduce development time by >50% 
– 2X speed of delivery with less than existing resources 
– 33% lesser lines of code 
– 40% fewer files 
Groupon displaced Ruby and Java with Node.js across the board: 
– 50% improvement in page response times 
– Agile builds and deploys
Nodies are not just silicon valley hipsters ! 
And most recently…. 
Fortune 10 
Retailer
Why do 2 million developers 
Download Node.js every month?
Node vs Java for REST routing 
16
Node.. 
Roadmap past v0.12 
Upgrade v8 and debugger interface 
Flow Control 
– Promises, Generators, Zones, etc 
Error Reporting 
– Zones 
– Async-Tracker 
Enterprise Ops Integration 
– Logs, Monitoring, Build, Deploy, CI 
Ecosystem 
Reference deployments 
Concurrency 
17 
Breaking C++ API Changes
Async-tracker 
18
Async-tracker: get involved 
19
Ops integration 
20
Error tracking/recovery 
var http = require('http'); 
var cache = {}; 
function curl(url, cb) { 
if (cache[url]) 
return cb(null, cache[url]); 
var data = ''; 
http.get(url, function(res) { 
res.setEncoding('utf8'); 
res.on('data', function(s) { 
data += s; 
}); 
res.on('end', function() { 
cache[url] = data; 
cb(null, data); 
}); 
res.on('error', function(err) { 
cb(err); 
}); 
}); 
} 
// Usage: 
curl('http://www.google.com', console.log); 21
Error tracking/recovery 
var http = require('http'); 
var cache = {}; 
function curl(url, cb) { 
if (cache[url]) 
// WRONG: Synchronous callback 
return cb(null, cache[url]); 
var data = ''; 
http.get(url, function(res) { 
res.setEncoding('utf8'); 
res.on('data', function(s) { 
data += s; 
}); 
res.on('end', function() { 
cache[url] = data; 
cb(null, data); 
}); 
// WRONG: are you sure that 'end' and 'error' are mutually exclusive? 
res.on('error', function(err) { 
cb(err); 
}); 
}); 
// WRONG: the request object may emit 'error' 
} 
22
Error tracking/recovery 
23
Error tracking/recovery 
24
Error tracking/recovery 
25
Zones for Error cleanup 
strongloop.com/zone 
26
What’s coming in Express 
27 
Docs in 
markdown! 
https://github.com/strongloop/expressjs.com/issues
Strongloop and Node.js 
29
Loopback: Open Source API Framework in Node.js 
PUSH 
REST 
API 
GEO 
OFF 
SYNC 
DEVICE 
USER FILE 
Storage 
In-Memory 
REST 
API 
GATEWAY 
Channel SDKs 
CONNECT 
ORM 
API ENGINE 
D 
A 
T 
A 
M 
O 
D 
E 
L 
A 
P 
I 
S 
D 
K 
s 
REST API 
API 
Explorer 
Dev 
Ops 
ON-PREMISES / PRIVATE CLOUD / PUBLIC CLOUD
Upcoming API Gateway
API Gateway (Throttling, Proxy, OAuth) 
API Orchestrator 
Router 
Client SDK 
Isomorphic 
One URL Space 
Push 
API Micro Services 
Store Cache 
SL API PaaS 
Log 
Console 
Perf. 
Console 
Analytics 
Console 
Cloud 
Services 
REST/JSON 
ESB 
Micro-services Architecture 
Connectors 
Enterprise 
Services 
Standalone RDBMS NoSQL SOAP ERP 
Model 
---------- 
---------- 
---------- 
Model 
---------- 
---------- 
---------- 
Model 
---------- 
---------- 
---------- 
REMOTING 
C 
O 
N 
N 
E 
C 
T 
O 
R 
C 
O 
N 
N 
E 
C 
T 
O 
R 
REST 
Endpoints 
Store Cache
Upcoming Distributed Provisioning and Routing 
Provision and Deploy App 
Service Container 
Service Container 
Service Container 
Nginx (LB / SSL) 
Store (State) 
Master 
Worker Worker 
Controller 
Agent 
API Gateway (Routing, Throttling, 
Proxy, OAuth) 
Service Container 
Service Container 
Service Container 
Nginx (LB / SSL) 
Store (State) 
Master 
Worker Worker 
Controller 
Agent 
Store (Groups, Routes and 
State) and Scheduler Server 
REST/JSON 
Service 
Mgr (Exec.) 
Service 
Mgr.
Marquee Features 
Mobile SDKs Pre-Built Services ORM – no SQL 
Auto API Engine Enterprise Connectors API Gateway
Some cool features in Open Source 
Offline Sync & Replication 
Model Auto-Discovery and Relationship 
Connector
Automatic modeling and REST API generated
What’s coming in LoopBack 
GUI 
API Rate limiting 
OAuth 2.0 
Swagger 2.0 
37
& helps realize a full-stack JavaScript solution 
Develop 
Create UI & styling Arch. & binding Access Native Integrate Existing Data and Services 
Create Scaffolding 
Define base CSS 
Define components 
Use JS widgets 
Create Scaffolding 
Define Models 
Define Controllers 
Define Views 
Define Filters 
User 
Device 
File 
GeoLocation 
Notification 
Define Directives 
Configure Routes 
Connect to Data-sources (Oracle, SOAP, Mongo) 
Model the Data 
Generate REST API 
Configure API Security 
Setup Services 
Mobile App Mgmt. 
BLE
Node.js Platform Support 
39 
① Multi-platform (Windows, Unix, Solaris, Mac) support 
② On-premises, private or public cloud support 
③ Certified Node.js curated modules and ecosystem 
④ Commercial Enterprise supported, security updates 
node-inspector 
Passport 
Node-heapdump 
Node.js Core 
Loopback Strong-mq 
strong-cluster-control 
SL-Config 
strong-module- 
loader 
strong-cluster-connect- 
store 
strong-task-emitter 
Engine.io 
Mongoose 
Strong-agent strong-cluster-socket. 
io-store 
Asynch 
strong-config-loader 
Request 
Strong-remoting 
Q 
Connect 
Express 
EJS 
Socket.IO 
Reggie Postgres 
Connector 
Oracle 
Connector 
SQL Server 
Connector 
MongoDB 
Connector 
REST 
Connector 
In-Memory 
connector 
LIBUV 
V8 Profiler
DevOps Tools – Debugging
DevOps Tools – Runtime Mgmt. & Dynamic Scaling
DevOps Tools - Profilers
DevOps Tools - Performance Monitoring
StrongLoop’s commercial business 
Support 
Security subscription 
Training 
Consulting 
API Gateway 
strong-agent – Monitoring 
Connectors to enterprise systems 
API Microservices Mesh Controller

More Related Content

What's hot

Picking the Right Node.js Framework for Your Use Case
Picking the Right Node.js Framework for Your Use CasePicking the Right Node.js Framework for Your Use Case
Picking the Right Node.js Framework for Your Use Case
Jimmy Guerrero
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for Enterprise
Shubhra Kar
 
Building a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 MinutesBuilding a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 Minutes
Raymond Feng
 
Loopback presentation by tineco
Loopback presentation by tinecoLoopback presentation by tineco
Loopback presentation by tineco
Stéphane Guilly
 
Triangle Node Meetup : APIs in Minutes with Node.js
Triangle Node Meetup :  APIs in Minutes with Node.jsTriangle Node Meetup :  APIs in Minutes with Node.js
Triangle Node Meetup : APIs in Minutes with Node.js
Shubhra Kar
 
Node.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns WebinarNode.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns Webinar
Shubhra Kar
 
Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetup
Shubhra Kar
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
Shubhra Kar
 
Connect js nodejs_devops_shubhra
Connect js nodejs_devops_shubhraConnect js nodejs_devops_shubhra
Connect js nodejs_devops_shubhra
Shubhra Kar
 
Building Mobile Apps With Ionic & Loopback
Building Mobile Apps With Ionic & LoopbackBuilding Mobile Apps With Ionic & Loopback
Building Mobile Apps With Ionic & Loopback
Chibuzor Obiora
 
Design patterns talk_node_summit
Design patterns talk_node_summitDesign patterns talk_node_summit
Design patterns talk_node_summit
Shubhra Kar
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback framework
Thomas Papaspiros
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Jeff Chu
 
Azure web apps
Azure web appsAzure web apps
Azure web apps
Vaibhav Gujral
 
Building a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutesBuilding a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutes
Thomas Meijers
 
Full Stack Developer
Full Stack DeveloperFull Stack Developer
Full Stack Developer
Akbar Uddin
 
Azure Web Apps Advanced Security
Azure Web Apps Advanced SecurityAzure Web Apps Advanced Security
Azure Web Apps Advanced Security
Udaiappa Ramachandran
 
Azure functions
Azure functionsAzure functions
Azure functions
EducationTamil
 
Qui Quaerit, Reperit. AWS Elasticsearch in Action
Qui Quaerit, Reperit. AWS Elasticsearch in ActionQui Quaerit, Reperit. AWS Elasticsearch in Action
Qui Quaerit, Reperit. AWS Elasticsearch in Action
GlobalLogic Ukraine
 
Scaling APIs: Predict, Prepare for, Overcome the Challenges
Scaling APIs: Predict, Prepare for, Overcome the ChallengesScaling APIs: Predict, Prepare for, Overcome the Challenges
Scaling APIs: Predict, Prepare for, Overcome the ChallengesApigee | Google Cloud
 

What's hot (20)

Picking the Right Node.js Framework for Your Use Case
Picking the Right Node.js Framework for Your Use CasePicking the Right Node.js Framework for Your Use Case
Picking the Right Node.js Framework for Your Use Case
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for Enterprise
 
Building a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 MinutesBuilding a Node.js API backend with LoopBack in 5 Minutes
Building a Node.js API backend with LoopBack in 5 Minutes
 
Loopback presentation by tineco
Loopback presentation by tinecoLoopback presentation by tineco
Loopback presentation by tineco
 
Triangle Node Meetup : APIs in Minutes with Node.js
Triangle Node Meetup :  APIs in Minutes with Node.jsTriangle Node Meetup :  APIs in Minutes with Node.js
Triangle Node Meetup : APIs in Minutes with Node.js
 
Node.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns WebinarNode.js Frameworks & Design Patterns Webinar
Node.js Frameworks & Design Patterns Webinar
 
Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetup
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
 
Connect js nodejs_devops_shubhra
Connect js nodejs_devops_shubhraConnect js nodejs_devops_shubhra
Connect js nodejs_devops_shubhra
 
Building Mobile Apps With Ionic & Loopback
Building Mobile Apps With Ionic & LoopbackBuilding Mobile Apps With Ionic & Loopback
Building Mobile Apps With Ionic & Loopback
 
Design patterns talk_node_summit
Design patterns talk_node_summitDesign patterns talk_node_summit
Design patterns talk_node_summit
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback framework
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
 
Azure web apps
Azure web appsAzure web apps
Azure web apps
 
Building a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutesBuilding a non-blocking REST API in less than 30 minutes
Building a non-blocking REST API in less than 30 minutes
 
Full Stack Developer
Full Stack DeveloperFull Stack Developer
Full Stack Developer
 
Azure Web Apps Advanced Security
Azure Web Apps Advanced SecurityAzure Web Apps Advanced Security
Azure Web Apps Advanced Security
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Qui Quaerit, Reperit. AWS Elasticsearch in Action
Qui Quaerit, Reperit. AWS Elasticsearch in ActionQui Quaerit, Reperit. AWS Elasticsearch in Action
Qui Quaerit, Reperit. AWS Elasticsearch in Action
 
Scaling APIs: Predict, Prepare for, Overcome the Challenges
Scaling APIs: Predict, Prepare for, Overcome the ChallengesScaling APIs: Predict, Prepare for, Overcome the Challenges
Scaling APIs: Predict, Prepare for, Overcome the Challenges
 

Viewers also liked

Doing More with Less: Maximizing Your Recruiting Efforts
Doing More with Less: Maximizing Your Recruiting EffortsDoing More with Less: Maximizing Your Recruiting Efforts
Doing More with Less: Maximizing Your Recruiting Efforts
RecruitingDaily.com LLC
 
Soluciones tecnológicas para REA
Soluciones tecnológicas para REASoluciones tecnológicas para REA
Soluciones tecnológicas para REA
Ricardo Corai
 
Implementación Repositorio De Objetos De Aprendizajes Basado En
Implementación Repositorio De Objetos De Aprendizajes Basado EnImplementación Repositorio De Objetos De Aprendizajes Basado En
Implementación Repositorio De Objetos De Aprendizajes Basado En
f.cabrera1
 
What is Node.js used for: The 2015 Node.js Overview Report
What is Node.js used for: The 2015 Node.js Overview ReportWhat is Node.js used for: The 2015 Node.js Overview Report
What is Node.js used for: The 2015 Node.js Overview Report
Gabor Nagy
 
groovy & grails - lecture 13
groovy & grails - lecture 13groovy & grails - lecture 13
groovy & grails - lecture 13
Alexandre Masselot
 
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
Paola Amadeo
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
MRMtech
 
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Ontico
 
Modern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureModern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & Structure
Raven Tools
 
Why Scala for Web 2.0?
Why Scala for Web 2.0?Why Scala for Web 2.0?
Why Scala for Web 2.0?
Alex Payne
 
Curso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpaceCurso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpace
Servicio de Difusión de la Creación Intelectual (SEDICI)
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.js
Piotr Pelczar
 
Html5 devconf nodejs_devops_shubhra
Html5 devconf nodejs_devops_shubhraHtml5 devconf nodejs_devops_shubhra
Html5 devconf nodejs_devops_shubhra
Shubhra Kar
 
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-SocialWebstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
codinghorror
 
Introducing the New DSpace User Interface
Introducing the New DSpace User InterfaceIntroducing the New DSpace User Interface
Introducing the New DSpace User Interface
Tim Donohue
 
Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics
Rahul Thankachan
 
Coding Dojo In 5 minutes
Coding Dojo In 5 minutesCoding Dojo In 5 minutes
Coding Dojo In 5 minutes
Wouter Lagerweij
 

Viewers also liked (20)

Doing More with Less: Maximizing Your Recruiting Efforts
Doing More with Less: Maximizing Your Recruiting EffortsDoing More with Less: Maximizing Your Recruiting Efforts
Doing More with Less: Maximizing Your Recruiting Efforts
 
Repositorio Institucional para el manejo de Investigaciones de la UNAN-Manag...
 Repositorio Institucional para el manejo de Investigaciones de la UNAN-Manag... Repositorio Institucional para el manejo de Investigaciones de la UNAN-Manag...
Repositorio Institucional para el manejo de Investigaciones de la UNAN-Manag...
 
Soluciones tecnológicas para REA
Soluciones tecnológicas para REASoluciones tecnológicas para REA
Soluciones tecnológicas para REA
 
Implementación Repositorio De Objetos De Aprendizajes Basado En
Implementación Repositorio De Objetos De Aprendizajes Basado EnImplementación Repositorio De Objetos De Aprendizajes Basado En
Implementación Repositorio De Objetos De Aprendizajes Basado En
 
What is Node.js used for: The 2015 Node.js Overview Report
What is Node.js used for: The 2015 Node.js Overview ReportWhat is Node.js used for: The 2015 Node.js Overview Report
What is Node.js used for: The 2015 Node.js Overview Report
 
groovy & grails - lecture 13
groovy & grails - lecture 13groovy & grails - lecture 13
groovy & grails - lecture 13
 
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Stack_Overflow-Network_Graph
Stack_Overflow-Network_GraphStack_Overflow-Network_Graph
Stack_Overflow-Network_Graph
 
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
 
Modern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureModern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & Structure
 
Why Scala for Web 2.0?
Why Scala for Web 2.0?Why Scala for Web 2.0?
Why Scala for Web 2.0?
 
Curso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpaceCurso avanzado de capacitación en DSpace
Curso avanzado de capacitación en DSpace
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.js
 
Html5 devconf nodejs_devops_shubhra
Html5 devconf nodejs_devops_shubhraHtml5 devconf nodejs_devops_shubhra
Html5 devconf nodejs_devops_shubhra
 
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-SocialWebstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
 
Introducing the New DSpace User Interface
Introducing the New DSpace User InterfaceIntroducing the New DSpace User Interface
Introducing the New DSpace User Interface
 
Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics
 
STACK OVERFLOW DATASET ANALYSIS
STACK OVERFLOW DATASET ANALYSISSTACK OVERFLOW DATASET ANALYSIS
STACK OVERFLOW DATASET ANALYSIS
 
Coding Dojo In 5 minutes
Coding Dojo In 5 minutesCoding Dojo In 5 minutes
Coding Dojo In 5 minutes
 

Similar to StrongLoop Overview

Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java Developers
Burr Sutter
 
Apache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless ComputingApache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless Computing
Upkar Lidder
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to Cloud
Stuart Lodge
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
Alexandre Morgaut
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
Chip Childers
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
VMware Tanzu
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
Shubhra Kar
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
Geekstone
 
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architectureDevoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Ben Wilcock
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Arrow Consulting & Design
 
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Md. Sadhan Sarker
 
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
François-Guillaume Ribreau
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
Volker Linz
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
VMware Tanzu
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
VMware Tanzu
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
Lorenzo Barbieri
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
Amazon Web Services
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1Mohammad Qureshi
 

Similar to StrongLoop Overview (20)

Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java Developers
 
Apache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless ComputingApache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless Computing
 
C# Client to Cloud
C# Client to CloudC# Client to Cloud
C# Client to Cloud
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architectureDevoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
 
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
Up and Running with gRPC & Cloud Career [GDG-Cloud-Dhaka-IO/2022}
 
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
 

Recently uploaded

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

StrongLoop Overview

  • 1. APIs in minutes with Node.js Shubhra Kar Product Manager Oct 2014
  • 2. Some StrongLoop personalities Bert Belder Ben Noordhuis Al Tsang Jimmy Guerrero Issac Roth John Higgins Raymond Feng Miroslav Bajtos Sam Roberts Ritchie Martori Ryan Graham Krishna Raman
  • 3. 3 Jason Pressman Kiran Prasad Neil Day Nick Sturiale Paul Ambrose Marten Mickos Fortune 10 retailer
  • 4. The Frontend is changing (Mobile First !)
  • 5. API Economy 5 Transaction Volume 1 Billion 5 Billion 50 Billion API Endpoints Mashups SaaS Mobile IoT
  • 6. Why APIs 6 SaaS Mobile IoT SOA Web App Server Database Datacube API Server HTML JSON
  • 7. What’s needed ? Legacy services need to fit too ! API centric Enterprise Thousands to Millions of devices connecting to business APIs creating the new user experience APIs for each device, each app, each screen. Optimized for bandwidth & battery, adjusting to each device’s capabilities
  • 8. Why Node? 8 Node is FAST …and highly concurrent! Node is perfect for APIs Node is JavaScript
  • 9. What is Node.js? • Asynchronous, event-driven, non-blocking I/O platform that is perfect for real-time, data-intensive applications. • Single thread of execution • Built on Chrome’s JavaScript runtime engine, V8 • Uses Libuv, a high performance evented I/O library that works on Linux and Windows (faster than Libev) while there are still events to process: e = get the next event if there is a callback associated with e: call the callback
  • 11. Behind the Curtain Node Standard Library (JavaScript) Node Bindings C/C++ (socket, http, etc.) V8 Libuv Libeio (thread pool) Libev (event loop) IOCP (IO completion ports) epoll/kqueue/poll (event ports) Linux Kernel Windows Kernel Yes, it’s C back there
  • 12. Why Node.js? • Lots of JavaScript programmers out there (>62K) • Very large and active developer community • Has the most modules (90K > Java)
  • 13. Why Node.js? LinkedIn moved from Rails to Node.js – Cut down servers by 90% (30  3) – Lower memory overhead and up to 20X faster PayPal migrated to Node.js from Java: – Reduce development time by >50% – 2X speed of delivery with less than existing resources – 33% lesser lines of code – 40% fewer files Groupon displaced Ruby and Java with Node.js across the board: – 50% improvement in page response times – Agile builds and deploys
  • 14. Nodies are not just silicon valley hipsters ! And most recently…. Fortune 10 Retailer
  • 15. Why do 2 million developers Download Node.js every month?
  • 16. Node vs Java for REST routing 16
  • 17. Node.. Roadmap past v0.12 Upgrade v8 and debugger interface Flow Control – Promises, Generators, Zones, etc Error Reporting – Zones – Async-Tracker Enterprise Ops Integration – Logs, Monitoring, Build, Deploy, CI Ecosystem Reference deployments Concurrency 17 Breaking C++ API Changes
  • 21. Error tracking/recovery var http = require('http'); var cache = {}; function curl(url, cb) { if (cache[url]) return cb(null, cache[url]); var data = ''; http.get(url, function(res) { res.setEncoding('utf8'); res.on('data', function(s) { data += s; }); res.on('end', function() { cache[url] = data; cb(null, data); }); res.on('error', function(err) { cb(err); }); }); } // Usage: curl('http://www.google.com', console.log); 21
  • 22. Error tracking/recovery var http = require('http'); var cache = {}; function curl(url, cb) { if (cache[url]) // WRONG: Synchronous callback return cb(null, cache[url]); var data = ''; http.get(url, function(res) { res.setEncoding('utf8'); res.on('data', function(s) { data += s; }); res.on('end', function() { cache[url] = data; cb(null, data); }); // WRONG: are you sure that 'end' and 'error' are mutually exclusive? res.on('error', function(err) { cb(err); }); }); // WRONG: the request object may emit 'error' } 22
  • 26. Zones for Error cleanup strongloop.com/zone 26
  • 27. What’s coming in Express 27 Docs in markdown! https://github.com/strongloop/expressjs.com/issues
  • 28.
  • 30. Loopback: Open Source API Framework in Node.js PUSH REST API GEO OFF SYNC DEVICE USER FILE Storage In-Memory REST API GATEWAY Channel SDKs CONNECT ORM API ENGINE D A T A M O D E L A P I S D K s REST API API Explorer Dev Ops ON-PREMISES / PRIVATE CLOUD / PUBLIC CLOUD
  • 32. API Gateway (Throttling, Proxy, OAuth) API Orchestrator Router Client SDK Isomorphic One URL Space Push API Micro Services Store Cache SL API PaaS Log Console Perf. Console Analytics Console Cloud Services REST/JSON ESB Micro-services Architecture Connectors Enterprise Services Standalone RDBMS NoSQL SOAP ERP Model ---------- ---------- ---------- Model ---------- ---------- ---------- Model ---------- ---------- ---------- REMOTING C O N N E C T O R C O N N E C T O R REST Endpoints Store Cache
  • 33. Upcoming Distributed Provisioning and Routing Provision and Deploy App Service Container Service Container Service Container Nginx (LB / SSL) Store (State) Master Worker Worker Controller Agent API Gateway (Routing, Throttling, Proxy, OAuth) Service Container Service Container Service Container Nginx (LB / SSL) Store (State) Master Worker Worker Controller Agent Store (Groups, Routes and State) and Scheduler Server REST/JSON Service Mgr (Exec.) Service Mgr.
  • 34. Marquee Features Mobile SDKs Pre-Built Services ORM – no SQL Auto API Engine Enterprise Connectors API Gateway
  • 35. Some cool features in Open Source Offline Sync & Replication Model Auto-Discovery and Relationship Connector
  • 36. Automatic modeling and REST API generated
  • 37. What’s coming in LoopBack GUI API Rate limiting OAuth 2.0 Swagger 2.0 37
  • 38. & helps realize a full-stack JavaScript solution Develop Create UI & styling Arch. & binding Access Native Integrate Existing Data and Services Create Scaffolding Define base CSS Define components Use JS widgets Create Scaffolding Define Models Define Controllers Define Views Define Filters User Device File GeoLocation Notification Define Directives Configure Routes Connect to Data-sources (Oracle, SOAP, Mongo) Model the Data Generate REST API Configure API Security Setup Services Mobile App Mgmt. BLE
  • 39. Node.js Platform Support 39 ① Multi-platform (Windows, Unix, Solaris, Mac) support ② On-premises, private or public cloud support ③ Certified Node.js curated modules and ecosystem ④ Commercial Enterprise supported, security updates node-inspector Passport Node-heapdump Node.js Core Loopback Strong-mq strong-cluster-control SL-Config strong-module- loader strong-cluster-connect- store strong-task-emitter Engine.io Mongoose Strong-agent strong-cluster-socket. io-store Asynch strong-config-loader Request Strong-remoting Q Connect Express EJS Socket.IO Reggie Postgres Connector Oracle Connector SQL Server Connector MongoDB Connector REST Connector In-Memory connector LIBUV V8 Profiler
  • 40. DevOps Tools – Debugging
  • 41. DevOps Tools – Runtime Mgmt. & Dynamic Scaling
  • 42. DevOps Tools - Profilers
  • 43. DevOps Tools - Performance Monitoring
  • 44. StrongLoop’s commercial business Support Security subscription Training Consulting API Gateway strong-agent – Monitoring Connectors to enterprise systems API Microservices Mesh Controller

Editor's Notes

  1. Jason Pressman Nick – Ignition, Splunk Neil – Walmart Kiran – LinkedIn Marten – MySQL, Eucalyptus Paul – WebLogic Juan Carlos – Informatica
  2. Libuv: Full-featured event loop backed by epoll, kqueue, IOCP, event ports. Asynchronous TCP and UDP sockets Asynchronous DNS resolution Asynchronous file and file system operations File system events ANSI escape code controlled TTY IPC with socket sharing, using Unix domain sockets or named pipes (Windows) Child processes Thread pool Signal handling High resolution clock Threading and synchronization primitives
  3. https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/ https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/#more-1551