SlideShare a Scribd company logo
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js Training | Edureka
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Agenda
Why Node.js?
1
What is Node.js?
2
Success Stories
3
Node.js Modules
4
Demo
5
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Why Node.js?
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Client Server Architecture
Client Server Architecture:
Request
Response
DatabasesServer
ApplicationUsers
Interacts
Interacts
Interacts
Interacts
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Multi Thread Model
Each request is handled by a separate thread
DatabasesServerClients Thread
thread A
thread B
thread C
Handle Request
A
Handle Request
B
Handle Request
C
……
Request A
Response A
Request B
Response B
Request C
Response C
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Multi Thread Model
▪ In multi-threaded model, for every request server
creates a separate thread which handles that
request
▪ If a thread acquires a lock in the shared resource
and it is ‘exclusive lock’, it will block other threads.
DatabasesThread Request
C
…
B
A
Handling Request A
Thread B C … are
blocked
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
B
Single Threaded Model
▪ Node.js is event driven, handling all requests asynchronously from single thread
▪ Almost no function in Node directly performs I/O, so the process never blocks
C
A
Event
Emitters
Event Queue
Event Loop
(Single - threaded)
File System
Network
Process
Other
Thread Pool
Users
Databases
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Multi-Threaded vs Event Driven
Multi-Threaded Asynchronous Event-driven
Lock application / request with listener-workers threads Only one thread, which repeatedly fetches an event
Using incoming-request model Using queue and then processes it
Multithreaded server might block the request which might involve
multiple events
Manually saves state and then goes on to process the next event
Using context switching No contention and no context switches
Using multithreading environments where listener and workers
threads are used frequently to take an incoming-request lock
Using asynchronous I/O facilities (callbacks, not poll/select or
O_NONBLOCK) environments
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Uber Story
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Uber Old Architecture
• Since PHP is a multithreaded language , each user’s request is handled in a separate thread
• Reason was car dispatch operation was executed from multiple threads
• Once one car is dispatched for a user, in between the same car get dispatched to another user
MySQL
Database
Server
UBER
Application
PHP for Server-side
scripting
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Uber New Architecture
Real-time Logic
Dispatch State
(MongoDB)
Dispatch (NodeJS)
Business Logic
Python
Persistent Storage
(MySQL)
❖ Well-suited for distributed systems that
make a lot of network requests
❖ Errors can be addressed on the fly without
requiring a restart
❖ Active open source community
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
What is Node.js ?
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
What is Node.js ?
▪ Node.js is an open source runtime environment for server-side and networking applications and is single threaded.
▪ Uses Google JavaScript V8 Engine to execute code.
▪ It is cross platform environment and can run on OS X, Microsoft Windows, Linux and FreeBSD.
▪ Provides an event driven architecture and non blocking I/O that is optimized and scalable.
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Success Stories
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Success Stories
Nexflix used JavaScript and NodeJS to transform
their website into a single page application.
PayPal team developed the application
simultaneously using Java and Javascript. The
JavaScript team build the product both faster
and more efficiently.
Uber has built its massive driver / rider matching
system on Node.js Distributed Web Architecture.
Node enables to build quality applications,
deploy new features, write unit and integration
tests easily.
When LinkedIn went to rebuild their Mobile
application they used Node.js for their Mobile
application server which acts as a REST endpoint
for Mobile devices.
They had two primary requirements: first to
make the application as real time as possible.
Second was to orchestrate a huge number of
eBay-specific services.
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Job Trends
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Job Trend
Indeed: Job Posting (Node.js)
2017
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Features
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Features
Asynchronous and Event Driven :
▪ When request is made to server, instead of waiting for the request to complete, server continues to
process other requests
▪ When request processing completes, the response is sent to caller using callback mechanism
Caller Recipient
request
response
callback
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js
Node.js Features
No Buffering
Node.js applications never buffer any data. These
applications simply output the data in chunks.
Very Fast
Being built on Google Chrome's V8 JavaScript Engine,
Node.js library is very fast in code execution.
Single Threaded but Highly Scalable
Uses a single threaded model with event looping. Event mechanism
helps the server to respond in a non-blocking way and makes the
server highly scalable as opposed to traditional servers.
Fast Performance
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js Installation
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js First Example
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js First Example
Create a Directory: mkdir node_example1
Create a File: first_example.js2
Go to the node_example directory3
Execute the java script file: node first_example.js4
2
1
3
4
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Blocking vs Non - Blocking
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Blocking vs Non-Blocking
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Blocking vs Non-Blocking
➢ Blocking is when the execution of additional JavaScript in the Node.js process must wait until a non-JavaScript operation completes.
➢ "I/O" refers primarily to interaction with the system's disk and network supported by libuv.
More methods will be blocked till the
read method is not executed
More method will execute
asynchronously
var fs = require("fs");
// Asynchronous read
fs.readFile(‘test.txt', function (err, data) { });
var fs = require("fs");
// Synchronous read
var data = fs.readFileSync('input.txt');
Blocking I/O Non-Blocking I/O
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
NPM
▪ NPM => Node Package Manager
▪ Provides online repositories for node.js packages/modules
▪ Provides command line utility to install Node.js packages
npm install
Install all the modules as specified in
package.json
npm install <Module Name> Install Module using npm
npm install <Module Name> -g Install dependency globally
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Global Objects
These objects are available in all modules
specifies the name of the directory that currently contains the code.__dirname
specifies the name of the file that currently contains the code.__filename
A timer in Node.js is an internal construct that calls a given function after a certain period of time
setTimeout(callback, delay[, ...args]) setInterval(callback, delay[, ...args]) setImmediate(callback, [,..args])
1 2 3
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
File System
File I/O is provided by simple wrappers around standard POSIX functions
FS Methods
Asynchronous
Forms
Synchronous
Forms
var fs = require("fs");
// Asynchronous read
fs.readFile(‘test.txt', function (err, data) { });
var fs = require("fs");
var fs = require("fs");
// Synchronous read
var data = fs.readFileSync('input.txt');
Callback As Last Arg.
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Methods in File System Module
fs.open( path, flags[, mode], callback )
fs.openSync( path, flags[, mode] )
fs.close( fd, callback )
Open File Asynchronously
Open File Synchronously
Closing File
read(fd, buffer, offset, length, position, callback)
readFile(file[, options], callback)
readFileSync(file[, options])
Read Content of a File into Buffer
Reads File Asynchronously
Reads File Synchronously
Opening a File
Reading from a file
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Methods in File System Module
writeFile(file, data[, options], callback)
writeFileSync(file, data[, options])
Open File Asynchronously
Open File Synchronously
Writing in a File
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
var fs = require("fs");
// Asynchronous read
fs.readFile(‘test.txt', function (err, data) { });
Callback
Callback is an asynchronous equivalent for a function and is called at the completion of each task
Callback: will execute after
file read is complete
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Events
▪ Node.js follows event-driven architecture
▪ Certain objects (emitters) periodically emit events which further invokes the listeners
▪ Node.js provide concurrency by using the concept of events and callbacks
▪ All objects that emit events are instances of the EventEmitter class
Import Events Module
Creating object of EventEmitter
Emitting event
Registering Listener and
defining event handler
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
Node.js
Modules
NPM
GLOBALS
FILE SYSTEM
CALLBACKS
EVENT
HTTP
www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING
HTTP
Import Required Modules
Creating Server
Parse the fetched URL to get pathname
Request file to be read from file system (index.html)
Creating Header with content type as text or HTML
Generating Response
Listening to port: 3000
▪ To use the HTTP server and client one must require('http')
▪ The HTTP interfaces in Node.js are designed to support many features of the protocol
EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/angular-js
Thank You …
Questions/Queries/Feedback

More Related Content

What's hot (20)

PDF
Top 50 Node.js Interview Questions and Answers | Edureka
Edureka!
 
PPT
Node js Modules and Event Emitters
TheCreativedev Blog
 
PPTX
Introduction to Node.js
AMD Developer Central
 
PPTX
Next.js vs React | what to choose for frontend development_
ForceBolt
 
PPTX
NodeJS guide for beginners
Enoch Joshua
 
PDF
ReactJS presentation
Thanh Tuong
 
PDF
Nuxt.JS Introdruction
David Ličen
 
PDF
NodeJS for Beginner
Apaichon Punopas
 
PDF
Nodejs presentation
Arvind Devaraj
 
PPTX
Angular 9
Raja Vishnu
 
PPTX
Nodejs functions & modules
monikadeshmane
 
PPTX
Introduction to node.js
Dinesh U
 
PPTX
Angular introduction students
Christian John Felix
 
PPTX
NodeJS - Server Side JS
Ganesh Kondal
 
PDF
Introduction to ReactJS
Hoang Long
 
PDF
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Edureka!
 
PDF
Express node js
Yashprit Singh
 
PDF
Angular - Chapter 7 - HTTP Services
WebStackAcademy
 
PPTX
Express JS
Alok Guha
 
PPT
Angular Introduction By Surekha Gadkari
Surekha Gadkari
 
Top 50 Node.js Interview Questions and Answers | Edureka
Edureka!
 
Node js Modules and Event Emitters
TheCreativedev Blog
 
Introduction to Node.js
AMD Developer Central
 
Next.js vs React | what to choose for frontend development_
ForceBolt
 
NodeJS guide for beginners
Enoch Joshua
 
ReactJS presentation
Thanh Tuong
 
Nuxt.JS Introdruction
David Ličen
 
NodeJS for Beginner
Apaichon Punopas
 
Nodejs presentation
Arvind Devaraj
 
Angular 9
Raja Vishnu
 
Nodejs functions & modules
monikadeshmane
 
Introduction to node.js
Dinesh U
 
Angular introduction students
Christian John Felix
 
NodeJS - Server Side JS
Ganesh Kondal
 
Introduction to ReactJS
Hoang Long
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Edureka!
 
Express node js
Yashprit Singh
 
Angular - Chapter 7 - HTTP Services
WebStackAcademy
 
Express JS
Alok Guha
 
Angular Introduction By Surekha Gadkari
Surekha Gadkari
 

Similar to What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js Training | Edureka (20)

PDF
Complete MVC on NodeJS
Hüseyin BABAL
 
PDF
Node Java Script topic in digital marketing
archanashenbagarajan
 
PDF
Create Restful Web Application With Node.js Express Framework
Edureka!
 
PDF
Fundamental of Node.JS - Internship Presentation - Week7
Devang Garach
 
PPTX
Building Applications With the MEAN Stack
Nir Noy
 
PPT
Node js
Chirag Parmar
 
PDF
Node JS Roadmap for Beginners By Scholarhat PDF
Scholarhat
 
PPTX
Introduction to Node.JS
Collaboration Technologies
 
PPTX
Introduction to node.js by jiban
Jibanananda Sana
 
PPTX
Node.js on Azure
Sasha Goldshtein
 
PPTX
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
PDF
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
KEY
An Introduction to Node.js Development with Windows Azure
Troy Miles
 
PPTX
Node.js tutoria for beginner
Maninder Singh
 
PDF
Live Node.JS Training
mindmajixtrainings
 
PPTX
Kalp Corporate Node JS Perfect Guide
Kalp Corporate
 
PDF
Node JS Express: Steps to Create Restful Web App
Edureka!
 
DOCX
unit 2 of Full stack web development subject
JeneferAlan1
 
DOCX
node.js interview questions and answers.
JyothiAmpally
 
PDF
Day In A Life Of A Node.js Developer
Edureka!
 
Complete MVC on NodeJS
Hüseyin BABAL
 
Node Java Script topic in digital marketing
archanashenbagarajan
 
Create Restful Web Application With Node.js Express Framework
Edureka!
 
Fundamental of Node.JS - Internship Presentation - Week7
Devang Garach
 
Building Applications With the MEAN Stack
Nir Noy
 
Node js
Chirag Parmar
 
Node JS Roadmap for Beginners By Scholarhat PDF
Scholarhat
 
Introduction to Node.JS
Collaboration Technologies
 
Introduction to node.js by jiban
Jibanananda Sana
 
Node.js on Azure
Sasha Goldshtein
 
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
An Introduction to Node.js Development with Windows Azure
Troy Miles
 
Node.js tutoria for beginner
Maninder Singh
 
Live Node.JS Training
mindmajixtrainings
 
Kalp Corporate Node JS Perfect Guide
Kalp Corporate
 
Node JS Express: Steps to Create Restful Web App
Edureka!
 
unit 2 of Full stack web development subject
JeneferAlan1
 
node.js interview questions and answers.
JyothiAmpally
 
Day In A Life Of A Node.js Developer
Edureka!
 
Ad

More from Edureka! (20)

PDF
What to learn during the 21 days Lockdown | Edureka
Edureka!
 
PDF
Top 10 Dying Programming Languages in 2020 | Edureka
Edureka!
 
PDF
Top 5 Trending Business Intelligence Tools | Edureka
Edureka!
 
PDF
Tableau Tutorial for Data Science | Edureka
Edureka!
 
PDF
Python Programming Tutorial | Edureka
Edureka!
 
PDF
Top 5 PMP Certifications | Edureka
Edureka!
 
PDF
Top Maven Interview Questions in 2020 | Edureka
Edureka!
 
PDF
Linux Mint Tutorial | Edureka
Edureka!
 
PDF
How to Deploy Java Web App in AWS| Edureka
Edureka!
 
PDF
Importance of Digital Marketing | Edureka
Edureka!
 
PDF
RPA in 2020 | Edureka
Edureka!
 
PDF
Email Notifications in Jenkins | Edureka
Edureka!
 
PDF
EA Algorithm in Machine Learning | Edureka
Edureka!
 
PDF
Cognitive AI Tutorial | Edureka
Edureka!
 
PDF
AWS Cloud Practitioner Tutorial | Edureka
Edureka!
 
PDF
Blue Prism Top Interview Questions | Edureka
Edureka!
 
PDF
Big Data on AWS Tutorial | Edureka
Edureka!
 
PDF
A star algorithm | A* Algorithm in Artificial Intelligence | Edureka
Edureka!
 
PDF
Kubernetes Installation on Ubuntu | Edureka
Edureka!
 
PDF
Introduction to DevOps | Edureka
Edureka!
 
What to learn during the 21 days Lockdown | Edureka
Edureka!
 
Top 10 Dying Programming Languages in 2020 | Edureka
Edureka!
 
Top 5 Trending Business Intelligence Tools | Edureka
Edureka!
 
Tableau Tutorial for Data Science | Edureka
Edureka!
 
Python Programming Tutorial | Edureka
Edureka!
 
Top 5 PMP Certifications | Edureka
Edureka!
 
Top Maven Interview Questions in 2020 | Edureka
Edureka!
 
Linux Mint Tutorial | Edureka
Edureka!
 
How to Deploy Java Web App in AWS| Edureka
Edureka!
 
Importance of Digital Marketing | Edureka
Edureka!
 
RPA in 2020 | Edureka
Edureka!
 
Email Notifications in Jenkins | Edureka
Edureka!
 
EA Algorithm in Machine Learning | Edureka
Edureka!
 
Cognitive AI Tutorial | Edureka
Edureka!
 
AWS Cloud Practitioner Tutorial | Edureka
Edureka!
 
Blue Prism Top Interview Questions | Edureka
Edureka!
 
Big Data on AWS Tutorial | Edureka
Edureka!
 
A star algorithm | A* Algorithm in Artificial Intelligence | Edureka
Edureka!
 
Kubernetes Installation on Ubuntu | Edureka
Edureka!
 
Introduction to DevOps | Edureka
Edureka!
 
Ad

Recently uploaded (20)

PDF
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
PDF
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
PDF
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
 
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
 
PDF
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
PDF
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
PDF
UiPath Agentic AI ile Akıllı Otomasyonun Yeni Çağı
UiPathCommunity
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PDF
Open Source Milvus Vector Database v 2.6
Zilliz
 
PDF
The Growing Value and Application of FME & GenAI
Safe Software
 
PPTX
reInforce 2025 Lightning Talk - Scott Francis.pptx
ScottFrancis51
 
PPTX
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
PDF
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
PPTX
Simplifica la seguridad en la nube y la detección de amenazas con FortiCNAPP
Cristian Garcia G.
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
 
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
Why aren't you using FME Flow's CPU Time?
Safe Software
 
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
UiPath Agentic AI ile Akıllı Otomasyonun Yeni Çağı
UiPathCommunity
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Kubernetes - Architecture & Components.pdf
geethak285
 
Open Source Milvus Vector Database v 2.6
Zilliz
 
The Growing Value and Application of FME & GenAI
Safe Software
 
reInforce 2025 Lightning Talk - Scott Francis.pptx
ScottFrancis51
 
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
Simplifica la seguridad en la nube y la detección de amenazas con FortiCNAPP
Cristian Garcia G.
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 

What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js Training | Edureka

  • 2. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Agenda Why Node.js? 1 What is Node.js? 2 Success Stories 3 Node.js Modules 4 Demo 5
  • 3. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Why Node.js?
  • 4. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Client Server Architecture Client Server Architecture: Request Response DatabasesServer ApplicationUsers Interacts Interacts Interacts Interacts
  • 5. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Multi Thread Model Each request is handled by a separate thread DatabasesServerClients Thread thread A thread B thread C Handle Request A Handle Request B Handle Request C …… Request A Response A Request B Response B Request C Response C
  • 6. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Multi Thread Model ▪ In multi-threaded model, for every request server creates a separate thread which handles that request ▪ If a thread acquires a lock in the shared resource and it is ‘exclusive lock’, it will block other threads. DatabasesThread Request C … B A Handling Request A Thread B C … are blocked
  • 7. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js B Single Threaded Model ▪ Node.js is event driven, handling all requests asynchronously from single thread ▪ Almost no function in Node directly performs I/O, so the process never blocks C A Event Emitters Event Queue Event Loop (Single - threaded) File System Network Process Other Thread Pool Users Databases
  • 8. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Multi-Threaded vs Event Driven Multi-Threaded Asynchronous Event-driven Lock application / request with listener-workers threads Only one thread, which repeatedly fetches an event Using incoming-request model Using queue and then processes it Multithreaded server might block the request which might involve multiple events Manually saves state and then goes on to process the next event Using context switching No contention and no context switches Using multithreading environments where listener and workers threads are used frequently to take an incoming-request lock Using asynchronous I/O facilities (callbacks, not poll/select or O_NONBLOCK) environments
  • 10. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Uber Old Architecture • Since PHP is a multithreaded language , each user’s request is handled in a separate thread • Reason was car dispatch operation was executed from multiple threads • Once one car is dispatched for a user, in between the same car get dispatched to another user MySQL Database Server UBER Application PHP for Server-side scripting
  • 11. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Uber New Architecture Real-time Logic Dispatch State (MongoDB) Dispatch (NodeJS) Business Logic Python Persistent Storage (MySQL) ❖ Well-suited for distributed systems that make a lot of network requests ❖ Errors can be addressed on the fly without requiring a restart ❖ Active open source community
  • 12. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js What is Node.js ?
  • 13. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js What is Node.js ? ▪ Node.js is an open source runtime environment for server-side and networking applications and is single threaded. ▪ Uses Google JavaScript V8 Engine to execute code. ▪ It is cross platform environment and can run on OS X, Microsoft Windows, Linux and FreeBSD. ▪ Provides an event driven architecture and non blocking I/O that is optimized and scalable.
  • 15. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Success Stories Nexflix used JavaScript and NodeJS to transform their website into a single page application. PayPal team developed the application simultaneously using Java and Javascript. The JavaScript team build the product both faster and more efficiently. Uber has built its massive driver / rider matching system on Node.js Distributed Web Architecture. Node enables to build quality applications, deploy new features, write unit and integration tests easily. When LinkedIn went to rebuild their Mobile application they used Node.js for their Mobile application server which acts as a REST endpoint for Mobile devices. They had two primary requirements: first to make the application as real time as possible. Second was to orchestrate a huge number of eBay-specific services.
  • 17. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Job Trend Indeed: Job Posting (Node.js) 2017
  • 18. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Features
  • 19. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Features Asynchronous and Event Driven : ▪ When request is made to server, instead of waiting for the request to complete, server continues to process other requests ▪ When request processing completes, the response is sent to caller using callback mechanism Caller Recipient request response callback
  • 20. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/mastering-node-js Node.js Features No Buffering Node.js applications never buffer any data. These applications simply output the data in chunks. Very Fast Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in code execution. Single Threaded but Highly Scalable Uses a single threaded model with event looping. Event mechanism helps the server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers. Fast Performance
  • 23. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js First Example Create a Directory: mkdir node_example1 Create a File: first_example.js2 Go to the node_example directory3 Execute the java script file: node first_example.js4 2 1 3 4
  • 26. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Blocking vs Non-Blocking ➢ Blocking is when the execution of additional JavaScript in the Node.js process must wait until a non-JavaScript operation completes. ➢ "I/O" refers primarily to interaction with the system's disk and network supported by libuv. More methods will be blocked till the read method is not executed More method will execute asynchronously var fs = require("fs"); // Asynchronous read fs.readFile(‘test.txt', function (err, data) { }); var fs = require("fs"); // Synchronous read var data = fs.readFileSync('input.txt'); Blocking I/O Non-Blocking I/O
  • 27. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 28. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING NPM ▪ NPM => Node Package Manager ▪ Provides online repositories for node.js packages/modules ▪ Provides command line utility to install Node.js packages npm install Install all the modules as specified in package.json npm install <Module Name> Install Module using npm npm install <Module Name> -g Install dependency globally
  • 29. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 30. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Global Objects These objects are available in all modules specifies the name of the directory that currently contains the code.__dirname specifies the name of the file that currently contains the code.__filename A timer in Node.js is an internal construct that calls a given function after a certain period of time setTimeout(callback, delay[, ...args]) setInterval(callback, delay[, ...args]) setImmediate(callback, [,..args]) 1 2 3
  • 31. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 32. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING File System File I/O is provided by simple wrappers around standard POSIX functions FS Methods Asynchronous Forms Synchronous Forms var fs = require("fs"); // Asynchronous read fs.readFile(‘test.txt', function (err, data) { }); var fs = require("fs"); var fs = require("fs"); // Synchronous read var data = fs.readFileSync('input.txt'); Callback As Last Arg.
  • 33. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Methods in File System Module fs.open( path, flags[, mode], callback ) fs.openSync( path, flags[, mode] ) fs.close( fd, callback ) Open File Asynchronously Open File Synchronously Closing File read(fd, buffer, offset, length, position, callback) readFile(file[, options], callback) readFileSync(file[, options]) Read Content of a File into Buffer Reads File Asynchronously Reads File Synchronously Opening a File Reading from a file
  • 34. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Methods in File System Module writeFile(file, data[, options], callback) writeFileSync(file, data[, options]) Open File Asynchronously Open File Synchronously Writing in a File
  • 35. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 36. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING var fs = require("fs"); // Asynchronous read fs.readFile(‘test.txt', function (err, data) { }); Callback Callback is an asynchronous equivalent for a function and is called at the completion of each task Callback: will execute after file read is complete
  • 37. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 38. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Events ▪ Node.js follows event-driven architecture ▪ Certain objects (emitters) periodically emit events which further invokes the listeners ▪ Node.js provide concurrency by using the concept of events and callbacks ▪ All objects that emit events are instances of the EventEmitter class Import Events Module Creating object of EventEmitter Emitting event Registering Listener and defining event handler
  • 39. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING Node.js Modules NPM GLOBALS FILE SYSTEM CALLBACKS EVENT HTTP
  • 40. www.edureka.co/mastering-node-jsEDUREKA NODE.JS CERTIFICATION TRAINING HTTP Import Required Modules Creating Server Parse the fetched URL to get pathname Request file to be read from file system (index.html) Creating Header with content type as text or HTML Generating Response Listening to port: 3000 ▪ To use the HTTP server and client one must require('http') ▪ The HTTP interfaces in Node.js are designed to support many features of the protocol
  • 41. EDUREKA NODE.JS CERTIFICATION TRAINING www.edureka.co/angular-js Thank You … Questions/Queries/Feedback