0% found this document useful (0 votes)
11 views36 pages

INT222 Zero Lecture1

The document outlines the course structure for INT 222 - Advanced Web Development, detailing assessment schemes, course outcomes, and program outcomes. It covers various units focused on Node.js, including its architecture, features, and practical applications, along with a list of recommended textbooks. Additionally, it highlights the advantages and limitations of using Node.js in web development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views36 pages

INT222 Zero Lecture1

The document outlines the course structure for INT 222 - Advanced Web Development, detailing assessment schemes, course outcomes, and program outcomes. It covers various units focused on Node.js, including its architecture, features, and practical applications, along with a list of recommended textbooks. Additionally, it highlights the advantages and limitations of using Node.js in web development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

INT 222 - ADVANCED WEB

DEVELOPMENT

Lecture #0
Welcome !!!
ASSESSMENT/EVALUATION
SCHEME

• ATTENDANCE: 5%
• CA: 45%
• MTT: NO MTT
• ETT: 50%
ASSESSMENT/EVALUATION
SCHEME

• CA 1 – Code Based Test (30 MARKS)


• CA 2 – Code Based Test (30 MARKS)
• CA 3 – Project (MANDATORY) (30 MARKS)
• NOTE: The CA3 will be allocated in 3rd Week and
student will submit it in 11th Week.

• ETE – End Term Practical's (100 MARKS)


REVISED BLOOM’S TAXONOMY
COURSE DETAILS

L:2 T:0 P:2 Credits:3


Course Outcome’s:
CO1 :: Describe server-side JavaScript in web
application development
CO2 :: Analyze the web application development
using HTTP, FS and Buffer modules
CO3 :: Assess the node express, JSON, Socket.IO to
allow high scalability with asynchronous code
COURSE DETAILS

L:2 T:0 P:2


Credits:3
CO4 :: Demonstrate the use of CRUD application
using Backend database in web application
development
CO5 :: Use MongoDB database with Node.js
CO6 :: Construct rich interactive environments for
the Web-based applications
Program Outcomes
PO1
Engineering knowledge: Apply the knowledge of mathematics, science,
engineering fundamentals, and an engineering specialization to the solution of
complex engineering problems.

PO2
Problem analysis::Identify, formulate, research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.

PO3
Design/development of solutions::Design solutions for complex engineering
problems and design system components or processes that meet the specified
needs with appropriate consideration for the public health and safety, and the
cultural, societal, and environmental considerations.

PO4
Conduct investigations of complex problems::Use research-based knowledge
and research methods including design of experiments, analysis and
interpretation of data, and synthesis of the information to provide valid
conclusions.
Program Outcomes
PO5
Modern tool usage::Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling to complex
engineering activities with an understanding of the limitations.

PO6
The engineer and society::Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent
responsibilities relevant to the professional engineering practice.

PO7
Environment and sustainability::Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of,
and need for sustainable development.

PO8
Ethics::Apply ethical principles and commit to professional ethics and responsibilities
and norms of the engineering practice.

PO9
Individual and team work::Function effectively as an individual, and as a member or
leader in diverse teams, and in multidisciplinary settings.
Program Outcomes
PO10
Communication::Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend and
write effective reports and design documentation, make effective presentations, and give
and receive clear instructions.

PO11
Project management and finance::Demonstrate knowledge and understanding of the
engineering, management principles and apply the same to one’s own work, as a member
or a leader in a team, manage projects efficiently in respective disciplines and
multidisciplinary environments after consideration of economic and financial factors.

PO12
Life-long learning::Recognize the need for, and have the preparation and ability to engage
in independent and life-long learning in the broadest context of technological change.

PO13
Competitive Skills::Ability to compete in national and international technical events and
building the competitive spirit along with having a good digital footprint.
UNIT1
• Getting Started with Node.JS : Introducing Node.JS,
Node Pacakage Manager (npm), Custom NPMmodules,,
Installing Node, use Node.js REPL, Explore and use built-
in modules of Node.js, Use of Node.JS and GitHub,
collaborate on code with others using the git tool
• JavaScript Primer : Defining Variables and their Scope,
Understanding JavaScript Data Types, Working with
Operators and Loops, Creating Functions, JavaScript
Objects, Working with Arrays,Adding Error Handling,
Using Events, Listeners, Timers and Callbacks.
UNIT II
• Handling Data I/O in Node.js : Working with fs
module, Working with JSON, Using Buffer Module to
Buffer Data, Using Stream Module to Stream Data,
Compressing and Decompressing Data with Zlib.
• Implementing HTTP Services in Node.JS :
Introduction to HTTP module,, Processing URLs,
Processing Query Strings and Form Parameters,
Understanding Request , Response and Server
Objects
UNIT III
• Basic Websites With Node.JS : Introducing
Express, More on Express, GET, POST,
bodyParser .
• Creating Middleware with Connect : What is
Middleware?, Middleware in Connect, Access
Control with Middleware
• Socket Services in Node.js: Understanding
Network Sockets, A Socket.IO Chat Server, , A
Streaming Twitter Client
UNIT IV
• Introduction to Backend: : Introduction to
PostgreSQL database, Basics of the CRUD
pattern., Build application using CRUD, Add
User Interface for To-do Application, Convert
visual design into working HTML and CSS,
Sequelize association, migration and validation.
UNIT V
• Getting Started with MongoDB :
Understanding MongoDB and Its Data Types,
Building the MongoDB Environment, Connecting
to MongoDB from Node.js, Accessing and
Manipulating Databases, Accessing and
Manipulating Collections, Administering
Databases, Managing Collections.
UNIT VI
• Debugging, Testing and Deploying :
Debugging Node.js Applications, Testing Node.js
Applications, Deploying Node.js Applications
LIST OF PRACTICALS

• Create JavaScript Objects and functions


• Working with the arrays
• Assessing file system from Node.js
• Create a basic website using node.js
• Implementing HTTP Services in Node.JS
• Implementing Socket Services in Node.js
• Use Jason API website development
• Building the MongoDB Environment and
Administering Databases
BOOKS

• Text Book: PROFESSIONAL NODE.JS: BUILDING


JAVASCRIPT BASED SCALABLE SOFTWARE by
PEDRO TEIXEIRA, WILEY
• References: 1. SAMS TEACH YOURSELF
NODE.JS IN 24 HOURS by GEORGE ORNBO,
SAMS PUBLISHING
• 2. LEARN POSTGRESQL by LUCA FERRARI,
ENRICO PIROZZI, PACKT PUBLISHING
BRIEF INTRO TO NODE.JS

• Node.js was developed by Ryan Dahl in


2009.
• Node.js is an open source, cross-platform run
time environment to execute JavaScript code
outside of a browser.
NODE.JS(CONTD.)

• Node.js is a JavaScript runtime built on


Chrome's V8 JavaScript engine.
• A JavaScript engine is a program which
executes JavaScript code.
NODE.JS(CONTD.)

• V8 — open source, developed by Google,


written in C++
• Rhino — managed by the Mozilla Foundation,
open source, developed entirely in Java
• Chakra — Microsoft Edge
NODE.JS(CONTD.)

• Why was the V8 Engine created?


The V8 Engine which is built by Google is open
source and written in C++.
This engine is used inside Google Chrome.
Unlike the rest of the engines, however, V8 is
also used for the popular Node.js runtime.
NODE JS ARCHITECTURE

Chrome Node js

V8 V8
TRADITIONAL WEB SERVER
MODEL
• In the traditional web server model, each request
is handled by a dedicated thread from the thread
pool.
• If no thread is available in the thread pool at any
point of time then the request waits till the next
available thread.
• Dedicated thread executes a particular request
and does not return to thread pool until it
completes the execution and returns a response.
TRADITIONAL WEB SERVER
MODEL(CONTD.)
NODE.JS MODEL

• Node.js processes user requests differently when


compared to a traditional web server model.
• Node.js runs in a single process and the
application code runs in a single thread and
thereby needs less resources than other platforms.
• All the user requests to your web application will
be handled by a single thread and all the I/O work
or long running job is performed asynchronously
for a particular request.
NODE.JS MODEL(CONTD.)

• So, this single thread doesn't have to wait for the


request to complete and is free to handle the next
request.
• When asynchronous I/O work completes then it
processes the request further and sends the
response.
• An event loop is constantly watching for the events
to be raised for an asynchronous job and executing
callback function when the job completes.
NODE.JS MODEL(CONTD.)
NODE.JS MODEL IS
ASYNCHRONOUS
A common task for a web server can be to open a file
on the server and return the content to the client.

Here is how PHP or ASP handles a file request:


• Sends the task to the computer's file system.
• Waits while the file system opens and reads the file.
• Returns the content to the client.
• Ready to handle the next request.
NODE.JS MODEL IS
ASYNCHRONOUS(CONTD.)
Here is how Node.js handles a file request:
• Sends the task to the computer's file system.
• Ready to handle the next request.
• When the file system has opened and read the file, the
server returns the content to the client.
Node.js eliminates the waiting, and simply continues with
the next request.
Node.js runs single-threaded, non-blocking, asynchronously
programming, which is very memory efficient.
APPLICATIONS USING
NODE.JS
• Netflix
• Paypal
• LinkedIn
• Yahoo
• Mozilla
• Uber
• Ebay
• Walmart
• NASA
FEATURES OF NODE.JS

• 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.
• Very Fast − Being built on Google Chrome's
V8 JavaScript Engine, Node.js library is very
fast in code execution.
FEATURES OF
NODE.JS(CONTD.)
• 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.
FEATURES OF
NODE.JS(CONTD.)
• No Buffering − Node.js applications never
buffer any data. These applications simply
output the data in chunks.
ADVANTAGES OF NODE.JS

• Uses JavaScript to build entire server side


application.
• Lightweight framework that includes bare
minimum modules. Other modules can be
included as per the need of an application.
• Performs faster than other frameworks.
• Cross-platform framework that runs on
Windows, MAC or Linux
WHERE NOT TO USE
NODE.JS
• Node.js is not fit for an application which
performs CPU-intensive operations like image
processing or other heavy computation work
because it takes time to process a request and
thereby blocks the single thread.
NEXT CLASS

UNIT 1 - GETTING STARTED WITH


NODE.JS

You might also like