SlideShare a Scribd company logo
1 of 11
Download to read offline
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 1 | 11
Introductions
MEAN is a free and open-source JavaScript software stack for building dynamic web sites and web applications
or we can say that MEAN stack is a collection of JavaScript based technologies used to develop web
applications. MEAN is an acronym for MongoDB, ExpressJS, AngularJS and Node.js. From client to server to
database, MEAN is full stack JavaScript.
 M = MongoDB, a popular database manager which implements a NoSQL structure.
 E = Express.js, a framework which supports and is used to host Node.js projects.
 A = Angular.js, yet another framework for building apps. It builds upon the classic html framework
style and extends it to web apps
 N = Node.js, the crowning glory. This is a runtime environment, which runs server-side web
applications, i.e. it works on the back-end, away from the user's eyes to fetch relevant data or perform
operations on the same.
MongoDB offers a more flexible, accommodating layer for storing data. Node.js provides a better nexus for
running your server, while Express.js helps standardize how you build your websites. On the client, AngularJS
provides a clean way of adding interactive functions and AJAX-driven rich components. Put them all together
and they make a clean, coherent mechanism for moving data from user to disk farm and back again.
Features of MEAN Stack
 One of the most important benefits of all is that, it lets the developer write the entire code in
JavaScript; from client to server. This is like a blessing for the JavaScript developers who have
invested their time and money in learning JavaScript for the client side tasks.
 It supports the MVC (Model View Controller) architecture.
 The MEAN components are open source; which MEANs the stack gets updated regularly. In addition
to it, it is easy and flexible to understand and use which helps the developers to customize as per
your needs.
 Other advantages are the huge module library of node.js and the use of JSON is to transfer the data.
 Not a just startup, big players also move to Node.js: Walmart, PayPal, Yahoo, Netflix, Uber, LinkedIn.
Architecture of MEAN Stack
MEAN is a free and open-source JavaScript software stack for building dynamic web sites and web
applications. MEAN is very simple and easy to use for both back end and front end in other technologies there
are different languages used for front and back end but in written in one language for both server-side and
client-side execution. Working of MEAN Stack is explained below in the figure properly.
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 2 | 11
Fig.1 MEAN Stack Architecture
MEAN Stack Architecture Explanation
1. When client makes any request it is firstly processed by the AngularJS. AngularJS is a client side
language in JavaScript.
2. After that the Request enters in phase 2 which is NodeJS. NodeJS is a server side language in
JavaScript.
3. After that Request enter in the phase 3 which is ExpressJs it make request to the database.
4. After that MongoDB retrieve the data and return the response to the ExpressJs.
5. Then ExpressJs return response to the NodeJS and then NodeJS return it to the AngularJS to display the
result.
AngularJS (client Side)
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language
and lets you extend HTML's syntax to express your application's components clearly and succinctly. AngularJS
data binding and dependency injection eliminate much of the code you currently have to write. And it all
happens within the browser, making it an ideal partner with any server technology.
1) AngularJS is a powerful JavaScript based development framework to create RICH Internet
Application(RIA).
2) AngularJS provides developers options to write client side application (using JavaScript) in a clean MVC
(Model View Controller) way.
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 3 | 11
3) AngularJS is open source, completely free, and used by thousands of developers around the world. It is
licensed under the Apache License version 2.0.
Architecture of AngularJS
Fig.2 Architecture of AngularJS
1) Model
 It is the lowest level of the pattern responsible for maintaining data.
 The model is responsible for managing application data. It responds to the request from view and to
the instructions from the controller to update itself.
2) View
 It is responsible for displaying all or a portion of the data to the user.
 A presentation of data in a particular format, triggered by the controller's decision to present the data.
They are script-based template systems such as JSP, ASP, PHP and very easy to integrate with AJAX
technology.
3) Controller
 It is a software Code that controls the interactions between the Model and View.
 The controller responds to user input and performs interactions on the data model objects. The
controller receives input, validates it, and then performs business operations that modify the state of
the data model.
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 4 | 11
NodeJS (Server Side)
Node.js is a server-side platform built on Chrome's JavaScript runtime for easily building fast and scalable
network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and
efficient, perfect for data-intensive real-time applications that run across distributed devices.
1) Asynchronous and Event Driven
 All APIs of Node.js library are asynchronous, that is, non-blocking. It essentially MEANs a Node.js
based server never waits for an API to return data. The server moves to the next API after calling it
and a notification mechanism of Events of Node.js helps the server to get a response from the
previous API call
2) Very Fast
 Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in code execution.
3) Single Threaded but Highly Scalable
 Node.js 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 which create limited threads to handle requests. Node.js uses a single threaded program
and the same program can provide service to a much larger number of requests than traditional
servers like Apache HTTP Server
4) No Buffering
 Node.js 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 which create limited threads to handle requests. Node.js uses a single threaded program
and the same program can provide service to a much larger number of requests than traditional
servers like Apache HTTP Server.
Threading
Node.js operates on a single thread, using non-blocking I/O calls, allowing it to support tens of thousands of
concurrent connections without incurring the cost of thread context switching. The design of sharing a single
thread between all the requests that uses the observer pattern is intended for building highly concurrent
applications, where any function performing I/O must use a callback. In order to accommodate the single-
threaded event loop, Node.js utilizes the libuv library that in turn uses a fixed-sized thread pool that is
responsible for some of the non-blocking asynchronous I/O operations.
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 5 | 11
Fig.3 NodeJS Single Tread Architecture
ArchitectureDescription
 Here “n” number of Clients Send request to Web Server. Let us assume they are accessing our Web
Application concurrently.
 Let us assume, our Clients Are Client-1, Client-2… and Client-n.
 Web Server internally maintains a Limited Thread pool. Let us assume “m” number of Threads in Thread
pool.
 Web Server receives those requests one by one.
 Web Server pickup Client-1 Request-1, Pickup one Thread T-1 from Thread pool and assign this
request to Thread T-1
 Thread T-1 reads Client-1 Request-1 and process it
 Client-1 Request-1 does not require any Blocking IO Operations
 Thread T-1 does necessary steps and prepares Response-1 and send it back to the Server
 Web Server in-turn send this Response-1 to the Client-1
 Web Server pickup another Client-2 Request-2, Pickup one Thread T-2 from Thread pool and
assign this request to Thread T-2
 Thread T-2 reads Client-1 Request-2 and process it
 Client-1 Request-2 does not require any Blocking IO Operations
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 6 | 11
 Thread T-2 does necessary steps and prepares Response-2 and send it back to the Server
 Web Server in-turn send this Response-2 to the Client-2
 Web Server pickups another Client-n Request-n, Pickup one Thread T-n from Thread pool and
assign this request to Thread T-n
 Thread T-n reads Client-n Request-n and process it
 Client-n Request-n require heavy Blocking IO and computation Operations
 Thread T-n takes more time to interact with external systems, does necessary steps and
prepares Response-n and send it back to the Server
 Web Server in-turn send this Response-n to the Client-n
If “n” is greater than “m” (Most of the times, its true), then server assigns Threads to Client Requests up
to available Threads. After all m Threads are utilized, then remaining Client’s Request should wait in the
Queue until some of the busy Threads finish their Request-Processing Job and free to pick up next
Request. If those threads are busy with Blocking IO Tasks (For example, interacting with Database, file
system, JMS Queue, external services etc.) for longer time, then remaining clients should wait longer
time.
 Once Threads are free in Thread Pool and available for next tasks, Server pickup those threads and
assign them to remaining Client Requests.
 Each Thread utilizes many resources like memory etc. So before going those Threads from busy
state to waiting state, they should release all acquired resources
ExpressJs
Express provides a minimal interface to us to build our applications. It is minimal, providing us the absolutely
required tools to build our app and flexible, there are numerous modules available on npm for express, which
can be directly plugged into express.
Unlike its competitors like Rails and Django, which have an opinionated way of building applications, express
has no "best way" do something. It is very flexible and pluggable.
Architecture of ExpressJS
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 7 | 11
Fig.4 Architecture of ExpressJS
Architecture Description
When the user sends a request to through AngularJS then that request is firstly accessed by the NodeJS
threading is done in the NodeJS and then it is sent to the ExpressJS to Create, Read, Update and Delete the API
for the Request. ExpressJs host the website for the NodeJS. Both NodeJS and ExpressJS are server side
languages. After CURD the API data is retrieved from the MongoDB ad then send it to the User.
 Create (POST) - Make something
 Read (GET)_- Get something
 Update (PUT) - Change something
 Delete (DELETE)- Remove something
MongoDB
MongoDB (from humongous) is a free and open-source cross-platform document-oriented database program.
Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. MongoDB is the
database for today's applications, enabling you to:
 Leverage data and technology to maximize competitive advantage
 Reduce risk for mission-critical deployments
 Accelerate time-to-value
 Dramatically lower total cost of ownership
We can build applications using MongoDB database without using traditional database relations(MYSQL).
MongoDB features are below.
1) Fast, Iterative Development
 A flexible data model coupled with dynamic schema and idiomatic drivers make it fast for
developers to build and evolve applications.
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 8 | 11
2) Flexible Data Model.
 MongoDB's document data model makes it easy for you to store and combine data of any
structure, without giving up sophisticated validation rules, data access and rich indexing
functionality.
3) Multi-Datacenter Scalability
 As your deployments grow in terms of data volume and throughput, MongoDB scales easily with
no downtime, and without changing your application.
4) Integrated Feature Set
 Analytics and data visualization, text search, graph processing, geospatial, in-memory
performance and global replication allow you to deliver a wide variety of real-time applications on
one technology, reliably and securely.
5) Lower TCO
 Application development teams are more productive when they use MongoDB. Single click
management MEANs operations teams are as well. MongoDB runs on commodity hardware,
dramatically lowering costs.
Architecture of MongoDB
Fig.6 MongoDB Architecture
Architecture Description
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 9 | 11
1) Expressive query language & secondary Indexes.
 Users should be able to access and manipulate their data in sophisticated ways to support both
operational and analytical applications. Indexes play a critical role in providing efficient access to
data, supported natively by the database rather than maintained in application code.
2) Strong consistency.
 Applications should be able to immediately read what has been written to the database. It is much
more complex to build applications around an eventually consistent model, imposing significant
work on the developer, even for the most sophisticated engineering teams.
3) Enterprise Management and Integrations.
 Databases are just one piece of application infrastructure, and need to fit seamlessly into the
enterprise IT stack. Organizations need a database that can be secured, monitored, automated, and
integrated with their existing technology infrastructure, processes and staff, including operations
teams, DBAs, and data analysts.
However, modern applications impose requirements not addressed by relational databases, and this has
driven the development of NoSQL (non SQL", "non-relational" or "not only SQL) databases which offer:
4) Flexible Data Model.
 NoSQL databases emerged to address the requirements for the data we see dominating modern
applications. Whether document, graph, key-value, or wide-column, all of them offer a flexible data
model, making it easy to store and combine data of any structure and allow dynamic modification
of the schema without downtime or performance impact.
5) Scalability and Performance.
 NoSQL databases were all built with a focus on scalability, so they all include some form of shading
or partitioning. This allows the database to scale out on commodity hardware deployed on-
premises or in the cloud, enabling almost unlimited growth with higher throughput and lower
latency than relational databases.
6) Always-On Global Deployments.
 NoSQL databases are designed for highly available systems that provide a consistent, high-quality
experience for users all over the world. They are designed to run across many nodes, including
 replication to automatically synchronize data across servers, racks, and data centers.
Features of MongoDB
 In MongoDB, data represents in a collection of JSON documents.
 MongoDB’s querying is object-oriented, which MEANs you can pass MongoDB a document
explaining what you are querying. MongoDB doesn’t support joints, it supports multi-dimensional
data types like other documents and arrays.
 MongoDB, you will only have one array of comments and one collection of posts within a post
 One of the best things about MongoDB is that you are not responsible for defining the schema
Server Requirements
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 10 | 11
Below is the ideal configuration for MEAN Stack.
 MEAN Version 3.4.4-0 (64-bit).
Download MEAN latest Version from
https://bitnami.com/redirect/to/147451/bitnami-meanstack-3.4.4-0-windows-x64-installer.exe
 AngularJS Version: 1.6.4.
Download AngularJS latest Version
https://angularjs.org/
 NodeJS Version V8.1.1 npm(Node Package Manager) 3.10.3.
Download NodeJS latest Version from
https://nodejs.org/dist/v8.1.1/node-v8.1.1-x64.msi
 ExpressJS Version 4.15.3.
 MongoDB Manual Version 3.4.5
Download MongoDB latest Version from
https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-
3.4.5-signed.msi/download
Installationfor MEAN Stack
 Node.js - Download and Install Node.js, node school has free node tutorials to get you started.
Download NodeJS latest Version from
https://nodejs.org/dist/v8.1.1/node-v8.1.1-x64.msi
 MongoDB - Follow the great tutorial from the mongo dB site - "Install MongoDB On Windows"
Download MongoDB latest Version from
https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-
3.4.5-signed.msi/download
 Git - The easiest way to install Git and then run the rest of the commands through the Git bash
application (via command prompt) is by downloading and installing Git for Windows Download Git
latest Version
https://Git-scm.com/download/win
MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB
P a g e 11 | 11
Technology
 MEAN Stack (MEAN Stack developers):
 UI: Angular JS, Bootstrap, HTML 5, CSS 3, JS, JSON, jQuery
 Platform: Middle Ware & Server
 Server Side: Express, Common JS, Node JS, RESTAPI
 Database: Mongo DB
 Environment Framework and Testing Framework: Chai, Protractor, Mocha
 Build Tool: Gulp
 Front-End: Yeoman
 Text Editor: Atom
Download Atom Latest Version from
https://atom.io/download/windows_x64
Source:
http://www.evincedev.com/blog/mean-stack-architecture/
Contact Us:
Visit our official website: www.evincedev.com
Email: Padnya.maulik@gmail.com
Skype: evince.development
Contact: +1 315 715 8494
+61 416 474 542
+39 3921722826

More Related Content

Recently uploaded

PDT 88 - 4 million seed - Seed - Protecto.pdf
PDT 88 - 4 million seed - Seed - Protecto.pdfPDT 88 - 4 million seed - Seed - Protecto.pdf
PDT 88 - 4 million seed - Seed - Protecto.pdfHajeJanKamps
 
AMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdf
AMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdfAMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdf
AMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdfJohnCarloValencia4
 
Team B Mind Map for Organizational Chg..
Team B Mind Map for Organizational Chg..Team B Mind Map for Organizational Chg..
Team B Mind Map for Organizational Chg..dlewis191
 
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdfChicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdfSourav Sikder
 
Data skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsData skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsyasinnathani
 
Slicing Work on Business Agility Meetup Berlin
Slicing Work on Business Agility Meetup BerlinSlicing Work on Business Agility Meetup Berlin
Slicing Work on Business Agility Meetup BerlinAnton Skornyakov
 
Fabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and FestivalsFabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and FestivalsWristbands Ireland
 
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003believeminhh
 
Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)
Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)
Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)tazeenaila12
 
NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023Steve Rader
 
The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...
The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...
The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...Brian Solis
 
Upgrade Your Banking Experience with Advanced Core Banking Applications
Upgrade Your Banking Experience with Advanced Core Banking ApplicationsUpgrade Your Banking Experience with Advanced Core Banking Applications
Upgrade Your Banking Experience with Advanced Core Banking ApplicationsIntellect Design Arena Ltd
 
A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.mcshagufta46
 
Borderless Access - Global B2B Panel book-unlock 2024
Borderless Access - Global B2B Panel book-unlock 2024Borderless Access - Global B2B Panel book-unlock 2024
Borderless Access - Global B2B Panel book-unlock 2024Borderless Access
 
Intellectual Property Licensing Examples
Intellectual Property Licensing ExamplesIntellectual Property Licensing Examples
Intellectual Property Licensing Examplesamberjiles31
 
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdfGraham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdfAnhNguyen97152
 
Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access
 
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for BusinessQ2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for BusinessAPCO
 
Project Brief & Information Architecture Report
Project Brief & Information Architecture ReportProject Brief & Information Architecture Report
Project Brief & Information Architecture Reportamberjiles31
 

Recently uploaded (20)

PDT 88 - 4 million seed - Seed - Protecto.pdf
PDT 88 - 4 million seed - Seed - Protecto.pdfPDT 88 - 4 million seed - Seed - Protecto.pdf
PDT 88 - 4 million seed - Seed - Protecto.pdf
 
AMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdf
AMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdfAMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdf
AMAZON SELLER VIRTUAL ASSISTANT PRODUCT RESEARCH .pdf
 
Team B Mind Map for Organizational Chg..
Team B Mind Map for Organizational Chg..Team B Mind Map for Organizational Chg..
Team B Mind Map for Organizational Chg..
 
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdfChicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
Chicago Medical Malpractice Lawyer Chicago Medical Malpractice Lawyer.pdf
 
Data skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsData skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story points
 
Slicing Work on Business Agility Meetup Berlin
Slicing Work on Business Agility Meetup BerlinSlicing Work on Business Agility Meetup Berlin
Slicing Work on Business Agility Meetup Berlin
 
Fabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and FestivalsFabric RFID Wristbands in Ireland for Events and Festivals
Fabric RFID Wristbands in Ireland for Events and Festivals
 
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
The Vietnam Believer Newsletter_MARCH 25, 2024_EN_Vol. 003
 
Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)
Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)
Harvard Business Review.pptx | Navigating Labor Unrest (March-April 2024)
 
Investment Opportunity for Thailand's Automotive & EV Industries
Investment Opportunity for Thailand's Automotive & EV IndustriesInvestment Opportunity for Thailand's Automotive & EV Industries
Investment Opportunity for Thailand's Automotive & EV Industries
 
NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023NASA CoCEI Scaling Strategy - November 2023
NASA CoCEI Scaling Strategy - November 2023
 
The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...
The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...
The End of Business as Usual: Rewire the Way You Work to Succeed in the Consu...
 
Upgrade Your Banking Experience with Advanced Core Banking Applications
Upgrade Your Banking Experience with Advanced Core Banking ApplicationsUpgrade Your Banking Experience with Advanced Core Banking Applications
Upgrade Your Banking Experience with Advanced Core Banking Applications
 
A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.A flour, rice and Suji company in Jhang.
A flour, rice and Suji company in Jhang.
 
Borderless Access - Global B2B Panel book-unlock 2024
Borderless Access - Global B2B Panel book-unlock 2024Borderless Access - Global B2B Panel book-unlock 2024
Borderless Access - Global B2B Panel book-unlock 2024
 
Intellectual Property Licensing Examples
Intellectual Property Licensing ExamplesIntellectual Property Licensing Examples
Intellectual Property Licensing Examples
 
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdfGraham and Doddsville - Issue 1 - Winter 2006 (1).pdf
Graham and Doddsville - Issue 1 - Winter 2006 (1).pdf
 
Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024Borderless Access - Global Panel book-unlock 2024
Borderless Access - Global Panel book-unlock 2024
 
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for BusinessQ2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
Q2 2024 APCO Geopolitical Radar - The Global Operating Environment for Business
 
Project Brief & Information Architecture Report
Project Brief & Information Architecture ReportProject Brief & Information Architecture Report
Project Brief & Information Architecture Report
 

Featured

ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...Palo Alto Software
 
9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free VacationWeekdone.com
 
I Rock Therefore I Am. 20 Legendary Quotes from Prince
I Rock Therefore I Am. 20 Legendary Quotes from PrinceI Rock Therefore I Am. 20 Legendary Quotes from Prince
I Rock Therefore I Am. 20 Legendary Quotes from PrinceEmpowered Presentations
 
How to Map Your Future
How to Map Your FutureHow to Map Your Future
How to Map Your FutureSlideShop.com
 

Featured (20)

ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
 
9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
 
I Rock Therefore I Am. 20 Legendary Quotes from Prince
I Rock Therefore I Am. 20 Legendary Quotes from PrinceI Rock Therefore I Am. 20 Legendary Quotes from Prince
I Rock Therefore I Am. 20 Legendary Quotes from Prince
 
How to Map Your Future
How to Map Your FutureHow to Map Your Future
How to Map Your Future
 

Mean stack architecture angular js, nodejs, expressjs and mongodb

  • 1. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 1 | 11 Introductions MEAN is a free and open-source JavaScript software stack for building dynamic web sites and web applications or we can say that MEAN stack is a collection of JavaScript based technologies used to develop web applications. MEAN is an acronym for MongoDB, ExpressJS, AngularJS and Node.js. From client to server to database, MEAN is full stack JavaScript.  M = MongoDB, a popular database manager which implements a NoSQL structure.  E = Express.js, a framework which supports and is used to host Node.js projects.  A = Angular.js, yet another framework for building apps. It builds upon the classic html framework style and extends it to web apps  N = Node.js, the crowning glory. This is a runtime environment, which runs server-side web applications, i.e. it works on the back-end, away from the user's eyes to fetch relevant data or perform operations on the same. MongoDB offers a more flexible, accommodating layer for storing data. Node.js provides a better nexus for running your server, while Express.js helps standardize how you build your websites. On the client, AngularJS provides a clean way of adding interactive functions and AJAX-driven rich components. Put them all together and they make a clean, coherent mechanism for moving data from user to disk farm and back again. Features of MEAN Stack  One of the most important benefits of all is that, it lets the developer write the entire code in JavaScript; from client to server. This is like a blessing for the JavaScript developers who have invested their time and money in learning JavaScript for the client side tasks.  It supports the MVC (Model View Controller) architecture.  The MEAN components are open source; which MEANs the stack gets updated regularly. In addition to it, it is easy and flexible to understand and use which helps the developers to customize as per your needs.  Other advantages are the huge module library of node.js and the use of JSON is to transfer the data.  Not a just startup, big players also move to Node.js: Walmart, PayPal, Yahoo, Netflix, Uber, LinkedIn. Architecture of MEAN Stack MEAN is a free and open-source JavaScript software stack for building dynamic web sites and web applications. MEAN is very simple and easy to use for both back end and front end in other technologies there are different languages used for front and back end but in written in one language for both server-side and client-side execution. Working of MEAN Stack is explained below in the figure properly.
  • 2. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 2 | 11 Fig.1 MEAN Stack Architecture MEAN Stack Architecture Explanation 1. When client makes any request it is firstly processed by the AngularJS. AngularJS is a client side language in JavaScript. 2. After that the Request enters in phase 2 which is NodeJS. NodeJS is a server side language in JavaScript. 3. After that Request enter in the phase 3 which is ExpressJs it make request to the database. 4. After that MongoDB retrieve the data and return the response to the ExpressJs. 5. Then ExpressJs return response to the NodeJS and then NodeJS return it to the AngularJS to display the result. AngularJS (client Side) AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. AngularJS data binding and dependency injection eliminate much of the code you currently have to write. And it all happens within the browser, making it an ideal partner with any server technology. 1) AngularJS is a powerful JavaScript based development framework to create RICH Internet Application(RIA). 2) AngularJS provides developers options to write client side application (using JavaScript) in a clean MVC (Model View Controller) way.
  • 3. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 3 | 11 3) AngularJS is open source, completely free, and used by thousands of developers around the world. It is licensed under the Apache License version 2.0. Architecture of AngularJS Fig.2 Architecture of AngularJS 1) Model  It is the lowest level of the pattern responsible for maintaining data.  The model is responsible for managing application data. It responds to the request from view and to the instructions from the controller to update itself. 2) View  It is responsible for displaying all or a portion of the data to the user.  A presentation of data in a particular format, triggered by the controller's decision to present the data. They are script-based template systems such as JSP, ASP, PHP and very easy to integrate with AJAX technology. 3) Controller  It is a software Code that controls the interactions between the Model and View.  The controller responds to user input and performs interactions on the data model objects. The controller receives input, validates it, and then performs business operations that modify the state of the data model.
  • 4. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 4 | 11 NodeJS (Server Side) Node.js is a server-side platform built on Chrome's JavaScript runtime for easily building fast and scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. 1) Asynchronous and Event Driven  All APIs of Node.js library are asynchronous, that is, non-blocking. It essentially MEANs a Node.js based server never waits for an API to return data. The server moves to the next API after calling it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call 2) Very Fast  Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in code execution. 3) Single Threaded but Highly Scalable  Node.js 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 which create limited threads to handle requests. Node.js uses a single threaded program and the same program can provide service to a much larger number of requests than traditional servers like Apache HTTP Server 4) No Buffering  Node.js 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 which create limited threads to handle requests. Node.js uses a single threaded program and the same program can provide service to a much larger number of requests than traditional servers like Apache HTTP Server. Threading Node.js operates on a single thread, using non-blocking I/O calls, allowing it to support tens of thousands of concurrent connections without incurring the cost of thread context switching. The design of sharing a single thread between all the requests that uses the observer pattern is intended for building highly concurrent applications, where any function performing I/O must use a callback. In order to accommodate the single- threaded event loop, Node.js utilizes the libuv library that in turn uses a fixed-sized thread pool that is responsible for some of the non-blocking asynchronous I/O operations.
  • 5. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 5 | 11 Fig.3 NodeJS Single Tread Architecture ArchitectureDescription  Here “n” number of Clients Send request to Web Server. Let us assume they are accessing our Web Application concurrently.  Let us assume, our Clients Are Client-1, Client-2… and Client-n.  Web Server internally maintains a Limited Thread pool. Let us assume “m” number of Threads in Thread pool.  Web Server receives those requests one by one.  Web Server pickup Client-1 Request-1, Pickup one Thread T-1 from Thread pool and assign this request to Thread T-1  Thread T-1 reads Client-1 Request-1 and process it  Client-1 Request-1 does not require any Blocking IO Operations  Thread T-1 does necessary steps and prepares Response-1 and send it back to the Server  Web Server in-turn send this Response-1 to the Client-1  Web Server pickup another Client-2 Request-2, Pickup one Thread T-2 from Thread pool and assign this request to Thread T-2  Thread T-2 reads Client-1 Request-2 and process it  Client-1 Request-2 does not require any Blocking IO Operations
  • 6. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 6 | 11  Thread T-2 does necessary steps and prepares Response-2 and send it back to the Server  Web Server in-turn send this Response-2 to the Client-2  Web Server pickups another Client-n Request-n, Pickup one Thread T-n from Thread pool and assign this request to Thread T-n  Thread T-n reads Client-n Request-n and process it  Client-n Request-n require heavy Blocking IO and computation Operations  Thread T-n takes more time to interact with external systems, does necessary steps and prepares Response-n and send it back to the Server  Web Server in-turn send this Response-n to the Client-n If “n” is greater than “m” (Most of the times, its true), then server assigns Threads to Client Requests up to available Threads. After all m Threads are utilized, then remaining Client’s Request should wait in the Queue until some of the busy Threads finish their Request-Processing Job and free to pick up next Request. If those threads are busy with Blocking IO Tasks (For example, interacting with Database, file system, JMS Queue, external services etc.) for longer time, then remaining clients should wait longer time.  Once Threads are free in Thread Pool and available for next tasks, Server pickup those threads and assign them to remaining Client Requests.  Each Thread utilizes many resources like memory etc. So before going those Threads from busy state to waiting state, they should release all acquired resources ExpressJs Express provides a minimal interface to us to build our applications. It is minimal, providing us the absolutely required tools to build our app and flexible, there are numerous modules available on npm for express, which can be directly plugged into express. Unlike its competitors like Rails and Django, which have an opinionated way of building applications, express has no "best way" do something. It is very flexible and pluggable. Architecture of ExpressJS
  • 7. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 7 | 11 Fig.4 Architecture of ExpressJS Architecture Description When the user sends a request to through AngularJS then that request is firstly accessed by the NodeJS threading is done in the NodeJS and then it is sent to the ExpressJS to Create, Read, Update and Delete the API for the Request. ExpressJs host the website for the NodeJS. Both NodeJS and ExpressJS are server side languages. After CURD the API data is retrieved from the MongoDB ad then send it to the User.  Create (POST) - Make something  Read (GET)_- Get something  Update (PUT) - Change something  Delete (DELETE)- Remove something MongoDB MongoDB (from humongous) is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. MongoDB is the database for today's applications, enabling you to:  Leverage data and technology to maximize competitive advantage  Reduce risk for mission-critical deployments  Accelerate time-to-value  Dramatically lower total cost of ownership We can build applications using MongoDB database without using traditional database relations(MYSQL). MongoDB features are below. 1) Fast, Iterative Development  A flexible data model coupled with dynamic schema and idiomatic drivers make it fast for developers to build and evolve applications.
  • 8. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 8 | 11 2) Flexible Data Model.  MongoDB's document data model makes it easy for you to store and combine data of any structure, without giving up sophisticated validation rules, data access and rich indexing functionality. 3) Multi-Datacenter Scalability  As your deployments grow in terms of data volume and throughput, MongoDB scales easily with no downtime, and without changing your application. 4) Integrated Feature Set  Analytics and data visualization, text search, graph processing, geospatial, in-memory performance and global replication allow you to deliver a wide variety of real-time applications on one technology, reliably and securely. 5) Lower TCO  Application development teams are more productive when they use MongoDB. Single click management MEANs operations teams are as well. MongoDB runs on commodity hardware, dramatically lowering costs. Architecture of MongoDB Fig.6 MongoDB Architecture Architecture Description
  • 9. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 9 | 11 1) Expressive query language & secondary Indexes.  Users should be able to access and manipulate their data in sophisticated ways to support both operational and analytical applications. Indexes play a critical role in providing efficient access to data, supported natively by the database rather than maintained in application code. 2) Strong consistency.  Applications should be able to immediately read what has been written to the database. It is much more complex to build applications around an eventually consistent model, imposing significant work on the developer, even for the most sophisticated engineering teams. 3) Enterprise Management and Integrations.  Databases are just one piece of application infrastructure, and need to fit seamlessly into the enterprise IT stack. Organizations need a database that can be secured, monitored, automated, and integrated with their existing technology infrastructure, processes and staff, including operations teams, DBAs, and data analysts. However, modern applications impose requirements not addressed by relational databases, and this has driven the development of NoSQL (non SQL", "non-relational" or "not only SQL) databases which offer: 4) Flexible Data Model.  NoSQL databases emerged to address the requirements for the data we see dominating modern applications. Whether document, graph, key-value, or wide-column, all of them offer a flexible data model, making it easy to store and combine data of any structure and allow dynamic modification of the schema without downtime or performance impact. 5) Scalability and Performance.  NoSQL databases were all built with a focus on scalability, so they all include some form of shading or partitioning. This allows the database to scale out on commodity hardware deployed on- premises or in the cloud, enabling almost unlimited growth with higher throughput and lower latency than relational databases. 6) Always-On Global Deployments.  NoSQL databases are designed for highly available systems that provide a consistent, high-quality experience for users all over the world. They are designed to run across many nodes, including  replication to automatically synchronize data across servers, racks, and data centers. Features of MongoDB  In MongoDB, data represents in a collection of JSON documents.  MongoDB’s querying is object-oriented, which MEANs you can pass MongoDB a document explaining what you are querying. MongoDB doesn’t support joints, it supports multi-dimensional data types like other documents and arrays.  MongoDB, you will only have one array of comments and one collection of posts within a post  One of the best things about MongoDB is that you are not responsible for defining the schema Server Requirements
  • 10. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 10 | 11 Below is the ideal configuration for MEAN Stack.  MEAN Version 3.4.4-0 (64-bit). Download MEAN latest Version from https://bitnami.com/redirect/to/147451/bitnami-meanstack-3.4.4-0-windows-x64-installer.exe  AngularJS Version: 1.6.4. Download AngularJS latest Version https://angularjs.org/  NodeJS Version V8.1.1 npm(Node Package Manager) 3.10.3. Download NodeJS latest Version from https://nodejs.org/dist/v8.1.1/node-v8.1.1-x64.msi  ExpressJS Version 4.15.3.  MongoDB Manual Version 3.4.5 Download MongoDB latest Version from https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl- 3.4.5-signed.msi/download Installationfor MEAN Stack  Node.js - Download and Install Node.js, node school has free node tutorials to get you started. Download NodeJS latest Version from https://nodejs.org/dist/v8.1.1/node-v8.1.1-x64.msi  MongoDB - Follow the great tutorial from the mongo dB site - "Install MongoDB On Windows" Download MongoDB latest Version from https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl- 3.4.5-signed.msi/download  Git - The easiest way to install Git and then run the rest of the commands through the Git bash application (via command prompt) is by downloading and installing Git for Windows Download Git latest Version https://Git-scm.com/download/win
  • 11. MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS and MongoDB P a g e 11 | 11 Technology  MEAN Stack (MEAN Stack developers):  UI: Angular JS, Bootstrap, HTML 5, CSS 3, JS, JSON, jQuery  Platform: Middle Ware & Server  Server Side: Express, Common JS, Node JS, RESTAPI  Database: Mongo DB  Environment Framework and Testing Framework: Chai, Protractor, Mocha  Build Tool: Gulp  Front-End: Yeoman  Text Editor: Atom Download Atom Latest Version from https://atom.io/download/windows_x64 Source: http://www.evincedev.com/blog/mean-stack-architecture/ Contact Us: Visit our official website: www.evincedev.com Email: Padnya.maulik@gmail.com Skype: evince.development Contact: +1 315 715 8494 +61 416 474 542 +39 3921722826