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
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"
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"
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
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
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)