FEWD Topic 1 - Overview of Web Application Architecture
FEWD Topic 1 - Overview of Web Application Architecture
Topic 1:
Overview of Web Application
Architecture
© NCC Education Limited
Overview of Web Application Architecture Topic 1 - 1.2
Learning Outcomes
Unit Roadmap
Week Topic Week Topic
Overview of Web JavaScript - II
1 Application Architecture 7
Internet
• A global network of interconnected • Internet connectivity is powered by
computers and devices. technologies like optical fibres,
• Enables communication and the wireless and satellite
exchange of information with support communication.
of numerous protocols and
technologies.
A website or a web-application
is a gateway to establish
connection between devices.
Overview of Web Application Architecture Topic 1 - 1.7
• Servers: Computers that host the websites, and store and serve
the web contents.
• Clients: Devices (e.g., laptops, smartphones) that access and
interact with web content.
• Protocols: Rules and standards that govern how data is
transmitted over the Internet (e.g., HTTP, HTTPS).
Overview of Web Application Architecture Topic 1 - 1.8
What is a Website?
Early Websites
• Early websites emerged in the 1990s
• primarily consisted of static pages with basic text and
limited styling.
• HTML (Hypertext Markup Language) was the main
language used for structuring web content.
Overview of Web Application Architecture Topic 1 - 1.14
CSS
• Cascading Style Sheets (CSS) in the late 1990
• Separate the presentation and layout from the HTML
structure.
• CSS enabled better control over typography, colors,
spacing, and overall design.
Overview of Web Application Architecture Topic 1 - 1.15
Client-Side Scripting
• The advent of JavaScript in the late 1990s revolutionised
website development.
• JavaScript enabled client-side interactivity, such as form
validation, image sliders, and dynamic page updates.
Overview of Web Application Architecture Topic 1 - 1.16
Server-Side Scripting
• With the introduction of server-side scripting languages like
PHP, websites became capable of generating dynamic
content.
• Server-side scripting enabled the inclusion of databases,
user authentication, and dynamic page rendering.
Overview of Web Application Architecture Topic 1 - 1.17
Web 2.0
• Web 2.0, coined in the early 2000s, marked a shift
towards user-generated content, social media, and
interactive web applications.
• Rich Internet Applications (RIAs) emerged, utilising
technologies like AJAX (Asynchronous JavaScript
and XML) for seamless user experiences.
Overview of Web Application Architecture Topic 1 - 1.18
Performance Optimisation
• Developers focus on optimising website performance
through techniques like minification, code splitting, lazy
loading, and caching.
• Content Delivery Networks (CDNs) help deliver assets
efficiently across global networks.
Overview of Web Application Architecture Topic 1 - 1.23
Conclusion
WEB APPLICATION
Overview of Web Application Architecture Topic 1 - 1.25
WEB APPLICATION
ARCHITECTURE
Overview of Web Application Architecture Topic 1 - 1.29
HTML
Server side
Client side
Benefit 1: Scalability
• Web application architecture enables scalability to accommodate
increasing user traffic and concurrent user demands.
• It allows for horizontal scaling by adding more servers or utilising
cloud-based infrastructure as needed.
Overview of Web Application Architecture Topic 1 - 1.32
Benefit 3: Reusability
• Components in web application architecture can be designed to
be reusable, saving time and effort in development.
• Reusability allows for the creation of libraries, frameworks, and
modules that can be utilised across multiple projects.
Overview of Web Application Architecture Topic 1 - 1.34
Monolithic Architecture
• Web application is developed
User Interface and deployed as a single, self-
contained codebase unit.
Business logic
• All components including the
user interface, business logic,
Data access
and data access, are tightly
coupled and reside within the
same codebase.
Overview of Web Application Architecture Topic 1 - 1.40
Pros Cons
• Simplicity: relatively • Scalability Issues: As user traffic
straightforward to develop, deploy, increases scalability is challenging.
and maintain. • Development Bottlenecks: Collaboration
• Easy to Scale: With low user with large teams is challenging and slower
traffic, monolithic applications can development cycles.
be cost-effective and easy to • Maintenance Complexity: Modifying or
manage. adding new features can be risky with side
effects.
• Lack of Flexibility: Challenging to adopt
new technologies or scale specific
components independently.
Overview of Web Application Architecture Topic 1 - 1.42
Microservices Architecture
• The web application is broken into User
interface
smaller, loosely coupled services.
• Each service is called as a
microservice.
• Responsible for a specific Micro-
Micro-
service
business capability. service
Micro-
• Easier to develop, deploy, and service
Pros Cons
• Scalability: Enables granular scaling, where only • Complexity: Managing a distributed
specific services handle increased load. system introduces additional complexities
• Flexibility: Allows adoption of new technologies and in deployment, monitoring, and
frameworks for individual services without impacting debugging.
the entire application. • Communication Overhead: As services
• Reduced risk: Isolating services reduces the risk of communicate over networks, additional
affecting other parts of the application during updates overhead may occur due to latency and
or bug fixes. message passing.
• Faster Development: Smaller teams working on • Data Consistency: Maintaining data
individual services enable faster development cycles. consistency across microservices can be
challenging due to decentralised data
• Fault Isolation: A failure in one microservice doesn't
management.
necessarily affect the entire system, promoting fault
tolerance.
Overview of Web Application Architecture Topic 1 - 1.45
Serverless Architecture
Service 1
Service 2
Pros Cons
• Scalability: Handle sudden spikes in demand, • Cold Start Latency: When a function is
automatically scaling functions as needed. invoked after being idle, there may be a
slight delay due to cold start latency.
• Cost-Efficiency: Cost-effective as users will
be billed only for the actual code requests for • Limited Execution Time: Functions
low to moderate traffic applications. typically have a maximum execution time
Reduced Operational Overhead: Developers limit, which may impact tasks with long-
•
don't need to manage servers, allowing them to running processes.
focus on writing code and business logic. • Vendor Lock-In: Moving between
Easy Deployment: Serverless platforms serverless providers may require code
•
handle deployment and configuration, making it adjustments and introduces vendor-
easier to release updates and new features. specific dependencies.
Overview of Web Application Architecture Topic 1 - 1.47
• User Interface (UI) Layer: Handles the presentation and user interaction using
HTML, CSS, and JavaScript frameworks like React, Angular, or Vue.js.
• Application Layer: Implements the business logic, validation, and data
processing. It may include server-side frameworks or APIs.
• Data Layer: Manages the storage and retrieval of data, often through relational
or NoSQL databases.
• Infrastructure Layer: Includes the servers, networking, and other components
required to host and deploy the application.
Overview of Web Application Architecture Topic 1 - 1.50
Application Layer
Data Layer
Infrastructure Layer
Conclusion
Performance Optimisation
• Performance optimisation is crucial for a smooth user experience
and search engine visibility.
• Considerations include minimising file sizes, optimising images,
and leveraging caching and compression techniques.
Overview of Web Application Architecture Topic 1 - 1.60
Accessibility
• Designing websites with accessibility in mind ensures inclusivity
and usability for people with disabilities.
• Considerations include proper semantic markup, keyboard
accessibility, and alternative text for images.
Overview of Web Application Architecture Topic 1 - 1.61
Cross-Browser Compatibility
• Websites should be compatible with different web browsers and
their various versions.
• Considerations include testing and addressing browser-specific
quirks and using progressive enhancement techniques.
Overview of Web Application Architecture Topic 1 - 1.62
Security
• Web development should prioritise security to protect user data
and prevent unauthorised access.
• Considerations include implementing secure authentication,
input validation, and protecting against common vulnerabilities.
Overview of Web Application Architecture Topic 1 - 1.65
Frameworks:
• Front-end frameworks like React, Angular, and Vue.js provide
pre-built components and tools to streamline development.
• They facilitate building complex user interfaces, managing state,
and enhancing code reusability.
Overview of Web Application Architecture Topic 1 - 1.67
Conclusion
Quiz - 1
1. What is the primary role of a web application's architecture?
A) To define the user interface design
B) To outline the application’s interaction with databases
C) To structure the application for both client and server-side operations
D) To manage the application's security protocols
2. Which component is responsible for handling the business logic in a web application architecture?
A) The database
B) The application server
C) The client
D) The firewall
3. How do web applications typically communicate with databases?
A) Through direct file access
B) Using Application Programming Interfaces (APIs)
C) Via email protocols
D) With desktop software
Overview of Web Application Architecture Topic 1 - 1.71
Quiz - 2
1. Which type of web application architecture involves generating HTML, CSS, and JavaScript by the server
and sending them to the client?
A) Single-Page Applications (SPA)
B) Server-Side Rendered (SSR) Applications
C) Microservices Architecture
D) Client-Side Rendered (CSR) Applications
Quiz - 3
1. Which technology is primarily used for structuring the content of web pages?
A) JavaScript
B) CSS
C) HTML
D) PHP
2. What is the main purpose of CSS in front-end development?
A) To create interactive elements
B) To style and layout web pages
C) To manage the database
D) To program server-side applications
Overview of Web Application Architecture Topic 1 - 1.73
References
Evolution of Internet and WWW:
- Internet Society. (n.d.). *A Brief History of the Internet*. Available at:
https://www.internetsociety.org/internet/history-internet/brief-history-internet/
Any Questions?