Read whitepaper to get information on how nodejs works, why and where node.js can be used. More details at http://softwebsolutions.com/nodejs-application-development.html
2. What is Node.js
The Node.js Model of Working
How Node.js Works
Why Node.js
How Other Programming Languages Work
Who is Using Node.js
Case Study
Where Node.js Should be Used
About Softweb Solutions
Table of Contents
3
6
4
7
5
8
10
9
11
3. Node.js is a server side JavaScript platform and is used for building fast, scalable network applications. It was
created in 2009 by Ryan Dahl and is currently sponsored by Joyent.
3
The strength of Node.js lies in the fact that it has been written in JavaScript; the programming language used in web
browsers which allows client-side scripts to interact with the user, control the browser and change the content that is
displayed to theuser.
Node.js uses this capability of JavaScript for server-side network programming and is being used in the creation of
desktop and mobile applications.
It runs on JavaScript and uses the V8 engine developed by Google for use in its Chrome browser. The "engine" is a
processwhich interprets andexecutes JavaScript,oneof themost commonly used technologies in webbrowsers.
What is Node.js
Node.js - the power
and familiarity of
JavaScript used for
server side
programming
4. The event-driven, non-blocking I/O model of Node.js makes it lightweight and efficient, and perfect for creating
data-intensive real-time applications that run across distributed devices.
How Node.js Works4
This method of working makes it ideal for websites which serve content that does not require a lot of CPU resources.
Node.jsbased websites andapplications can handle alot of trafficsimultaneously verywell,which is itscore strength.
ThewayNode.jsworkscan also be understood by therestaurant analogy.
SynchronouslyRun Restaurant (how otherprogramming languageswork)
Step 1- There are four tables in the restaurant and just one waiter. When all the diners are seated, the waiter goes to the
first tableto take theorder.
Step 2-
Step 4-
The waiter passes the order to the kitchen and waits while the order is prepared. He does not take orders from
other diners during this time.
The waiter finally moves on to the second table. He will repeat the same process that he did with table one i.e.
ignore other tables whilehe is working on tabletwo.
Step 3- Thewaiter servestheorderto thefirst tableand only then does he move on to theothertables.
Obviously,this kind of service would take up alotof time andis notaveryefficient modelof runningthings.
Asynchronously Run Restaurant (the Node.js model of working)
Step 1- Thewaiter comesto thefirsttableand takestheorder.He quicklypasses theorderto thekitchen.
Step 2-
Step 4-
The waiter moves on to take the order from the
second table while the first table's order is being
prepared.
By the time the waiter has moved to the fourth table
to take their order, the other three tables are
enjoying theirmeals.
Step 3- Once the first table's order is ready, the waiter
serves it to the diners and continues to take orders
from thethirdtable.
This model is obviously much more efficient in terms of
resource use for the restaurant and also in delivering food
(content)to thediners.
Node.js allows companies to reduce the number of servers
while running a high-traffic site or application while
achievingincreased speed in content delivery.
Node is event-driven
programming which
means a lot can be
done out of fewer
servers
7. In 1994, there were around 25 million Internet users worldwide. Today there are almost 3 billion Internet users.
Most of the programming languages were not built to handle such huge amounts of traffic.
Node.js has JavaScript as its base, which is a full-fledged programming language in its own right. Programmers are
now realizing the benefits of using JavaScript to create and run applications in a way that reduces the resource
requirements of theorganization andalso speeds up deliveryof thedata.
In this regard, Node.js is not just another temporary trend in the programming community but represents a new way of
thinking abouthowsoftware systemsshould be builtand operated.
The official package manager of Node.js modules, npmjs.org, has over 83,000 modules available as of now. This means
that the programmers can easily and quickly build applications using code that is "off-the-shelf", instead of re-inventing
thewheel.
Applications created with Node.js are capable of handling a high number of simultaneous connections and can save
enterprises’ operating costson infrastructure.
7 Why Node.js
Node
makes a much
smaller footprint on your
web server. It allocates
web server resources on
an as-needed basis, not
pre-allocating a large
chunk of resources
for each
user.
8. In 2013, Node.js was the 2nd most watched project on GitHub, the world's largest code sharing and publishing
service overtaking longtime developer favorites JQuery and Ruby on Rails.
8 Who is Using Node.js
The major adopters of Node.js are –
One of the earliest and biggest adopters of the technology, it made waves in the
tech community for ditching Ruby on Rails for Node.js in 2011. Today, Node.js
powers its entire mobile software stack. Because of this the company was able
to reduce its servers from 30 to just 3! The system also saw improved speeds by
up to 20 times the previous performance.
The retail giant's embrace of Node.js was what brought over many other
businesses to the platform. The company decided to implement Node.js to
handle all its mobile traffic on Black Friday 2013 – the busiest shopping day of
the year. The website was able to successfully handle over 200 million users
online.
The second major company to switch from Ruby on Rails to Node.js. The
company now uses Node.js for its back-end services and has reported improved
page load times, around 50% faster than before. Their developers are also able
to create new features faster.
The company has created the KrakenJS framework, which is now used in the
development of all its new web applications.
LinkedIn
GroupOn
Walmart
PayPal
The publisher of Wall Street Journal, DJX, Dow Jones Newswires and other
industry leading publications has made the switch to Node.js for its web and
streaming applications.
The company is one of the core contributors to Node.js for Windows and also
uses Node.js internally. Microsoft also provides cloud hosting for Node.js
applications in Windows Azure. Yammer, its collaboration tool for enterprises
also uses Node.js.
Node.js powers the company's development of a universal, global UI framework
for the entire GE group of companies.
Microsoft
General
Electric
Dow Jones
&
Company
9. 9 Where Node.js Should be Used
Chat
Stock Trading Software
System Monitoring Applications
Real-time Monitoring Tools
Data Streaming
Node.js is the ideal platform for chat systems
because of their need for high traffic, data-intensive
but low processing power application requirements.
Node.js has also been used to create a real-time
web solution for brokers who trade stocks daily and
need to track stock prices in real-time. A Node.js-
based application can be created to also perform
calculations, graphs and analysis. Mobile based
apps using Node.js can give day traders the ability
to work from anywhere.
Node.js has the ability to be used to create a web-
based dashboard for monitoring applications being
used on the enterprise's Intranet and on the cloud.
Node.js can be used for creating tools that track website
visitors and their interactions in real-time. This
information can be utilized for creating targeted
interactions with your visitors such as customized
offers.
The way Node.js treats HTTP requests and responses
can be used to enhance the performance of real-time
audio and video encoding and creating proxies between
different data sources.
The JavaScript ecosystem is perfect for real
time applications such as games and chat
Server-side Web Applications
Node.js is a good choice to build web applications
that run server-side only if the application is not
going to be a CPU intensive application. Node.js
along with MongoDB as the database choice can
work well for such requirements. But if your
application is going to be CPU intensive and has a
relational database such as MySQL, MS SQL then
Node.js is not the ideal choice.
10. 10 Case Study
Real-time Stock Trading and Monitoring System
Challenges
Solution
Benefits
Our client, a financial consulting organization, wanted to give its customers the ability to get real-time notifications
regarding stock prices. The subscribers would be getting updates on their desktops so that they would be able to
make quick decisions with respect to which stocks to trade and which ones to hold on to.
We were required to deliver advanced technology solutions that ensure effectual management of large multi-
structured data and a range of business intelligence and analytic applications to boost tactical, operational, and
strategic decision making across the organization.
Our developers used Node.js as the server side technology to enable the site to deliver quick results to the users'
desktops. RabbitMQ, the open source message broker software, was also used to deliver the data to the end users.
The database technology was MongoDB. The real-time data provided to the client's customers means that now
they are able to keep track of their favorite stocks around the clock.
Client subscribers can now aggregate and analyze both data-in-motion and data-at-rest.
The client needed a solution that accelerates the decision making process and also carries out Big Data analytics.
This meant that our developers had to build an infrastructure that provides the ticker information and system
behavioral trading signals after monitoring the real-time data and simultaneously sifts through years of historical
ticks.
Our solution enables significant time saving and improved business decision features.
The client has seen increased customer satisfaction, higher retention and lower customer churn.
11. Softweb Solutions is a leading Software Development Company that serves clients worldwide of all sizes. We have a
strong performance record in offering quality software development services demonstrated by our partnerships with
leading software developers and our Microsoft Certified partnership.
We provide cutting edge mobile app development solutions for all the major platforms such as Apple iOS, Android
OS, Blackberry and Windows Phone. We help companies deal with constantly evolving business needs by
incorporating all our strengths in our solutions.
Softweb solutions
2531 Technology Drive, Suite 312,Elgin,lllinois 60124
US Tool Free Number:1-866-345-7638
Email:info@softwebsolutions.com | www.softwebsolutions.com
300+ 10+
1000+500+
Expert Developers
for iOS, Android & Windows
Years of Software
Development
Satisfied Clients &
Growing
Successful Projects
Delivered
11 About Softweb Solutions