SlideShare a Scribd company logo
Rapid API development
    on MongoDB


Daniel Hjelm @dhjelm
Google+ profile: http://goo.gl/QcLND
•   "the simplest way to build
                          an API"

                      •   Open source

                      •   Build on Node.js and
                          MongoDB

http://deployd.com/   •   Common server and
                          client API (dpd.js)

                      •   Can sync client states
                          through Web-sockets.

                      •   No live reload :(
Getting started
$ dpd create klmug-dpd


You need to specify dbname and host (at least when
installing from NPM). Otherwise you just get stuck with a:
$ dpd -d
starting deployd v0.6.8...

Instead do:
$ dpd --dbname klmug-dpd --host localhost --mongoPort 27017
starting deployd v0.6.8...
listening on port 2403
type help for a list of commands
dpd >
Dashboard
Client server
      communication
• Two ways to interact with the server
 • via dpd.js
 • via REST calls
• Returns JSON
• No authentication by default
 • No CSRF protection
Pros
• Easy to get started
• Example projects available on the website
• Could be good if you are new to REST
• Deployd's realtime capabilities
• Not only tied to web application
  developent
Cons

• Kind of treats MongoDB as if it was a
  relational DB
• Only support one level of objects
 • localhost:1234/meetings/12/attendees
• Can’t modify the id field (must be an auto-
  generated ObjectId)
More cons...
• Does not support live reload
• Their scaleable cloud does not seems to
  work
• No datetime type
• No support for MongoDB replication nor
  sharding
Conclusion


• Easy to get started with, but ...
• I can’t really see it as anything more than a
  prototyping tool
Questions?

More Related Content

What's hot

What's hot (19)

Server Side Event Driven Programming
Server Side Event Driven ProgrammingServer Side Event Driven Programming
Server Side Event Driven Programming
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
 
Client Side rendering Not so Easy
Client Side rendering Not so EasyClient Side rendering Not so Easy
Client Side rendering Not so Easy
 
Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with Grunt
 
MongoDB Hadoop DC
MongoDB Hadoop DCMongoDB Hadoop DC
MongoDB Hadoop DC
 
MongoDB Israel June Meetup
MongoDB Israel June MeetupMongoDB Israel June Meetup
MongoDB Israel June Meetup
 
Node.js with Express
Node.js with ExpressNode.js with Express
Node.js with Express
 
Vdd
VddVdd
Vdd
 
JS & NodeJS - An Introduction
JS & NodeJS - An IntroductionJS & NodeJS - An Introduction
JS & NodeJS - An Introduction
 
Evolution of java script libraries
Evolution of java script librariesEvolution of java script libraries
Evolution of java script libraries
 
MongoDB Strange Loop 2009
MongoDB Strange Loop 2009MongoDB Strange Loop 2009
MongoDB Strange Loop 2009
 
Web assembly with go
Web assembly with goWeb assembly with go
Web assembly with go
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Introduction to node
Introduction to nodeIntroduction to node
Introduction to node
 
MongoDB EuroPython 2009
MongoDB EuroPython 2009MongoDB EuroPython 2009
MongoDB EuroPython 2009
 
Javascript basics
Javascript basicsJavascript basics
Javascript basics
 
Nodejs server lesson 3
 Nodejs server lesson 3 Nodejs server lesson 3
Nodejs server lesson 3
 
Extreme Javascript Minification
Extreme Javascript MinificationExtreme Javascript Minification
Extreme Javascript Minification
 
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.jsThe MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
 

Viewers also liked

130127 豚の丸焼き会
130127 豚の丸焼き会130127 豚の丸焼き会
130127 豚の丸焼き会
Yu Uchida
 

Viewers also liked (7)

130127 豚の丸焼き会
130127 豚の丸焼き会130127 豚の丸焼き会
130127 豚の丸焼き会
 
訪日中国人向けインバウンドプロモーション【株式会社トスマック】
訪日中国人向けインバウンドプロモーション【株式会社トスマック】訪日中国人向けインバウンドプロモーション【株式会社トスマック】
訪日中国人向けインバウンドプロモーション【株式会社トスマック】
 
LDD_ミシュランガイドきたみ2012
LDD_ミシュランガイドきたみ2012LDD_ミシュランガイドきたみ2012
LDD_ミシュランガイドきたみ2012
 
卵の黄身の重さの予測
卵の黄身の重さの予測卵の黄身の重さの予測
卵の黄身の重さの予測
 
私を焼肉屋さんへ連れてって
私を焼肉屋さんへ連れてって私を焼肉屋さんへ連れてって
私を焼肉屋さんへ連れてって
 
浜松市インバウンド協議会主催 「インバウンドセミナー」
浜松市インバウンド協議会主催 「インバウンドセミナー」浜松市インバウンド協議会主催 「インバウンドセミナー」
浜松市インバウンド協議会主催 「インバウンドセミナー」
 
地域リビング プラスワン 第1回コミュニティスペースフォーラム第一部 プレゼン資料
地域リビング プラスワン 第1回コミュニティスペースフォーラム第一部 プレゼン資料地域リビング プラスワン 第1回コミュニティスペースフォーラム第一部 プレゼン資料
地域リビング プラスワン 第1回コミュニティスペースフォーラム第一部 プレゼン資料
 

Similar to Rapid API development on MongoDB

Similar to Rapid API development on MongoDB (20)

sdafdsf
sdafdsfsdafdsf
sdafdsf
 
TDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDBTDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDB
 
Developing and Testing a MongoDB and Node.js REST API
Developing and Testing a MongoDB and Node.js REST APIDeveloping and Testing a MongoDB and Node.js REST API
Developing and Testing a MongoDB and Node.js REST API
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
 
Nodejs overview
Nodejs overviewNodejs overview
Nodejs overview
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
Nodejs Native Add-Ons from zero to hero
Nodejs Native Add-Ons from zero to heroNodejs Native Add-Ons from zero to hero
Nodejs Native Add-Ons from zero to hero
 
Taking containers from development to production
Taking containers from development to productionTaking containers from development to production
Taking containers from development to production
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developers
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
 
Complete MVC on NodeJS
Complete MVC on NodeJSComplete MVC on NodeJS
Complete MVC on NodeJS
 
Nodejs
NodejsNodejs
Nodejs
 
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Node js for beginners
Node js for beginnersNode js for beginners
Node js for beginners
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
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
 
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
 
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
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
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...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
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
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
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...
 
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
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
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...
 

Rapid API development on MongoDB

  • 1. Rapid API development on MongoDB Daniel Hjelm @dhjelm Google+ profile: http://goo.gl/QcLND
  • 2. "the simplest way to build an API" • Open source • Build on Node.js and MongoDB http://deployd.com/ • Common server and client API (dpd.js) • Can sync client states through Web-sockets. • No live reload :(
  • 3. Getting started $ dpd create klmug-dpd You need to specify dbname and host (at least when installing from NPM). Otherwise you just get stuck with a: $ dpd -d starting deployd v0.6.8... Instead do: $ dpd --dbname klmug-dpd --host localhost --mongoPort 27017 starting deployd v0.6.8... listening on port 2403 type help for a list of commands dpd >
  • 5. Client server communication • Two ways to interact with the server • via dpd.js • via REST calls • Returns JSON • No authentication by default • No CSRF protection
  • 6. Pros • Easy to get started • Example projects available on the website • Could be good if you are new to REST • Deployd's realtime capabilities • Not only tied to web application developent
  • 7. Cons • Kind of treats MongoDB as if it was a relational DB • Only support one level of objects • localhost:1234/meetings/12/attendees • Can’t modify the id field (must be an auto- generated ObjectId)
  • 8. More cons... • Does not support live reload • Their scaleable cloud does not seems to work • No datetime type • No support for MongoDB replication nor sharding
  • 9. Conclusion • Easy to get started with, but ... • I can’t really see it as anything more than a prototyping tool