SlideShare a Scribd company logo
Rapid API Development
with LoopBack/StrongLoop
Raymond Camden
Rabid API Development
Who am I?
Developer Advocate for IBM
StrongLoop, Bluemix, Cordova/
PhoneGap, Node, and web stuff in general
Blogging at raymondcamden.com
Tweeting at @raymondcamden
https://unsplash.com/pjrvs
How I did web sites (old days)
How I did web sites (old days)
Focused heavily on an app server
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
Ex:
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
Ex:
Client: "I need a list of cats"
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
Ex:
Client: "I need a list of cats"
Server: "I'll ask the database for the list."
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
Ex:
Client: "I need a list of cats"
Server: "I'll ask the database for the list."
Server: "I'll take that list and generate a lot of HTML to render it"
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
Ex:
Client: "I need a list of cats"
Server: "I'll ask the database for the list."
Server: "I'll take that list and generate a lot of HTML to render it"
Server: "I'll wrap that display in some site template with dynamic junk"
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
Ex:
Client: "I need a list of cats"
Server: "I'll ask the database for the list."
Server: "I'll take that list and generate a lot of HTML to render it"
Server: "I'll wrap that display in some site template with dynamic junk"
Server: "I'll return a big pile of HTML to you"
How I did web sites (old days)
Focused heavily on an app server
App server did everything (database access, generating HTML, etc)
Client-side was really limited
Ex:
Client: "I need a list of cats"
Server: "I'll ask the database for the list."
Server: "I'll take that list and generate a lot of HTML to render it"
Server: "I'll wrap that display in some site template with dynamic junk"
Server: "I'll return a big pile of HTML to you"
How I do web sites now...
How I do web sites now...
The client doesn't suck anymore!
How I do web sites now...
The client doesn't suck anymore!
Mobile is everywhere - apps, apps, and more apps!
How I do web sites now...
The client doesn't suck anymore!
Mobile is everywhere - apps, apps, and more apps!
My server just responds to API calls
How I do web sites now...
The client doesn't suck anymore!
Mobile is everywhere - apps, apps, and more apps!
My server just responds to API calls
Ex:
How I do web sites now...
The client doesn't suck anymore!
Mobile is everywhere - apps, apps, and more apps!
My server just responds to API calls
Ex:
Client: "Give me a list of cats"
How I do web sites now...
The client doesn't suck anymore!
Mobile is everywhere - apps, apps, and more apps!
My server just responds to API calls
Ex:
Client: "Give me a list of cats"
Server: "Here is a list in raw JSON"
How I do web sites now...
The client doesn't suck anymore!
Mobile is everywhere - apps, apps, and more apps!
My server just responds to API calls
Ex:
Client: "Give me a list of cats"
Server: "Here is a list in raw JSON"
Client: "Thanks, you're awesome, I'll render it"
How I do web sites now...
The client doesn't suck anymore!
Mobile is everywhere - apps, apps, and more apps!
My server just responds to API calls
Ex:
Client: "Give me a list of cats"
Server: "Here is a list in raw JSON"
Client: "Thanks, you're awesome, I'll render it"
The Server in 2016
The Server in 2016
Smaller
The Server in 2016
Smaller
Simpler
The Server in 2016
Smaller
Simpler
Just an API provider
The Server in 2016
Smaller
Simpler
Just an API provider
Not some big machine I rent
"Typical" Setup (Then)
Apache
Adobe ColdFusion
MySQL
Minimal JavaScript on the client
"Typical" Setup (Now)
Node.js
Express
Cloudant/MongoDB/etc
JavaScript on the server, client,
cloud, breakfast, etc
A confession...
Credit: https://flic.kr/p/9wXA3J
Express
Express
No boilerplate web server crap
Express
No boilerplate web server crap
Focused on rapidly building a web site/app
LoopBack
LoopBack
Open source framework designed for APIs
LoopBack
Open source framework designed for APIs
Rapid creation of Models and RESTAPIs
LoopBack
Open source framework designed for APIs
Rapid creation of Models and RESTAPIs
Simple ORM system for CRUD
LoopBack
Open source framework designed for APIs
Rapid creation of Models and RESTAPIs
Simple ORM system for CRUD
Support for JavaScript apps (Angular)
LoopBack
Open source framework designed for APIs
Rapid creation of Models and RESTAPIs
Simple ORM system for CRUD
Support for JavaScript apps (Angular)
Very detailed/configurable security policies
LoopBack
Open source framework designed for APIs
Rapid creation of Models and RESTAPIs
Simple ORM system for CRUD
Support for JavaScript apps (Angular)
Very detailed/configurable security policies
loopback.io
StrongLoop
StrongLoop
Graphical tool for working with LoopBack
StrongLoop
Graphical tool for working with LoopBack
Deployment
StrongLoop
Graphical tool for working with LoopBack
Deployment
Management
StrongLoop
Graphical tool for working with LoopBack
Deployment
Management
Monitoring
StrongLoop
Graphical tool for working with LoopBack
Deployment
Management
Monitoring
Debugging
StrongLoop
Graphical tool for working with LoopBack
Deployment
Management
Monitoring
Debugging
strongloop.com
Getting Started
Installation
Requires npm (Node Package Manager)
Install Node.js (nodejs.org)
npm install –g strongloop
CLI: slc
Creating an Application
Creating an Application
slc loopback
Creating an Application
slc loopback
Follow the prompts
Creating an Application
slc loopback
Follow the prompts
Define models
Creating an Application
slc loopback
Follow the prompts
Define models
Run the application
Enter the StrongLoop
Enter the StrongLoop
Runs on top of LoopBack
Enter the StrongLoop
Runs on top of LoopBack
Does a heck of a lot more than I'm
showing today
Enter the StrongLoop
Runs on top of LoopBack
Does a heck of a lot more than I'm
showing today
To be clear - this is optional
–Bobby Tables
“I should just put a cat picture here.”
Then what?
Then what?
Setup a datasource
Then what?
Setup a datasource
Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
Then what?
Setup a datasource
Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
npm install loopback-connector-mongodb --save
Then what?
Setup a datasource
Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
npm install loopback-connector-mongodb --save
Setup security
Then what?
Setup a datasource
Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
npm install loopback-connector-mongodb --save
Setup security
Add custom methods
Then what?
Setup a datasource
Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
npm install loopback-connector-mongodb --save
Setup security
Add custom methods
Unique stuff (/api/Cats?filter[where][friendly]=true vs /friendlyCats)
Then what?
Setup a datasource
Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
npm install loopback-connector-mongodb --save
Setup security
Add custom methods
Unique stuff (/api/Cats?filter[where][friendly]=true vs /friendlyCats)
Customize how data is stored ("If friendly, change name to…")
Then what?
Setup a datasource
Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
npm install loopback-connector-mongodb --save
Setup security
Add custom methods
Unique stuff (/api/Cats?filter[where][friendly]=true vs /friendlyCats)
Customize how data is stored ("If friendly, change name to…")
Build your client
–Bobby Tables
“I bet I could find a meme pic for this slide.”
Stuff I didn't cover
Stuff I didn't cover
Customize the heck out of it
Stuff I didn't cover
Customize the heck out of it
File support
Stuff I didn't cover
Customize the heck out of it
File support
Totally custom storage
Stuff I didn't cover
Customize the heck out of it
File support
Totally custom storage
API-based model
Stuff I didn't cover
Customize the heck out of it
File support
Totally custom storage
API-based model
All the performance/deployment/scaling/etc
More stuff I didn't cover
More stuff I didn't cover
API Connect
More stuff I didn't cover
API Connect
Node or Java
More stuff I didn't cover
API Connect
Node or Java
API Creation, Management, Security, etc
More stuff I didn't cover
API Connect
Node or Java
API Creation, Management, Security, etc
Available March 15
Wrap up
Zero to API in less than 5 minutes
REST compliant - if you hate the prototype, you can rebuild
https://docs.strongloop.com
Any questions?
You can email here: raymondcamden@gmail.com
You can follow me here: @raymondcamden (all serious stuff, no cat pics,
honest)
You can read my stuff here: www.raymondcamden.com (I won't lie - there's a
few cat pics here)

More Related Content

What's hot

Web Application Frameworks (WAF)
Web Application Frameworks (WAF)Web Application Frameworks (WAF)
Web Application Frameworks (WAF)Ako Kaman
 
Five Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your CodeFive Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your Code
3scale
 
Making your API behave like a big boy
Making your API behave like a big boyMaking your API behave like a big boy
Making your API behave like a big boy
Andrew Siemer
 
Getting Started With Angular
Getting Started With AngularGetting Started With Angular
Getting Started With Angular
Stormpath
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
iCiDIGITAL
 
Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014
David M. Johnson
 
Creating an Effective Mobile API
Creating an Effective Mobile API Creating an Effective Mobile API
Creating an Effective Mobile API
Nick DeNardis
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
 
Padrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraPadrino - the Godfather of Sinatra
Padrino - the Godfather of Sinatra
Stoyan Zhekov
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
Bojan Veljanovski
 
Simple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerSimple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and Swagger
LeanIX GmbH
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
Danilo Poccia
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Matt Raible
 
Unleash the power of HTTP with ASP.NET Web API
Unleash the power of HTTP with ASP.NET Web APIUnleash the power of HTTP with ASP.NET Web API
Unleash the power of HTTP with ASP.NET Web APIFilip W
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
Mario Cardinal
 
2010 07-20 TDD with ActiveResource
2010 07-20 TDD with ActiveResource2010 07-20 TDD with ActiveResource
2010 07-20 TDD with ActiveResource
Wolfram Arnold
 
Fluxible
FluxibleFluxible
Fluxible
Taylor Lovett
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
Tony Tam
 

What's hot (20)

Web Application Frameworks (WAF)
Web Application Frameworks (WAF)Web Application Frameworks (WAF)
Web Application Frameworks (WAF)
 
Five Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your CodeFive Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your Code
 
Making your API behave like a big boy
Making your API behave like a big boyMaking your API behave like a big boy
Making your API behave like a big boy
 
Getting Started With Angular
Getting Started With AngularGetting Started With Angular
Getting Started With Angular
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
 
Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014Introduction to Usergrid - ApacheCon EU 2014
Introduction to Usergrid - ApacheCon EU 2014
 
Creating an Effective Mobile API
Creating an Effective Mobile API Creating an Effective Mobile API
Creating an Effective Mobile API
 
Cqrs api v2
Cqrs api v2Cqrs api v2
Cqrs api v2
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
 
Padrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraPadrino - the Godfather of Sinatra
Padrino - the Godfather of Sinatra
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
 
Simple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and SwaggerSimple REST-APIs with Dropwizard and Swagger
Simple REST-APIs with Dropwizard and Swagger
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
 
Unleash the power of HTTP with ASP.NET Web API
Unleash the power of HTTP with ASP.NET Web APIUnleash the power of HTTP with ASP.NET Web API
Unleash the power of HTTP with ASP.NET Web API
 
Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.Best Practices for Architecting a Pragmatic Web API.
Best Practices for Architecting a Pragmatic Web API.
 
2010 07-20 TDD with ActiveResource
2010 07-20 TDD with ActiveResource2010 07-20 TDD with ActiveResource
2010 07-20 TDD with ActiveResource
 
Fluxible
FluxibleFluxible
Fluxible
 
SOA on Rails
SOA on RailsSOA on Rails
SOA on Rails
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
 

Viewers also liked

Authenticating and Securing Node.js APIs
Authenticating and Securing Node.js APIsAuthenticating and Securing Node.js APIs
Authenticating and Securing Node.js APIs
Jimmy Guerrero
 
IBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPagesIBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPages
Niklas Heidloff
 
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
 
Micro Gateways are a Big Deal
Micro Gateways are a Big DealMicro Gateways are a Big Deal
Micro Gateways are a Big Deal
Joe Sepi
 
20150127 RAD스튜디오와 사물인터넷(IoT)
20150127 RAD스튜디오와 사물인터넷(IoT)20150127 RAD스튜디오와 사물인터넷(IoT)
20150127 RAD스튜디오와 사물인터넷(IoT)Devgear
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerJohn Willis
 
Collaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixCollaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM Bluemix
Niklas Heidloff
 
Docker with Cloud Service GCPUG
Docker with Cloud Service  GCPUGDocker with Cloud Service  GCPUG
Docker with Cloud Service GCPUG
Caesar Chi
 
Getting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi FrameworkGetting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi Framework
Jimmy Guerrero
 
Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetup
Shubhra Kar
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
Naresh Chintalcheru
 
Will js kill css
Will js kill cssWill js kill css
Will js kill css
Bruno Mendes
 
Streaming Patterns Revolutionary Architectures with the Kafka API
Streaming Patterns Revolutionary Architectures with the Kafka APIStreaming Patterns Revolutionary Architectures with the Kafka API
Streaming Patterns Revolutionary Architectures with the Kafka API
Carol McDonald
 
Top 10 Web Security Vulnerabilities
Top 10 Web Security VulnerabilitiesTop 10 Web Security Vulnerabilities
Top 10 Web Security Vulnerabilities
Carol McDonald
 
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
Amazon Web Services
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
흥배 최
 
Best Practices for API Security
Best Practices for API SecurityBest Practices for API Security
Best Practices for API Security
MuleSoft
 
1인개발자가되기전알아야할것들
1인개발자가되기전알아야할것들1인개발자가되기전알아야할것들
1인개발자가되기전알아야할것들
Jinsub Jung
 
Deep-Dive: API Security in the Digital Age
Deep-Dive: API Security in the Digital AgeDeep-Dive: API Security in the Digital Age
Deep-Dive: API Security in the Digital Age
Apigee | Google Cloud
 
APIs: The Bridge to IoT
APIs: The Bridge to IoT APIs: The Bridge to IoT
APIs: The Bridge to IoT
WSO2
 

Viewers also liked (20)

Authenticating and Securing Node.js APIs
Authenticating and Securing Node.js APIsAuthenticating and Securing Node.js APIs
Authenticating and Securing Node.js APIs
 
IBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPagesIBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPages
 
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
 
Micro Gateways are a Big Deal
Micro Gateways are a Big DealMicro Gateways are a Big Deal
Micro Gateways are a Big Deal
 
20150127 RAD스튜디오와 사물인터넷(IoT)
20150127 RAD스튜디오와 사물인터넷(IoT)20150127 RAD스튜디오와 사물인터넷(IoT)
20150127 RAD스튜디오와 사물인터넷(IoT)
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Collaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixCollaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM Bluemix
 
Docker with Cloud Service GCPUG
Docker with Cloud Service  GCPUGDocker with Cloud Service  GCPUG
Docker with Cloud Service GCPUG
 
Getting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi FrameworkGetting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi Framework
 
Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetup
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
 
Will js kill css
Will js kill cssWill js kill css
Will js kill css
 
Streaming Patterns Revolutionary Architectures with the Kafka API
Streaming Patterns Revolutionary Architectures with the Kafka APIStreaming Patterns Revolutionary Architectures with the Kafka API
Streaming Patterns Revolutionary Architectures with the Kafka API
 
Top 10 Web Security Vulnerabilities
Top 10 Web Security VulnerabilitiesTop 10 Web Security Vulnerabilities
Top 10 Web Security Vulnerabilities
 
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
 
Best Practices for API Security
Best Practices for API SecurityBest Practices for API Security
Best Practices for API Security
 
1인개발자가되기전알아야할것들
1인개발자가되기전알아야할것들1인개발자가되기전알아야할것들
1인개발자가되기전알아야할것들
 
Deep-Dive: API Security in the Digital Age
Deep-Dive: API Security in the Digital AgeDeep-Dive: API Security in the Digital Age
Deep-Dive: API Security in the Digital Age
 
APIs: The Bridge to IoT
APIs: The Bridge to IoT APIs: The Bridge to IoT
APIs: The Bridge to IoT
 

Similar to Rapid API Development with LoopBack/StrongLoop

High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010Barry Abrahamson
 
Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
FDConf
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
Jan Jongboom
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
robinb123
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetecture
leo lapworth
 
Development in the could: How do we do it(Cloud computing. Microservices. Faas)
Development in the could: How do we do it(Cloud computing. Microservices. Faas)Development in the could: How do we do it(Cloud computing. Microservices. Faas)
Development in the could: How do we do it(Cloud computing. Microservices. Faas)
Preply.com
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
Shubhra Kar
 
Hosting Your Own OTA Update Service
Hosting Your Own OTA Update ServiceHosting Your Own OTA Update Service
Hosting Your Own OTA Update Service
Quinlan Jung
 
Scale, baby, scale!
Scale, baby, scale!Scale, baby, scale!
Scale, baby, scale!
Julien SIMON
 
Netapp Michael Galpin
Netapp Michael GalpinNetapp Michael Galpin
Netapp Michael Galpinrajivmordani
 
Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"
Fwdays
 
Grown-up javascript with AngularJS
Grown-up javascript with AngularJSGrown-up javascript with AngularJS
Grown-up javascript with AngularJS
Mykhailo Kotsur
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
The Power of Open Data
The Power of Open DataThe Power of Open Data
The Power of Open Data
Phil Windley
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moon
davejohnson
 
Use drupal 8 as a framework the romance recalibration
Use drupal 8 as a framework   the romance recalibrationUse drupal 8 as a framework   the romance recalibration
Use drupal 8 as a framework the romance recalibration
Kevin Wenger
 
Mojolicious
MojoliciousMojolicious
Mojolicious
Marcus Ramberg
 
Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)
Julien SIMON
 
NDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my MoncaiNDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my Moncai
moncai
 

Similar to Rapid API Development with LoopBack/StrongLoop (20)

High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetecture
 
Development in the could: How do we do it(Cloud computing. Microservices. Faas)
Development in the could: How do we do it(Cloud computing. Microservices. Faas)Development in the could: How do we do it(Cloud computing. Microservices. Faas)
Development in the could: How do we do it(Cloud computing. Microservices. Faas)
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
Hosting Your Own OTA Update Service
Hosting Your Own OTA Update ServiceHosting Your Own OTA Update Service
Hosting Your Own OTA Update Service
 
Scale, baby, scale!
Scale, baby, scale!Scale, baby, scale!
Scale, baby, scale!
 
Netapp Michael Galpin
Netapp Michael GalpinNetapp Michael Galpin
Netapp Michael Galpin
 
Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"
 
Grown-up javascript with AngularJS
Grown-up javascript with AngularJSGrown-up javascript with AngularJS
Grown-up javascript with AngularJS
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
The Power of Open Data
The Power of Open DataThe Power of Open Data
The Power of Open Data
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moon
 
Use drupal 8 as a framework the romance recalibration
Use drupal 8 as a framework   the romance recalibrationUse drupal 8 as a framework   the romance recalibration
Use drupal 8 as a framework the romance recalibration
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)
 
NDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my MoncaiNDC 2011 - Let me introduce my Moncai
NDC 2011 - Let me introduce my Moncai
 

More from Raymond Camden

Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared To
Raymond Camden
 
Going Serverless with OpenWhisk
Going Serverless with OpenWhiskGoing Serverless with OpenWhisk
Going Serverless with OpenWhisk
Raymond Camden
 
Don't Over-React - just use Vue!
Don't Over-React - just use Vue!Don't Over-React - just use Vue!
Don't Over-React - just use Vue!
Raymond Camden
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
Raymond Camden
 
Hybrid Mobile Development and MobileFirst
Hybrid Mobile Development and MobileFirstHybrid Mobile Development and MobileFirst
Hybrid Mobile Development and MobileFirst
Raymond Camden
 
Introduction to Cordova
Introduction to CordovaIntroduction to Cordova
Introduction to Cordova
Raymond Camden
 
Static Sites - Bringing Web 1.0 Back
Static Sites - Bringing Web 1.0 BackStatic Sites - Bringing Web 1.0 Back
Static Sites - Bringing Web 1.0 Back
Raymond Camden
 
Leveling Up at JavaScript
Leveling Up at JavaScriptLeveling Up at JavaScript
Leveling Up at JavaScript
Raymond Camden
 
The Other Dev Tools
The Other Dev ToolsThe Other Dev Tools
The Other Dev Tools
Raymond Camden
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Raymond Camden
 
ColdFusion 10
ColdFusion 10ColdFusion 10
ColdFusion 10
Raymond Camden
 

More from Raymond Camden (11)

Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared To
 
Going Serverless with OpenWhisk
Going Serverless with OpenWhiskGoing Serverless with OpenWhisk
Going Serverless with OpenWhisk
 
Don't Over-React - just use Vue!
Don't Over-React - just use Vue!Don't Over-React - just use Vue!
Don't Over-React - just use Vue!
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
 
Hybrid Mobile Development and MobileFirst
Hybrid Mobile Development and MobileFirstHybrid Mobile Development and MobileFirst
Hybrid Mobile Development and MobileFirst
 
Introduction to Cordova
Introduction to CordovaIntroduction to Cordova
Introduction to Cordova
 
Static Sites - Bringing Web 1.0 Back
Static Sites - Bringing Web 1.0 BackStatic Sites - Bringing Web 1.0 Back
Static Sites - Bringing Web 1.0 Back
 
Leveling Up at JavaScript
Leveling Up at JavaScriptLeveling Up at JavaScript
Leveling Up at JavaScript
 
The Other Dev Tools
The Other Dev ToolsThe Other Dev Tools
The Other Dev Tools
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
ColdFusion 10
ColdFusion 10ColdFusion 10
ColdFusion 10
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
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
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
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
 
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
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
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
 
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
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
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
 
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
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
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
 
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...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
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
 
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
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
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
 
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...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 

Rapid API Development with LoopBack/StrongLoop

  • 1. Rapid API Development with LoopBack/StrongLoop Raymond Camden
  • 3. Who am I? Developer Advocate for IBM StrongLoop, Bluemix, Cordova/ PhoneGap, Node, and web stuff in general Blogging at raymondcamden.com Tweeting at @raymondcamden
  • 4.
  • 5.
  • 7. How I did web sites (old days)
  • 8. How I did web sites (old days) Focused heavily on an app server
  • 9. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc)
  • 10. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited
  • 11. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited Ex:
  • 12. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited Ex: Client: "I need a list of cats"
  • 13. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited Ex: Client: "I need a list of cats" Server: "I'll ask the database for the list."
  • 14. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited Ex: Client: "I need a list of cats" Server: "I'll ask the database for the list." Server: "I'll take that list and generate a lot of HTML to render it"
  • 15. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited Ex: Client: "I need a list of cats" Server: "I'll ask the database for the list." Server: "I'll take that list and generate a lot of HTML to render it" Server: "I'll wrap that display in some site template with dynamic junk"
  • 16. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited Ex: Client: "I need a list of cats" Server: "I'll ask the database for the list." Server: "I'll take that list and generate a lot of HTML to render it" Server: "I'll wrap that display in some site template with dynamic junk" Server: "I'll return a big pile of HTML to you"
  • 17. How I did web sites (old days) Focused heavily on an app server App server did everything (database access, generating HTML, etc) Client-side was really limited Ex: Client: "I need a list of cats" Server: "I'll ask the database for the list." Server: "I'll take that list and generate a lot of HTML to render it" Server: "I'll wrap that display in some site template with dynamic junk" Server: "I'll return a big pile of HTML to you"
  • 18. How I do web sites now...
  • 19. How I do web sites now... The client doesn't suck anymore!
  • 20. How I do web sites now... The client doesn't suck anymore! Mobile is everywhere - apps, apps, and more apps!
  • 21. How I do web sites now... The client doesn't suck anymore! Mobile is everywhere - apps, apps, and more apps! My server just responds to API calls
  • 22. How I do web sites now... The client doesn't suck anymore! Mobile is everywhere - apps, apps, and more apps! My server just responds to API calls Ex:
  • 23. How I do web sites now... The client doesn't suck anymore! Mobile is everywhere - apps, apps, and more apps! My server just responds to API calls Ex: Client: "Give me a list of cats"
  • 24. How I do web sites now... The client doesn't suck anymore! Mobile is everywhere - apps, apps, and more apps! My server just responds to API calls Ex: Client: "Give me a list of cats" Server: "Here is a list in raw JSON"
  • 25. How I do web sites now... The client doesn't suck anymore! Mobile is everywhere - apps, apps, and more apps! My server just responds to API calls Ex: Client: "Give me a list of cats" Server: "Here is a list in raw JSON" Client: "Thanks, you're awesome, I'll render it"
  • 26. How I do web sites now... The client doesn't suck anymore! Mobile is everywhere - apps, apps, and more apps! My server just responds to API calls Ex: Client: "Give me a list of cats" Server: "Here is a list in raw JSON" Client: "Thanks, you're awesome, I'll render it"
  • 28. The Server in 2016 Smaller
  • 29. The Server in 2016 Smaller Simpler
  • 30. The Server in 2016 Smaller Simpler Just an API provider
  • 31. The Server in 2016 Smaller Simpler Just an API provider Not some big machine I rent
  • 32. "Typical" Setup (Then) Apache Adobe ColdFusion MySQL Minimal JavaScript on the client
  • 33. "Typical" Setup (Now) Node.js Express Cloudant/MongoDB/etc JavaScript on the server, client, cloud, breakfast, etc
  • 38. Express No boilerplate web server crap Focused on rapidly building a web site/app
  • 40. LoopBack Open source framework designed for APIs
  • 41. LoopBack Open source framework designed for APIs Rapid creation of Models and RESTAPIs
  • 42. LoopBack Open source framework designed for APIs Rapid creation of Models and RESTAPIs Simple ORM system for CRUD
  • 43. LoopBack Open source framework designed for APIs Rapid creation of Models and RESTAPIs Simple ORM system for CRUD Support for JavaScript apps (Angular)
  • 44. LoopBack Open source framework designed for APIs Rapid creation of Models and RESTAPIs Simple ORM system for CRUD Support for JavaScript apps (Angular) Very detailed/configurable security policies
  • 45. LoopBack Open source framework designed for APIs Rapid creation of Models and RESTAPIs Simple ORM system for CRUD Support for JavaScript apps (Angular) Very detailed/configurable security policies loopback.io
  • 47. StrongLoop Graphical tool for working with LoopBack
  • 48. StrongLoop Graphical tool for working with LoopBack Deployment
  • 49. StrongLoop Graphical tool for working with LoopBack Deployment Management
  • 50. StrongLoop Graphical tool for working with LoopBack Deployment Management Monitoring
  • 51. StrongLoop Graphical tool for working with LoopBack Deployment Management Monitoring Debugging
  • 52. StrongLoop Graphical tool for working with LoopBack Deployment Management Monitoring Debugging strongloop.com
  • 54. Installation Requires npm (Node Package Manager) Install Node.js (nodejs.org) npm install –g strongloop CLI: slc
  • 55.
  • 58. Creating an Application slc loopback Follow the prompts
  • 59. Creating an Application slc loopback Follow the prompts Define models
  • 60. Creating an Application slc loopback Follow the prompts Define models Run the application
  • 61.
  • 63. Enter the StrongLoop Runs on top of LoopBack
  • 64. Enter the StrongLoop Runs on top of LoopBack Does a heck of a lot more than I'm showing today
  • 65. Enter the StrongLoop Runs on top of LoopBack Does a heck of a lot more than I'm showing today To be clear - this is optional
  • 66. –Bobby Tables “I should just put a cat picture here.”
  • 68. Then what? Setup a datasource
  • 69. Then what? Setup a datasource Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server
  • 70. Then what? Setup a datasource Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server npm install loopback-connector-mongodb --save
  • 71. Then what? Setup a datasource Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server npm install loopback-connector-mongodb --save Setup security
  • 72. Then what? Setup a datasource Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server npm install loopback-connector-mongodb --save Setup security Add custom methods
  • 73. Then what? Setup a datasource Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server npm install loopback-connector-mongodb --save Setup security Add custom methods Unique stuff (/api/Cats?filter[where][friendly]=true vs /friendlyCats)
  • 74. Then what? Setup a datasource Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server npm install loopback-connector-mongodb --save Setup security Add custom methods Unique stuff (/api/Cats?filter[where][friendly]=true vs /friendlyCats) Customize how data is stored ("If friendly, change name to…")
  • 75. Then what? Setup a datasource Cloudant, DB2, Memory, MongoDB, MySQL, Oracle, PostgreSQL, Redis, SQL Server npm install loopback-connector-mongodb --save Setup security Add custom methods Unique stuff (/api/Cats?filter[where][friendly]=true vs /friendlyCats) Customize how data is stored ("If friendly, change name to…") Build your client
  • 76. –Bobby Tables “I bet I could find a meme pic for this slide.”
  • 77. Stuff I didn't cover
  • 78. Stuff I didn't cover Customize the heck out of it
  • 79. Stuff I didn't cover Customize the heck out of it File support
  • 80. Stuff I didn't cover Customize the heck out of it File support Totally custom storage
  • 81. Stuff I didn't cover Customize the heck out of it File support Totally custom storage API-based model
  • 82. Stuff I didn't cover Customize the heck out of it File support Totally custom storage API-based model All the performance/deployment/scaling/etc
  • 83. More stuff I didn't cover
  • 84. More stuff I didn't cover API Connect
  • 85. More stuff I didn't cover API Connect Node or Java
  • 86. More stuff I didn't cover API Connect Node or Java API Creation, Management, Security, etc
  • 87. More stuff I didn't cover API Connect Node or Java API Creation, Management, Security, etc Available March 15
  • 88. Wrap up Zero to API in less than 5 minutes REST compliant - if you hate the prototype, you can rebuild https://docs.strongloop.com
  • 89. Any questions? You can email here: raymondcamden@gmail.com You can follow me here: @raymondcamden (all serious stuff, no cat pics, honest) You can read my stuff here: www.raymondcamden.com (I won't lie - there's a few cat pics here)