CS-666 - WebEngineering
Topics Covered:
1. Web Application Architecture
2. How Web Architecture Works
3. Types of Web Application Architecture
4. Challenges of Web Application Development
3.
Web Application Architecture
•Web architecture is the conceptual structure of the world wide web.
• The WWW is a constantly changing medium that enables communication
between different users and the technical interaction between different
systems and subsystems.
4.
Web Application Architecture
•Architecture describes the interaction between applications, databases
and middleware systems in the web.
• It ensures that multiple application work simultaneously.
• As soon as the user hits the go button after typing a URL in the address
bar of a web browser, it requests for that particular web address.
• The server sends files to the browser as a response to the request made.
The browser then executes those files to show the requested page.
• A web application architecture has to not only deal with efficiency, but
also with reliability, scalability, security, and robustness.
5.
How Web ArchitectureWorks
• A typical web application has two different types of codes (Sub-
Programs) running side by side.
• These are:
1. Client Side Code
2. Server Side Code
• Client-Side Code:
The code that is in the browser and responds to some user input.
• Server-Side Code:
The code that is on the server and responds to the HTTP request.
• A web developer decides as to what the code on the server will do with
respect to the code on browser.
6.
How Web ArchitectureWorks
• Any code that is able to respond to HTTP requests has the ability to run
on a server.
• A combination of CSS, HTML and Javascript is used for writing the client-
side.
• The server side code is responsible for creating the page that the user
requested as well as storing different types of data, including user
profiles and user input. It is never seen by end-user.
• The code is parsed by the web browser. Client side code can be seen as
well as modified by the user. It reacts to user input.
7.
Types of WebApplication Architecture
• A web application architecture is a pattern of interaction between
various web application components.
• The type of web application architecture depends on how the
application logic is distributed among the client and server sides.
• Following are the types of Web Application Architectures:
- Single Page Applications (SPAs)
- Microservices
- Serverless Architectures
8.
Types of WebApplication Architecture
• Single Page Applications (SPAs)
• Instead of loading completely new pages from the server each time for a
user action, single page web applications allows for a dynamic
interaction by means of providing updated content to the current page.
• Because single-page applications prevent interruptions in user
experience, they resemble traditional desktop applications.
• SPAs are designed in a way so that they request for most necessary
content and information elements.
9.
Types of WebApplication Architecture
• Microservices
• These are small and lightweight services that execute a single
functionality.
• The main advantage of this type of architecture is, it allows developers
to not only enhance productivity but also speed up the entire
deployment process.
• The components making up an application build using the Microservices
Architecture aren’t directly dependent on each other.
• The components can be built using any programming language.
10.
Types of WebApplication Architecture
• Serverless Architectures
• In this type of web application architecture, an application developer
consults a third-party cloud infrastructure services provider for
outsourcing server as well as infrastructure management.
• The benefit of this approach is that it allows applications to execute the
code logic without bothering with the infrastructure-related tasks.
• The Serverless Architecture is best when the development company
doesn’t want to manage or support the servers as well as the hardware
they have developed the web application for.
11.
Web Application DevelopmentChallenges
• Web development is expediting at an aggressive rate. Better and user-
friendly interfaces are in demand.
• User Interface and User Experience
• Lack of Scalability:
Developing a high scalability for your product will help you obtain new
customers as well as retain the old ones.
It’s about balancing the load that you choose to put on a single server
and the best way to deal with it is to design the software that can run on
multiple servers.
• Security Threat:
This is perhaps the most common issue that every business is faced
with. Needless to say, web security is amongst one of the giant
challenges faced by web apps.
Some of the common threats that less secure applications have to deal
with includes: session hijacking and cross-site scripting.
12.
Web Application DevelopmentChallenges
• Having the Right Team in Place:
Having the right team of people working on a web app development
project is half the battle won.
A balanced team will always be a mix of competencies pertaining to the
industry standards.
While this may sound a little obvious, this is where most web app
development companies are really struggling.
• Appropriate Performance:
For web applications, performance equals speed.
The loading time is an important thing to consider.
Developer should always think about performance optimization before
anything else while developing a new product.
When developing a web app, the developer should take care to avoid
glitches such as traffic spikes, poorly written codes and un-optimized
databases to make sure that apps deliver peak performance.
13.
Web Application DevelopmentChallenges
• Knowledge of Framework and Platforms:
The right framework when backed by platform knowledge has a direct
impact of the web app performance.
The challenge of choosing the right framework and developing an
exceptional product can be too overwhelming for the developer.
• Support and Maintenance:
Building a good app is great, but without the right support, maintenance
and upgrades, your app is only relevant until the next algorithm release.
Without maintenance, businesses become unhappy because the app
doesn't perform well and the tech leader gets the heat.