SlideShare a Scribd company logo
Shubhra Kar | Products & Education
twitter:@shubhrakar mail:skar@strongloop.com
Frameworks or a Design Pattern ?
About me
StrongLoop Confidential and Proprietary Information – © 2015
u J2EE and SOA architect – Infosys
u Performance architect – Wily à CA
u Node, mBaaS and API stacks - StrongLoop
These guys sent me !
Bert
Belder
Ben
Noordhuis
Node Core
Raymond
Feng
Ritchie
Martori
LoopBack / Express Core
Sam
Roberts
Miroslav
Bajtos
Ryan
Graham
Plus 15 other full-time open source
developers working on Node.js core,
modules and tools.
Contributing to over 100 open source
modules.
Supporting banks, retail, IoT companies,
startups and internet companies on Node.js
Design patterns talk_node_summit
Patterns evolve to serve
market needs; not opinions
Thick	
  
Web	
  
SaaS	
  
Mobile	
   IoT	
  
The new curve: Innovate or Die
10
25
50
100100
50
10
15
40
100
25
Web SaaS Mobile IoT
The new curve
Concurrent Users Latency Adoption
StrongLoop Confidential and Proprietary Information – © 2015
Pattern 0: Natal patterns
StrongLoop Confidential and Proprietary Information – © 2015
Philosophy: KISS (Keep It Simple Stupid)
u small core
u small modules
u small surface area
Patterns
u reactor
u callback
u module
u observer
Pattern 1: Convention
Web Middleware REST API
Pros and Cons
StrongLoop Confidential and Proprietary Information – © 2015
u Pseudo-Opinionated, Express and Restify are DIY
u Middleware
u Strengths
u Express: Web templating, ecosystem
u  Restify: REST API
u Low learning curve
u Restify: Dtrace and SPDY Support
u Weakness
u Manual CRUD
u Manual recursive Testing/Refactoring
Router
in
Express
StrongLoop	
  Confiden.al	
  and	
  Proprietary	
  Informa.on	
  –	
  ©	
  2015	
  
Pattern 2: Configuration
u  Opinionated
u Configuration over
Convention
u Granular HTTP/Webserver
control
u Good plug-in ecosystem
u Supported and well
documented
u Weakness
u Manual CRUD/Refactor/
Testing
u No plug & play with
Express ecosystem
StrongLoop Confidential and Proprietary Information – © 2015
Web Middleware
Router
in
hapi
StrongLoop	
  Confiden.al	
  and	
  Proprietary	
  Informa.on	
  –	
  ©	
  2015	
  
Pattern 3 : Full Stack JS
StrongLoop Confidential and Proprietary Information – © 2015
{“..”} JSON is the new first class citizen
Pattern 4: ORM & Isomorphic JS
u Model Driven Development
u Any data source
u Isomorphic JS
u Omni-Channel
u Share Models (Client/Server)
u Loopback & Meteor
u Automatic REST API
generation, routing, etc
u Weakness
u Higher learning curve
StrongLoop Confidential and Proprietary Information – © 2015
ORM & Isomorphic JS – Loopback.io
JS
client
JS
Server
Remoting
JS
client
StrongLoop Confidential and Proprietary Information – © 2015
Developer SDKs
Router &
Swagger
in Loopback
StrongLoop	
  Confiden.al	
  and	
  Proprietary	
  Informa.on	
  –	
  ©	
  2015	
  
API Economy driven by Mobile / IoT
Mobile	
  and	
  IoT	
  explosion	
  
u Sheer	
  number	
  of	
  
clients	
  has	
  
increased	
  
u Clients	
  are	
  
increasingly	
  
sophis.cated	
  
u Node.js	
  is	
  the	
  
plaHorm	
  of	
  choice	
  
for	
  these	
  API	
  
StrongLoop	
  Confiden.al	
  and	
  Proprietary	
  Informa.on	
  –	
  ©	
  2015	
  
StrongLoop Confidential and Proprietary Information – © 2015
mobile/web
clients
social &
analytics
JSON API
API
XML
SQL
SOAP
Etc.
mBaaS
Mobile API tier
Enterprise	
  
Pattern 5: mBaaS
mBaaS could be on cloud or premises
StrongLoop Confidential and Proprietary Information – © 2015
u Closed Source / Commercial
u Open Source
Key API
u Push Notification
u Geo Location
u Offline Sync
u Storage
u User Management
u Metering, Analytics
u Native SDK
u Isomorphic JS
REST
API
PUSH
GEO
OFF
SYNC
DEVICE
USER FILE
Relational Database Clustered Database Security Gateway Cloud
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SERVER
Quick Example of Use
App S
Add
App Server
Storage
Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one)
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SERVER Items for ACL
Quick Example of Use
App Server
Add On
App Server
REST
API
GATEWAY
Channel SDKs
API ENGINE
C
O
N
N
E
C
T
O
R
s
A
P
I
S
D
K
s
Open Source ORM, mBaaS and API framework
REST API
atabase Security Gateway Cloud Firewall SOA Bus ( not sure on this one)
Phone IoT SDK API SERVER Items for ACL
Quick Example of Use
App Server
Add On
App Server
API
Explorer
GeoLocation in Loopback
Is micro services a pattern too ?
StrongLoop	
  Confiden.al	
  and	
  Proprietary	
  Informa.on	
  –	
  ©	
  2015	
  
Not just infrastructure virtualization !
API “Re-Composition” is good…
Relational Database Clustered Database Security Gateway Cloud
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK API SERVER
Quick Example of Use
App Server
Relational Database Clustered Database Security Gateway
Laptop ( not requested but useful)
Connections
Tablet Phone IoT SDK
Quick E
App Server
Auth
Routing
Rate-Limit
Proxy
Mediation
Orchestration
Analytics
StrongLoop Confidential and Proprietary Information – © 2015
Why not an API Gateway pattern ? Pattern 6
Security & Social Logins
Marquee – Auth, Routing, Throttling, Proxy, Mediation, Aggregation, Virtualization
StrongLoop Confidential and Proprietary Information – © 2015
The need is “DE-COMPOSITION”
SaaS Mobile IoTWeb
App Server API Server
HTML JSON
{JSON}
{JSON}
{JSON}<SOAP/XML>
<TABLE>
StrongLoop Confidential and Proprietary Information – © 2015
Pattern 7: Micro-services (Design Time)
StrongLoop Confidential and Proprietary Information – © 2015
StrongLoop Confidential and Proprietary Information – © 2015
Pattern 8: Micro-services (Run Time)
Now I know !!!
A Shameless Plug…
StrongLoop Confidential and Proprietary Information – © 2015
Design patterns talk_node_summit
First there was Node
Thank you!
JUST WIN,
BABY!

More Related Content

What's hot (20)

PPTX
StrongLoop Overview
Shubhra Kar
 
PDF
Getting Started with the Node.js LoopBack APi Framework
Jimmy Guerrero
 
PPTX
StrongLoop DevOps Overview
jguerrero999
 
PPTX
API Description Languages: Which is the Right One for Me?
Akana
 
PDF
Webcast: API-Centric Architecture for Building Context-Aware Apps
Apigee | Google Cloud
 
PPTX
Intro to Azure Api Management - With Cats
Xamariners
 
PDF
apidays LIVE Paris - The Business of APIs by Jed Ng
apidays
 
PDF
Rapid app building with loopback framework
Thomas Papaspiros
 
PPTX
The New 3-Tier Architecture: HTML5, Proxies, and APIs
Apigee | Google Cloud
 
PPTX
Public API
Amir Zuker
 
PPTX
API Athens Meetup - API standards 25-6-2014
Michael Petychakis
 
PDF
API Management within a Microservice Architecture
WSO2
 
PDF
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Nordic APIs
 
PDF
API Description Languages
Akana
 
PDF
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
Apigee | Google Cloud
 
PPTX
Gab2015 samir arezki_api management
Vincent Thavonekham-Pro
 
PDF
Azure api management
JoTechies
 
PDF
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays
 
PPT
cuttingEdgepresentation0318
Hongbiao Chen
 
PPTX
Maintainable API Docs and Other Rainbow Colored Unicorns
Neil Mansilla
 
StrongLoop Overview
Shubhra Kar
 
Getting Started with the Node.js LoopBack APi Framework
Jimmy Guerrero
 
StrongLoop DevOps Overview
jguerrero999
 
API Description Languages: Which is the Right One for Me?
Akana
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Apigee | Google Cloud
 
Intro to Azure Api Management - With Cats
Xamariners
 
apidays LIVE Paris - The Business of APIs by Jed Ng
apidays
 
Rapid app building with loopback framework
Thomas Papaspiros
 
The New 3-Tier Architecture: HTML5, Proxies, and APIs
Apigee | Google Cloud
 
Public API
Amir Zuker
 
API Athens Meetup - API standards 25-6-2014
Michael Petychakis
 
API Management within a Microservice Architecture
WSO2
 
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Nordic APIs
 
API Description Languages
Akana
 
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
Apigee | Google Cloud
 
Gab2015 samir arezki_api management
Vincent Thavonekham-Pro
 
Azure api management
JoTechies
 
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays
 
cuttingEdgepresentation0318
Hongbiao Chen
 
Maintainable API Docs and Other Rainbow Colored Unicorns
Neil Mansilla
 

Viewers also liked (8)

PDF
The Enterprise Case for Node.js
NodejsFoundation
 
PDF
The Business of APIs 2009 - Hoover's
Mashery
 
PPTX
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
iCiDIGITAL
 
PDF
Apache Cassandra and Python for Analyzing Streaming Big Data
prajods
 
PDF
Architecting large Node.js applications
Sergi Mansilla
 
PDF
Anatomy of a Modern Node.js Application Architecture
AppDynamics
 
PDF
Node Foundation Membership Overview 20160907
NodejsFoundation
 
PDF
Developing Real-Time Data Pipelines with Apache Kafka
Joe Stein
 
The Enterprise Case for Node.js
NodejsFoundation
 
The Business of APIs 2009 - Hoover's
Mashery
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
iCiDIGITAL
 
Apache Cassandra and Python for Analyzing Streaming Big Data
prajods
 
Architecting large Node.js applications
Sergi Mansilla
 
Anatomy of a Modern Node.js Application Architecture
AppDynamics
 
Node Foundation Membership Overview 20160907
NodejsFoundation
 
Developing Real-Time Data Pipelines with Apache Kafka
Joe Stein
 
Ad

Similar to Design patterns talk_node_summit (20)

PDF
Picking the Right Node.js Framework for Your Use Case
Jimmy Guerrero
 
PDF
Oracle mobile cloud service
shravan kumar chelika
 
PDF
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
CA Technologies
 
PDF
Intro to the HTML5 Application Repository Service
Marius Obert
 
PPTX
Using APIs
Akana
 
PPTX
Oracle Developer Meetup March 2018
Phil Wilkins
 
PDF
Api management customer
nick_garrod
 
PDF
Hong Kong User Group 2019
Solace
 
PDF
Oracle Mobile Solution Overview
Mee Nam Lee
 
PDF
IoT Smart APIs using Nomos RuleX
Cliff Faurer
 
PPTX
What all it takes to build a successful hybrid integration strategy?
Kellton Tech Solutions Ltd
 
PPTX
Future of SOA & Modern APIs
Ram Lakshmanan
 
PPTX
Anypoint platform in a mobile-centric world
Ken Ng
 
PDF
Scala dayssrinivas v3
ragss
 
PDF
API, Integration, and SOA Convergence
Kasun Indrasiri
 
PPT
Modernizing an Existing SOA-based Architecture with APIs
Apigee | Google Cloud
 
PDF
Making Networks More Agile, Open, and Application Centric - Cisco Insights
Cisco Service Provider
 
ODP
S108 - 1 Billion Smartphones a year and counting – How is your CICS connected?
nick_garrod
 
PPTX
Manage Your Mesh
Akana
 
PPT
How Facebook's Technologies can define the future of VistA and Health IT
Rob Tweed
 
Picking the Right Node.js Framework for Your Use Case
Jimmy Guerrero
 
Oracle mobile cloud service
shravan kumar chelika
 
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
CA Technologies
 
Intro to the HTML5 Application Repository Service
Marius Obert
 
Using APIs
Akana
 
Oracle Developer Meetup March 2018
Phil Wilkins
 
Api management customer
nick_garrod
 
Hong Kong User Group 2019
Solace
 
Oracle Mobile Solution Overview
Mee Nam Lee
 
IoT Smart APIs using Nomos RuleX
Cliff Faurer
 
What all it takes to build a successful hybrid integration strategy?
Kellton Tech Solutions Ltd
 
Future of SOA & Modern APIs
Ram Lakshmanan
 
Anypoint platform in a mobile-centric world
Ken Ng
 
Scala dayssrinivas v3
ragss
 
API, Integration, and SOA Convergence
Kasun Indrasiri
 
Modernizing an Existing SOA-based Architecture with APIs
Apigee | Google Cloud
 
Making Networks More Agile, Open, and Application Centric - Cisco Insights
Cisco Service Provider
 
S108 - 1 Billion Smartphones a year and counting – How is your CICS connected?
nick_garrod
 
Manage Your Mesh
Akana
 
How Facebook's Technologies can define the future of VistA and Health IT
Rob Tweed
 
Ad

Design patterns talk_node_summit

  • 1. Shubhra Kar | Products & Education twitter:@shubhrakar mail:[email protected] Frameworks or a Design Pattern ?
  • 2. About me StrongLoop Confidential and Proprietary Information – © 2015 u J2EE and SOA architect – Infosys u Performance architect – Wily à CA u Node, mBaaS and API stacks - StrongLoop
  • 3. These guys sent me ! Bert Belder Ben Noordhuis Node Core Raymond Feng Ritchie Martori LoopBack / Express Core Sam Roberts Miroslav Bajtos Ryan Graham Plus 15 other full-time open source developers working on Node.js core, modules and tools. Contributing to over 100 open source modules. Supporting banks, retail, IoT companies, startups and internet companies on Node.js
  • 5. Patterns evolve to serve market needs; not opinions Thick   Web   SaaS   Mobile   IoT  
  • 6. The new curve: Innovate or Die 10 25 50 100100 50 10 15 40 100 25 Web SaaS Mobile IoT The new curve Concurrent Users Latency Adoption StrongLoop Confidential and Proprietary Information – © 2015
  • 7. Pattern 0: Natal patterns StrongLoop Confidential and Proprietary Information – © 2015 Philosophy: KISS (Keep It Simple Stupid) u small core u small modules u small surface area Patterns u reactor u callback u module u observer
  • 8. Pattern 1: Convention Web Middleware REST API
  • 9. Pros and Cons StrongLoop Confidential and Proprietary Information – © 2015 u Pseudo-Opinionated, Express and Restify are DIY u Middleware u Strengths u Express: Web templating, ecosystem u  Restify: REST API u Low learning curve u Restify: Dtrace and SPDY Support u Weakness u Manual CRUD u Manual recursive Testing/Refactoring
  • 10. Router in Express StrongLoop  Confiden.al  and  Proprietary  Informa.on  –  ©  2015  
  • 11. Pattern 2: Configuration u  Opinionated u Configuration over Convention u Granular HTTP/Webserver control u Good plug-in ecosystem u Supported and well documented u Weakness u Manual CRUD/Refactor/ Testing u No plug & play with Express ecosystem StrongLoop Confidential and Proprietary Information – © 2015 Web Middleware
  • 12. Router in hapi StrongLoop  Confiden.al  and  Proprietary  Informa.on  –  ©  2015  
  • 13. Pattern 3 : Full Stack JS StrongLoop Confidential and Proprietary Information – © 2015 {“..”} JSON is the new first class citizen
  • 14. Pattern 4: ORM & Isomorphic JS u Model Driven Development u Any data source u Isomorphic JS u Omni-Channel u Share Models (Client/Server) u Loopback & Meteor u Automatic REST API generation, routing, etc u Weakness u Higher learning curve StrongLoop Confidential and Proprietary Information – © 2015
  • 15. ORM & Isomorphic JS – Loopback.io JS client JS Server Remoting JS client StrongLoop Confidential and Proprietary Information – © 2015 Developer SDKs
  • 16. Router & Swagger in Loopback StrongLoop  Confiden.al  and  Proprietary  Informa.on  –  ©  2015  
  • 17. API Economy driven by Mobile / IoT Mobile  and  IoT  explosion   u Sheer  number  of   clients  has   increased   u Clients  are   increasingly   sophis.cated   u Node.js  is  the   plaHorm  of  choice   for  these  API   StrongLoop  Confiden.al  and  Proprietary  Informa.on  –  ©  2015  
  • 18. StrongLoop Confidential and Proprietary Information – © 2015 mobile/web clients social & analytics JSON API API XML SQL SOAP Etc. mBaaS Mobile API tier Enterprise   Pattern 5: mBaaS
  • 19. mBaaS could be on cloud or premises StrongLoop Confidential and Proprietary Information – © 2015 u Closed Source / Commercial u Open Source Key API u Push Notification u Geo Location u Offline Sync u Storage u User Management u Metering, Analytics u Native SDK u Isomorphic JS
  • 20. REST API PUSH GEO OFF SYNC DEVICE USER FILE Relational Database Clustered Database Security Gateway Cloud Laptop ( not requested but useful) Connections Tablet Phone IoT SDK API SERVER Quick Example of Use App S Add App Server Storage Relational Database Clustered Database Security Gateway Cloud Firewall SOA Bus ( not sure on this one) Laptop ( not requested but useful) Connections Tablet Phone IoT SDK API SERVER Items for ACL Quick Example of Use App Server Add On App Server REST API GATEWAY Channel SDKs API ENGINE C O N N E C T O R s A P I S D K s Open Source ORM, mBaaS and API framework REST API atabase Security Gateway Cloud Firewall SOA Bus ( not sure on this one) Phone IoT SDK API SERVER Items for ACL Quick Example of Use App Server Add On App Server API Explorer
  • 22. Is micro services a pattern too ? StrongLoop  Confiden.al  and  Proprietary  Informa.on  –  ©  2015   Not just infrastructure virtualization !
  • 23. API “Re-Composition” is good… Relational Database Clustered Database Security Gateway Cloud Laptop ( not requested but useful) Connections Tablet Phone IoT SDK API SERVER Quick Example of Use App Server Relational Database Clustered Database Security Gateway Laptop ( not requested but useful) Connections Tablet Phone IoT SDK Quick E App Server Auth Routing Rate-Limit Proxy Mediation Orchestration Analytics StrongLoop Confidential and Proprietary Information – © 2015
  • 24. Why not an API Gateway pattern ? Pattern 6 Security & Social Logins Marquee – Auth, Routing, Throttling, Proxy, Mediation, Aggregation, Virtualization StrongLoop Confidential and Proprietary Information – © 2015
  • 25. The need is “DE-COMPOSITION” SaaS Mobile IoTWeb App Server API Server HTML JSON {JSON} {JSON} {JSON}<SOAP/XML> <TABLE> StrongLoop Confidential and Proprietary Information – © 2015
  • 26. Pattern 7: Micro-services (Design Time) StrongLoop Confidential and Proprietary Information – © 2015
  • 27. StrongLoop Confidential and Proprietary Information – © 2015 Pattern 8: Micro-services (Run Time)
  • 28. Now I know !!!
  • 29. A Shameless Plug… StrongLoop Confidential and Proprietary Information – © 2015
  • 31. First there was Node Thank you! JUST WIN, BABY!