0% found this document useful (0 votes)
27 views128 pages

1153 1619623108515 Unit 10 Web Design and Development Reworded

This document contains forms and guidelines for assessing student assignments for a Higher National Diploma in Computing program. It includes an internal verification form for assessing student work, a feedback form for providing grades and comments on assignments, general assignment guidelines, a student declaration regarding plagiarism, and sample assignment briefs. The key details are assessing student work for Unit 10: Web Design and Development and providing feedback and grades.

Uploaded by

vidura375
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views128 pages

1153 1619623108515 Unit 10 Web Design and Development Reworded

This document contains forms and guidelines for assessing student assignments for a Higher National Diploma in Computing program. It includes an internal verification form for assessing student work, a feedback form for providing grades and comments on assignments, general assignment guidelines, a student declaration regarding plagiarism, and sample assignment briefs. The key details are assessing student work for Unit 10: Web Design and Development and providing feedback and grades.

Uploaded by

vidura375
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 128

lOMoARcPSD|38326707

1153-1619623108515-Unit 10 Web Design and Development


Reworded
HND in Computing (ESOFT Metro Campus)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)
INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title BTEC Higher National Diploma in Computing

Assessor Internal Verifier


Unit 10: Web Design and Development
Unit(s)
Online Hospital Management System
Assignment title
Student’s name
List which assessment Pass Merit Distinction
criteria the Assessor has
awarded.
INTERNAL VERIFIER CHECKLIST
Do the assessment criteria awarded match
those shown in the assignment brief? Y/N

Is the Pass/Merit/Distinctiongrade awarded


justified by the assessor’s comments on the Y/N
student work?
Has the work been assessed
Y/N
accurately?
Is the feedback to the student:
Give details:

• Constructive?
Y/N
• Linked to relevant assessment
criteria? Y/N

• Identifying opportunities for


improved performance?
Y/N

• Agreeing actions? Y/N


Does the assessment decision need
Y/N
amending?
Assessor signature Date

Internal Verifier signature Date


Programme Leader signature (if
Date
required)

Downloaded by Vidura Perera ([email protected])


lOMoARcPSD|38326707

Confirm action completed


Remedial action taken

Give details:

Assessor signature Date

Internal Verifier
Date
signature
Programme Leader
Date
signature (if required)

pg. 2
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Higher Nationals - Summative Assignment Feedback Form


Student Name/ID

Unit Title Unit 10: Website Design & Development

Assignment Number 1 Assessor


Date Received 1st
Submission Date
submission
Date Received 2nd
Re-submission Date
submission
Assessor Feedback:

LO1. Explain server technologies and management services associated with hosting and managing websites.
Pass, Merit & Distinction P1 P2 M1 M2 D1
Descripts
LO2. Categorise website technologies, tools and software used to develop websites.

Pass, Merit & Distinction P3 P4 M3 D1


Descripts

LO3. Utilise website technologies, tools and techniques with good design principles to create a multipage
website.
Pass, Merit & Distinction P5 P6 M4 D2
Descripts

LO4. Create and use a Test Plan to review the performance and design of a multipage website.
Pass, Merit & Distinction P7 M5 D3
Descripts

Grade: Assessor Signature: Date:

Resubmission Feedback:

Grade: Assessor Signature: Date:

Internal Verifier’s Comments:

Signature & Date:


* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and grades decisions have
been agreed at the assessment board.

pg. 3
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Assignment Feedback
Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor

Assessor signature Date

Student signature Date

pg. 4
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Pearson
Higher Nationals in
Computing
Unit 10: Web Design and Development
Assignment 01

pg. 5
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

General Guidelines

1. A Cover page or title page – You should always attach a title page to your assignment. Use previous page as
your cover sheet and make sure all the details are accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.

Word Processing Rules

1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. Use footer function in the word processor to insert Your Name, Subject, Assignment No, and Page Number
on each page. This is useful if individual sheets become detached for any reason.
5. Use word processing application spell check and grammar check function to help editing your assignment.

Important Points:

1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the compulsory
information. eg: Figures, tables of comparison etc. Adding text boxes in the body except for the before
mentioned compulsory information will result in rejection of your work.
2. Carefully check the hand in date and the instructions given in the assignment. Late submissions will not be
accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness, you may apply
(in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will then be asked to
complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using HARVARD
referencing system to avoid plagiarism. You have to provide both in-text citation and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be reduced to A
REFERRAL or at worst you could be expelled from the course.
11. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be reduced to A
REFERRAL or at worst you could be expelled from the course.

pg. 6
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Student Declaration

I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it as my own
without attributing the sources in the correct way. I further understand what it means to copy another’s work.

1. I know that plagiarism is a punishable offence because it constitutes theft.


2. I understand the plagiarism and copying policy of the Pearson UK.
3. I know what the consequences will be if I plagiaries or copy another’s work in any of the assignments for this
program.
4. I declare therefore that all work presented by me for every aspects of my program, will be my own, and
where I have made use of another’s work, I will attribute the source in the correct way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding agreement between
myself and Pearson, UK.
6. I understand that my assignment will not be considered as submitted if this document is not attached to the
attached.

Student’s Signature: Date:


(Provide E-mail ID) (Provide Submission Date)

pg. 7
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Assignment Brief
Student Name /ID Number

Unit Number and Title Unit 10- Web Design and Development

Academic Year

Unit Tutor

Assignment Title Online Hospital Management System

Issue Date

Submission Date

IV Name & Date

Submission Format:
Part 1.
Report- Submit a professional report with approepriate report formattimg and guidelines followed. All the
research data should be referenced along with in-text citations using Hrvard referencing syste.

Part 2
A fully functional web solution

Unit Learning Outcomes:


LO1 Explain server technologies and management services associated with hosting and managing websites.

LO2 Categorise website technologies, tools and software used to develop websites.

LO3 Utilise website technologies, tools and techniques with good design principles to create a multipage website.

LO4 Create and use a Test Plan to review the performance and design of a multipage website.

Assignment Brief and Guidance:

pg. 8
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Assignment Brief
Scenario.
‘Apex Design Works’ is a leading web design and marketing company. They are focusing on helping
businesses communicate more effectively and build their business through a creative design. Assume that,
you work as an apprentice web developer for Apex Web Design and marketing company. As part of your role,
you have been asked to create a Website for the following organization .
Arogya Health Care hospital currently uses a manual system for the management and maintenance of
critical information. The current system requires numerous paper forms, with data stores spread
throughout the hospital management infrastructure. Often information (on forms) is incomplete, or
does not follow management standards. Multiple copies of the same information exist in the hospital
and may lead to inconsistencies in data in various data stores. There are number of documents to be
maintained in the Health Care hospital and this information typically involves; patient personal
information and medical history, staff information, room and ward scheduling, staff scheduling,
operating theater scheduling and various facilities waiting lists. All of this information must be
managed in an efficient and cost wise fashion so that the resources can be managed effectively. The
reception module handles various inquiries about the patient's admission and discharge details, and the
patient's movements within the hospital.
Assume that you are the web developer hired by the Health Care Hospital, to propose, and engineer a
low cost but yet powerful and complete Hospital Management System (HMS) for the scenario given
above. Suggest and implement important functionalities and features to the system by identifying
system functionalities.

The new system is to control the following information


• patient information
• room availability
• staff and operating room schedules
• patient invoices

Develop a web based solution for the above scenario and produce a report covering the following tasks.

pg. 9
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Task 1 - Server technologies and management services associated with hosting and managing websites
(LO1)

1.1 Explain and differentiate the different web technologies such as communication protocols, server
hardware, operating systems and web server software with regards to designing, publishing and accessing
the Hospital Management System (HMS).

Arogya Health Care Hospital needs an effective Hospital Management way (HMS) because it now relies on a
manual way to manage crucial information. Your objective as the web developer engaged for this job is to
suggest and construct a cheap yet effective HMS that will speed processes, increase data accuracy, and
improve patient care in general. We must choose a web server program that offers the required functions in
order to accomplish this. Let's examine the key elements and procedures.

Patient Information Management Need to Develop a secure web-based interface for


storing and managing patient information.
Implement forms and fields to capture personal
details, medical history, admissions, discharges, and
movements within the hospital.
Establish proper data validation and authentication
mechanisms to ensure the accuracy and privacy of
patient records.
Room Availability Need to create a module that provides real-time
information on room availability.
Enable hospital staff to view and assign rooms to
patients based on their needs and availability.
Implement a user-friendly interface that allows for
easy tracking and management of room occupancy.
Staff and Operating Room Scheduling Need to develop a scheduling feature to manage the
availability and assignments of staff members,
including doctors, nurses, and other healthcare
professionals.
Enable staff to view their schedules, request time
off, and manage their availability.

pg. 10
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Need to implement a separate scheduling


component for operating rooms, allowing efficient
management of surgeries and procedures.
Patient Invoices Need to design a billing module that generates and
manages patient invoices.
Include functionality to track medical services,
treatments, medications, and any other relevant
charges.
Need to provide options for generating invoices,
accepting payments, and maintaining billing
records.
Security and Access Control Need to implement robust security measures to
protect patient data.
Utilize encryption techniques and access controls to
ensure only authorized personnel can access and
modify patient records.
Need regularly update and patch the web server
software to address any security vulnerabilities.
Reporting and Analytics Need to develop reporting and analytics capabilities
to track and analyze hospital data.
Need to generate reports on patient statistics,
resource utilization, financial performance, and
other key metrics.
Need to provide intuitive data visualization tools to
aid in decision-making and performance
monitoring.
Integration and Interoperability Ensure seamless integration with other hospital
systems, such as electronic health records (EHR),
laboratory systems, and billing systems.
Implement data exchange protocols and standards
to facilitate interoperability and data sharing.
Need collaborate with relevant stakeholders to
identify specific integration requirements and
establish data synchronization processes.

Web Server Software Options,

pg. 11
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

For designing, publishing, and accessing the Hospital Management System (HMS), the following details
about web technologies will help further:

Web Technologies

Web technologies refer to a broad range of technologies, protocols, and tools that are used for the
development, deployment, and functioning of websites and web applications on the World Wide Web. These
technologies enable users to access and interact with content, services, and information on the internet.

1.1.1 Communication Protocols

A communication protocol is a set of rules, conventions, and procedures that govern the exchange of data
between devices, systems, or entities over a network. It specifies the format, structure, and sequencing of
data, as well as the methods for addressing, routing, and error handling. Communication protocols establish a
common framework for devices to communicate effectively, ensuring that data is transmitted, received, and
interpreted consistently across different systems. They provide a standardized language and guidelines for
data exchange, enabling interoperability, compatibility, and reliable communication in various networked
environments.

Communication protocols work by defining the rules and procedures for the transmission and interpretation
of data. Devices or systems implementing the protocol adhere to these rules, ensuring consistent
communication. When data is transmitted, it is formatted according to the protocol's specifications,
segmented into packets or frames, and supplemented with necessary headers and trailers. The protocols
handle addressing and routing, ensuring that data reaches the intended destination. They also manage the
transmission process, including establishing and terminating connections, controlling data flow, and handling
errors. By following the protocol's guidelines, devices can reliably transmit, receive, and interpret data,
enabling effective communication in networks. Some of the primary purposes of communication protocols
and how does it work include the following:

Protocol Specification epresents the defined rules, standards, and procedures for
the communication protocol. This may include the
specifications for data formatting, addressing, transmission
control, error handling, security, and other aspects of

pg. 12
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

communication.
Protocol Implementation Protocol implementation is the process of creating
software that follows the rules of a communication
protocol. This can be done in a variety of ways, depending
on the specific protocol and the environment in which it
will be used. Steps for protocol implementation 1. Design/
2.Coding/3.Testing/ 4.Development.
Data Formatting Communication protocols define the structure and format
of data to be transmitted. They specify how data is
organized, segmented, and encapsulated into packets or
frames for transmission across the network.
Addressing and Routing Protocols provide methods for identifying and addressing
devices or entities on a network, ensuring data reaches the
intended recipient. They assign unique identifiers (e.g., IP
addresses) to devices and define mechanisms for routing
data from the source to the destination.
Transmission Control Communication protocols govern the control and flow of
data transmission. They establish procedures for
establishing and terminating connections, managing data
acknowledgments, and handling errors or congestion
during transmission.
Data Integrity and Error Protocols include mechanisms for error detection,
Handling correction, and retransmission to ensure data integrity.
They employ techniques such as checksums, error
correction codes, and acknowledgment mechanisms to
detect and recover from transmission errors.
Security and Encryption Many communication protocols incorporate security
features to protect data confidentiality, integrity, and
authenticity. They may include encryption algorithms,
authentication mechanisms, and secure transmission
protocols (e.g., HTTPS) to safeguard sensitive
information.
Interoperability Standardized protocols ensure compatibility and seamless
integration between various components of web-based
systems.
Standardization and Communication protocols are standardized, meaning they
Compatibility are widely accepted and implemented across different

pg. 13
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

platforms and systems. This promotes compatibility and


enables devices and systems developed by different
vendors to communicate and interoperate smoothly.
Establishing and maintaining Communication protocols define how devices on a
communication network identify each other and establish a connection.
They also specify how devices keep track of each other's
communication state, such as whether they are ready to
receive data or not.
Error detection and correction Communication protocols include mechanisms for
detecting and correcting errors that may occur during data
transmission. This is important because even the slightest
error can corrupt data and make it unusable
Flow control Communication protocols regulate the flow of data
between devices on a network. This helps to prevent data
from being sent too quickly or too slowly, which can cause
congestion or loss of data.
Security Communication protocols can be used to protect data from
unauthorized access or modification. This is done by
encrypting data before it is transmitted, and decrypting it
when it reaches its destination.

1. HTTP (Hypertext Transfer HTTP (Hypertext Transfer Protocol) is a protocol used for exchanging
Protocol) information over the internet. HTTP is like the delivery system for
information on the internet. It defines the format and rules for
transmitting hypertext documents, allowing users to access and interact
with websites.
The backbone of the internet is HTTP. It serves as a communication
channel between web browsers and servers, allowing them to exchange
information like web pages. Knowing how it functions is crucial for
those who create websites and online apps.

The request-response cycle is the basic idea behind HTTP

pg. 14
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

communication. There are several stages in the cycle:


1. Client sends an HTTP request to the server with requested resource
and parameters.
2.Server processes the request and generates a response message.
3.Server sends the response message back to the client with the
requested resource and metadata.
4.Client receives the response and processes it, rendering content in a
browser or app.
5.Client may initiate further requests, continuing the cycle as necessary.

To create a valid HTTP request, you need the following:


A URL.
The HTTP method.
A list of headers (request headers).
The request body.

Here's an example of an HTTP request header, with four lines:

In this example:
The first line specifies the request method (GET), the requested resource
(/watch?v=8PoQpnlBXD0), and the HTTP version (HTTP/1.1).
The second line specifies the Host header, indicating the domain or IP
address of the server (www.youtube.com in this case).
The third line represents the Cookie header, which contains information
about cookies associated with the request. In this case, it includes
multiple cookies: GPS=1, VISITOR_INFO1_LIVE=kOe2UTUyPmw,
and YSC=Jt6s9YVWMd4.

pg. 15
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Uniform Resource Identifiers (URIs):

HTTP uses URIs to identify resources on the web. A URI is a string that
identifies the location of a resource, such as a web page or an image.
URLs (Uniform Resource Locators) are a type of URI commonly used to
specify the location of web resources.

Hyperlinks:
HTTP supports hyperlinks, allowing users to navigate between web
pages by clicking on links. Hyperlinks are embedded within HTML
documents and point to other resources, enabling seamless browsing and
interconnectedness on the web.

HTTP Versions:
Over time, HTTP has evolved with different versions, including
HTTP/1.0, HTTP/1.1, and the more recent HTTP/2 and HTTP/3. Each
version introduces improvements in performance, efficiency, and
security, with HTTP/2 introducing features like multiplexing and server
push.

The fourth line represents the Accept-Language header, indicating the


preferred language for the response (en-US in this case, which stands for
English - United States).

2.File Transfer Protocol FTP (File Transfer Protocol) is a widely-used standard communication
protocol specifically designed for transferring files between computers.
While there are other protocols like HTTP that can also handle file
transfers, FTP offers distinct advantages in terms of clarity and focus.

pg. 16
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

One key strength of FTP is its ability to seamlessly handle the


heterogeneous nature of systems involved in the connection, which may
differ in terms of operating systems, directory structures, character sets,
and more. FTP shields the user from these differences, ensuring efficient
and reliable data transfer.

FTP supports multiple file formats, including ASCII, EBCDIC, and


image files. ASCII is the default file format for sharing, where each
character is encoded using NVT ASCII. When using ASCII or EBCDIC
mode, the destination system must be prepared to accept files in this
format. On the other hand, the image file format is the default choice for
transferring binary files, preserving their binary integrity during the
transfer process.

pg. 17
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

pg. 18
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Overall, FTP's ability to handle various system differences, support


different file formats, and provide efficient and reliable file transfers
makes it a valuable protocol for a wide range of applications.

Architecture of FTP

The client-server architecture of FTP is used. The FTP server receives


connections from the client on port 21, which is also known as the FTP
control port by default.

Types of Connection in FTP

1.Control Connection: The control connection is established between the


FTP client and server to exchange commands and responses throughout
the FTP session.

2.Data Connection: The data connection is used for transferring the


actual file data between the client and server, either in active mode
(server initiates the connection) or passive mode (client initiates the
connection).

FTP's Modes of Operation

1.Active Mode: In active mode, the FTP server initiates a data


connection to the client's specified port for transferring file data.

2.Passive Mode: In passive mode, the FTP server specifies a port for data
transfer, and the client connects to that port to establish the data
connection.

FTP Session

pg. 19
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

3. Transmission control TCP, which stands for Transmission Control Protocol, is a transport layer
Protocol (TCP) protocol that enables the reliable transmission of packets from a source
device to a destination device. It operates in conjunction with the IP
protocol, forming the TCP/IP suite. TCP is a connection-oriented
protocol, meaning it establishes a connection before data exchange
occurs between network devices.

The primary function of TCP is to receive data from the application layer
and break it down into smaller packets. These packets are then assigned
sequence numbers and transmitted to the destination. On the receiving
end, TCP reassembles the packets and delivers them to the application
layer. As TCP maintains a connection throughout the communication
process, the connection remains established until the sender and receiver
have completed their communication.

TCP plays a crucial role in ensuring reliable and ordered delivery of data
over IP networks. By providing mechanisms for acknowledgment,
sequence numbering, and flow control, TCP ensures that data is
transmitted accurately and in the correct order. It forms the backbone of
many network applications, including web browsing, file transfers, and
email communication.

Features of TCP

1. Reliable Data Delivery- TCP is a reliable protocol as it follows the


flow and error control mechanism. It also supports the acknowledgment
mechanism, which checks the state and sound arrival of the data. In the
acknowledgment mechanism, the receiver sends either positive or
negative acknowledgment to the sender so that the sender can get to
know whether the data packet has been received or needs to resend.

2.Connection-oriented-It is a connection-oriented service that means the


data exchange occurs only after the connection establishment. When the
data transfer is completed, then the connection will get terminated.

pg. 20
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

3.Flow Control- TCP implements flow control mechanisms to manage


the rate at which data is sent. It prevents the sender from overwhelming
the receiver by adjusting the transmission rate based on the receiver's
capacity to process the data.

4.Congestion Control -TCP detects and responds to network congestion


by adjusting the transmission rate to alleviate congestion and prevent
packet loss. It dynamically adjusts the sending rate based on network
conditions, ensuring fair sharing of network resources.

5.Error Detection and Recovery- TCP includes error detection


mechanisms to identify and correct errors during data transmission. It
uses checksums to verify the integrity of data and retransmits lost or
corrupted packets to ensure reliable delivery.

6.Full-Duplex Communication-It is a full-duplex means that the data can


transfer in both directions at the same time.

7.Multiplexing and Demultiplexing- TCP supports multiplexing and


demultiplexing of data streams, allowing multiple applications or
services to use the same TCP connection by using port numbers to
differentiate between them.

8.Connection Termination- TCP provides a graceful connection


termination process, allowing both the client and server to close the
connection after data exchange is completed. It follows a four-way
handshake process to ensure a proper closure.

Need for Transport Control Protocol

pg. 21
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

In the layered architecture of a network model, the whole task is divided


into smaller tasks. Each task is assigned to a particular layer that
processes the task. In the TCP/IP model, five layers are application
layer, transport layer, network layer, data link layer, and physical layer.
The transport layer has a critical role in providing end-to-end
communication to the directly application processes. It creates 65,000
ports so that the multiple applications can be accessed at the same time.
It takes the data from the upper layer, and it divides the data into smaller

packets and then transmits them to the network layer.

Working of TCP

In TCP, the connection establishment involves a three-way handshake.


The client initiates the process by sending a segment with its sequence
number. The server responds by sending its own segment, which
includes its sequence number and an acknowledgment sequence number
that is one greater than the client's sequence number. Upon receiving the
acknowledgment, the client sends its own acknowledgment to the server,
completing the connection establishment between the client and server.
This three-step process ensures the synchronization of sequence numbers
and establishes a reliable connection for data transmission.

pg. 22
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

TCP Header Format

The TCP (Transmission Control Protocol) header format contains several


fields that provide control information for the TCP segment. Here is an
overview of the TCP header format:

o Source Port (16 bits): Specifies the port number of the sender.
o Destination Port (16 bits): Indicates the port number of the
intended receiver.
o Sequence Number (32 bits): Represents the sequence number of
the first data byte in the segment.
o Acknowledgment Number (32 bits): Indicates the next expected
sequence number. Used to acknowledge the receipt of data.
o Data Offset (4 bits): Specifies the size of the TCP header in 32-bit
words.
o Reserved (6 bits): Reserved for future use. Must be set to zero.
o Control Flags (6 bits): Includes several control flags, such as
SYN (synchronize), ACK (acknowledgment), FIN (finish), RST
(reset), and more, which indicate various TCP operations.
o Window Size (16 bits): Specifies the size of the receive window,
indicating the amount of data the receiver can accept.
o Checksum (16 bits): Provides error checking for the TCP header
and data.

pg. 23
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

o Urgent Pointer (16 bits): Indicates the offset from the current
sequence number where urgent data ends.
o Options (variable length): Optional field used for additional TCP
options, such as maximum segment size, selective
acknowledgments, and timestamps.
o Padding (variable length): Used to ensure that the TCP header
aligns to a 32-bit boundary.

The TCP header format allows for reliable and ordered data transmission
by providing necessary control information and options. The fields
within the header are used to establish connections, acknowledge data
receipt, manage flow and congestion control, and handle other essential
TCP functionalities.

4. Internet Protocol (IP) The Internet Protocol (IP) is a fundamental communication protocol in
the Internet Protocol Suite. Its primary function is to route datagrams or
packets across network boundaries, enabling internetworking and the
creation of the internet. IP ensures the delivery of packets from the
source end user to the destination end user based on the internet protocol
addresses in the packet header. The most widely deployed version of IP
is IPv4, while IPv6 has gained increasing deployment since 2006.

IP is responsible for addressing host interfaces, encapsulating data into

pg. 24
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

datagrams, and routing these datagrams across connectionless networks.


Each datagram consists of a payload (the data being transported) and a
header that contains the source address, destination address, and other
relevant data for proper transmission. This process of combining the
payload and header into a datagram is known as encapsulation. It's
important to note that IP provides best effort delivery of datagrams,
meaning it does not guarantee reliable or ordered delivery.

pg. 25
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Overall, IP plays a crucial role in facilitating communication between


devices in a network, allowing for the transmission of data across
different network segments and enabling the functioning of the internet
as we know it today.

Features of IP
o IP is a connectionless, best-effort delivery protocol that operates
at the network layer of the TCP/IP protocol stack.
o It provides a unique identification scheme through IP addresses,
which are assigned to devices on a network.
o IP is responsible for addressing, routing, and forwarding packets
across interconnected networks.
o It supports both unicast (one-to-one) and multicast (one-to-many)
packet transmission.
o IP is designed to be independent of the underlying network
technologies, allowing for interoperability across different types
of networks

IP Addressing

IP addressing is a crucial aspect of network communication,


distinguishing devices and enabling data transfer across networks. There
are two categories of IP addresses: public and private.

 Public IP Addresses
• Public IP addresses are globally unique and can be accessed over
the internet.
• Internet Service Providers (ISPs) assign public IP addresses to

pg. 26
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

5. Internet Address The Post Office Protocol (POP) is an email retrieval protocol that works
Protocol (IP Address) alongside the Simple Mail Transfer Protocol (SMTP) to facilitate the
exchange of messages. SMTP is responsible for delivering messages
from the client to the server and between servers, while POP is used to
retrieve messages from the recipient server to the recipient's actual
server. It acts as a message access agent, enabling the transfer of
messages between different servers. In this way, POP allows users to
access their email by retrieving messages from the server to their local
client devices. Additionally, POP serves as a demarcation point, where
multiple devices can connect and communicate with each other, enabling
the sharing of information across networks and facilitating
communication between entities on the internet.

Characteristics of POP
Post Office Protocol is an open protocol, defined by Internet RFCs.
It allows access to new mail from a spread of client platform types.
It supports download and delete functions even when offline.
It requires no mail gateways due to its native nature.
POP can handle email access only while the emails are sent by SMTP.

POP Works-
• Base stations: Central points that manage access points and
ensure equitable distribution of connection speed among
customers.

• Client equipment: Devices used by customers to connect with the


base stations and access the network.

• Network switches: Used for efficient data distribution within the


network.

• Routers: Provide multiple paths for data sharing and determine


the best routes for data packets.

pg. 27
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

• Firewall: Secures the network by protecting against internal and


external threats.

• These components work together to enable users to retrieve email


messages and maintain a secure network connection.

Connection
To retrieve email using POP, a client device establishes a TCP/IP
connection with the mail server on port 110 (default for POP3). The
client authenticates itself with the server using a username and password.

Message Download
Once the connection is established, the client sends commands to the
server to retrieve email messages. The server responds by sending the
requested messages to the client. The messages are typically downloaded
to the client device and removed from the server, although some clients
offer options to leave copies on the server.

Email Management
POP allows users to perform various email management tasks on the
client device, such as organizing messages into folders, marking
messages as read or unread, and deleting unwanted messages. These
actions are performed locally and do not affect the email server.

Limitations
One of the main limitations of POP is that it is primarily designed for
downloading email messages to a single device. By default, POP
removes messages from the server once they are downloaded, which can
make it challenging to access messages from multiple devices or keep
messages synchronized across devices. However, some POP clients offer
options to keep copies on the server or use POP in conjunction with other
protocols like IMAP (Internet Message Access Protocol) to overcome
these limitations.

Security

pg. 28
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

POP supports secure variants such as POP3S (POP3 over SSL/TLS) to


encrypt the connection between the client and the server, ensuring the
privacy and integrity of email communications.
6.Simple Mail Transfer SMTP (Simple Mail Transfer Protocol) is a standard communication
Protocol protocol used for the transmission of email messages over the internet. It
is responsible for sending and delivering email messages between mail
servers. SMTP enables the exchange of messages by establishing a
reliable and efficient communication channel between the sender's email
client and the recipient's mail server. It uses a set of rules and commands
to transfer email data, including the sender and recipient addresses,
subject, and message content. SMTP plays a vital role in the reliable and
timely delivery of email communication across different email systems
and networks.
SMTP Protocol (End-to-end method/Store-and-forward method): SMTP
uses two methods to send emails - end-to-end method (directly sending
to the recipient's server) and store-and-forward method (email is stored
and forwarded through multiple servers until it reaches the recipient).

Model of SMTP System- SMTP follows a client-server model where the


client sends the email and the server receives and delivers it to the
recipient or forwards it to the next server in the route.

Components of SMTP: SMTP consists of a user agent (email client),


mail submission agent (MSA), and mail transfer agent (MTA). The user
agent composes the email, the MSA submits it to the server, and the
MTA routes it to the destination.

pg. 29
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Working of SMTP: SMTP involves establishing a connection,


exchanging commands and responses, and transferring email data. The
client connects to the server, negotiates the transfer process, sends the
email data, and the server delivers it to the recipient's server or next
server in the route.

Some SMTP Commands: SMTP uses commands like HELO/EHLO


(greeting), MAIL FROM (sender's address), RCPT TO (recipient's
address), DATA (data transmission), and QUIT (session termination) for
communication between client and server. These commands ensure
proper email transfer.
7.Internet Address Protocol The Internet Address Protocol (IP Address) is a numerical label assigned
(IP Address) to each device connected to a computer network that uses the Internet
Protocol for communication. It serves two main purposes: identifying the
host or network interface and providing the location of the device in the
network.

Types of IP Addresses-
IPv4: Internet Protocol version 4 (IPv4) is the most widely used version
of IP addressing. It consists of 32 bits divided into four groups of octets
separated by periods. An example of an IPv4 address is 195.168.0.1.

pg. 30
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

IPv6: Internet Protocol version 6 (IPv6) is the successor to IPv4 and was
introduced to overcome the limitations of IPv4 addressing. IPv6 uses 128
bits, allowing for a significantly larger address space.

Functions of IP Addresses:

• Device Identification- IP addresses uniquely identify devices


connected to a network, enabling communication and data
exchange between them.

• Routing- IP addresses play a crucial role in routing packets across


networks. Routers use IP addresses to determine the optimal path
for forwarding data packets from the source device to the
destination device.

• Network Configuration- IP addresses are used for network


configuration, including assigning addresses to devices, defining
subnets, and configuring network settings such as gateways and
DNS servers.

• Network Security- IP addresses are used in network security


measures such as firewalls and access control lists (ACLs) to
control and monitor network traffic, filter unwanted connections,
and prevent unauthorized access.

pg. 31
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

IP Address Classes
IP addresses are divided into different classes based on their range and
network size. The classes include Class A, Class B, Class C, Class D,
and Class E. Each class has a specific range of network and host
addresses.

Allocation and Assignment of IP Addresses


IP addresses are allocated by regional Internet registries (RIRs) to
Internet service providers (ISPs) and organizations. ISPs and
organizations, in turn, assign IP addresses to individual devices within
their networks.

IP Address Formats
IP addresses can be expressed in either decimal (dotted-decimal) notation
for IPv4 or hexadecimal notation for IPv6. The decimal notation
represents each octet of an IPv4 address in decimal form , while the
hexadecimal notation represents each group of four hexadecimal digits in
an IPv6 address

8. The Domain Name The Domain Name System (DNS) is a decentralized naming system that
System (DNS) translates human-readable domain names into IP addresses. It serves as a
fundamental infrastructure of the internet, enabling users to access

pg. 32
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

websites and resources using easy-to-remember domain names instead of


complex IP addresses. DNS functions as a distributed database that
stores information about domain names and their corresponding IP
addresses, allowing for efficient and reliable navigation across the
internet. It plays a crucial role in translating domain names into IP
addresses, facilitating the seamless communication and accessibility of
internet resources.

pg. 33
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Organization of Domain

The Domain Name System (DNS) organizes domains in a hierarchical


structure. It starts with the root domain, followed by top-level domains
(TLDs) like .com, .org, and country-specific domains. Second-level
domains (SLDs) come next, and subdomains can be created by adding
labels to the domain name. This hierarchy allows for efficient
organization and identification of domains on the internet.

A Domain Name Server (DNS)

A Domain Name Server (DNS) translates domain names into IP


addresses. It acts as a directory for the internet, allowing users to access
websites using easy-to-remember domain names. When a user enters a
domain name, the DNS server finds the corresponding IP address and
returns it, enabling the connection to the desired website. DNS servers

pg. 34
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Operating System for Arogya Hospital

The choice of operating system for Arogya Hospital would depend on various factors such as the specific
requirements of the hospital, the software applications used, and the preferences.For choose a suitable
operating system I got details about operationg systems as bellow..

An operating system (OS) manages all other applications and programs in a computer, and it is loaded into
the computer by a boot program.. Applications and other programs request services from the operating system
(API) using a specific application program interface. The program that houses the essential parts of the
operating system is known as the kernel. Every computer must have at least one operating system installed in
order to execute additional programs.

Functions of Operating System

Resource Management Manages and allocates memory, CPU time, and


other hardware resources among the various
programs and processes running on the computer.
Process Management Manages the processor’s work by allocating various
jobs to it and ensuring that each process receives
enough time from the processor to function
properly
Memory Management Manages the computer’s primary memory and
provides mechanisms for optimizing memory

pg. 35
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

usage.
Security There are various input and output devices. An OS
controls the working of these input-output devices.
It receives the requests from these devices,
performs a specific task, and communicates back to
the requesting process.

pg. 36
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Job Accounting It keeps track of time and resources used by various


jobs or users.

pg. 37
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

File Management Keeps track of information regarding the creation,


deletion, transfer, copy, and storage of files in an
organized way, maintains the integrity of the data
stored in these files, including the file directory
structure, by protecting against unauthorized
access.
Device Management Manages input/output devices such as printers,
keyboards, mice, and displays providing the
necessary drivers and interfaces to enable
communication between them and the computer.
Networking Provides networking capabilities such as
establishing and managing network connections,
handling network protocols, and sharing resources
such as printers and files over a network.
User Interface This can be a Graphical User Interface (GUI), a
Command-Line Interface (CLI), or a combination
of both.
Backup and Recovery Provides mechanisms for backing up data and
recovering it in case of system failures, errors, or
disasters.
Virtualization Provides virtualization capabilities that allow
multiple operating systems or applications to run on
a single physical machine.
Performance Monitoring Provides tools for monitoring and optimizing
system performance, including identifying
bottlenecks, optimizing resource usage, and
analyzing system logs and metrics.
Time-Sharing Enables multiple users to share a computer system
and its resources simultaneously by providing time-
sharing mechanisms that allocate resources fairly
and efficiently.
Error-detecting Checks the system for any external threat or
malicious software and hardware activity.This
process displays several alerts to the user so that the
appropriate action can be taken against any damage
caused to the system.

Objectives of Operating System

pg. 38
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 Convenient to use
 User friendly
 Easy access
 Management of resources
 Controls and monitoring
 Fair sharing of resources
Few Examples for Operating System

URL
“A URL, short for a uniform resource locator is a web address pointing to a specific website, a web page, or a
document on the internet.”

A URL is usually located at the top of the browser window in the address bar or omnibox. You can open a
URL by clicking a hyperlink. If a URL is in printed material (eg- e-mail ) where it's not a hyperlink, you can
open the page by typing the URL in the browser address bar. If the URL is in an e-mail, it can also be copied
and pasted to the browser address bar.
When we create URL spaces are not allowed, the URL string can only contain alphanumeric characters and
the !$-_+*'(), characters. Any other characters that are needed in the URL must be encoded.

pg. 39
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Scheme This indicates the protocol that the browser must


use to request the resource. Usually for websites the
protocol is HTTPS or HTTP

Authority he domain indicates which Web server is being


requested. Usually this is a domain name, but an IP
address may also be used.
"www" stands for World Wide Web and
distinguishes the content. This portion of the URL
is not required and can be left out.
“.com” called a top-level domain (TLD), is the bit
following a website name. Used for around 53% of
all websites, .com is the most popular extension.
Path to resource A path to the resource is the part to the right of the
TLD. It’s often referred to as the folder structure of
the website, enabling it to lead users to a specific
location, specific page , post or file.

Parameters Parameters contain keys and values separated by


the equal sign (=).a URL can have multiple
variables. In that case, the ampersand symbol (&)
will separate each. In terms of parameter use cases
such as Translating/ Searching/ Filtering/
Paginating/ Tracking
Anchor An anchor represents a sort of "bookmark" inside
the resource, giving the browser the directions to
show the content located at that "bookmarked" spot.

To create a URL for Arogya Hospital need to apply following steps,


 Choose a domain name -For example, arogyahospital.com or arogyahospital.org.
 Register the domain
 Choose a hosting provider
 Set up DNS
 Develop the website
 Publish the website
 Test and optimize
 Launch the website

After completing these steps, Arogya Hospital's website should be accessible to users by entering the
URL into a web browser.
Web servers

A web server is a software application that stores and delivers website content to clients upon request. It

pg. 40
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

communicates with web browsers using the Hypertext Transfer Protocol (HTTP) and delivers content
encoded in HTML. Web servers can handle both static and dynamic content by supporting server-side
scripting languages. They may also cache frequently accessed content for faster delivery. Web servers can
host multiple websites through virtual hosting and can control response speeds to prevent resource
domination by a single client. While commonly used for hosting internet-accessible websites, web servers can
also facilitate communication within local networks and be embedded in devices for browser-based
interaction.
Also, a web server is a combination of hardware and software that enables a computer to host websites and
web applications. The hardware component of a web server includes the physical server, storage, and
networking components. The software component of a web server includes the operating system, web server
software, and other applications. Together, these components provide the necessary infrastructure for hosting
websites and web applications.

How Does Web server Works


1. Client sends a request: A client, usually a web browser, sends a request to the web server for a specific
web page or resource by specifying its URL.

2. Web server receives the request: The web server receives the client's request and establishes a
connection with the client.

3. Web server processes the request: The web server understands the client's request using the HTTP
protocol and determines the requested resource.

4. Web server retrieves the resource: The web server locates the requested resource, which can be a file
or dynamically generated content.

5. Web server generates a response: If necessary, the web server performs any required processing, such
as executing scripts or fetching data, to generate the final content.

6. Web server sends the response: The web server constructs an HTTP response containing the requested
content and sends it back to the client.

7. Client receives and displays the response: The client, typically a web browser, receives the response
and processes it. It renders HTML, CSS, and JavaScript to display the web page content to the user.

8. Connection is closed: After delivering the response, the web server closes the connection with the
client, freeing up resources for other requests.

pg. 41
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Some Populer Web Servers as Bellow

Apache HTTP Server

Apache is one of the most widely used open-source web servers. It is known for
its stability, flexibility, and extensive feature set. Apache is highly
customizable and supports various modules for enhancing functionality.

Nginx
Nginx is a lightweight and high-performance web server that is known for its
efficiency in handling concurrent connections. It excels at serving static
content and is often used as a reverse proxy or load balancer in combination
with other web servers.

Microsoft Internet Information Services (IIS)


IIS is a web server developed by Microsoft for hosting websites and web
applications on Windows servers. It provides robust integration with other
Microsoft technologies and offers features like ASP.NET support and Windows
authentication.

LiteSpeed Web Server


LiteSpeed is a high-performance web server that aims to deliver exceptional speed and
scalability. It is compatible with Apache configuration files, making it easy to
switch from Apache to LiteSpeed without major modifications.

pg. 42
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Google Web Server (GWS)


GWS is Google's custom web server infrastructure used to serve their web
properties. It is designed for high performance and reliability, handling a massive
amount of traffic across Google's services.

Lighttpd
lighttpd was developed in 2003. This web server requires low memory and CPU and
disk space. Web cameras, internet routers, and other things of a similar nature use
lighttpd as their web server.

Browser
A browser, often known as a web browser or Internet browser, is a software application used to display and
access material on the World Wide Web. It is the primary tool through which users interact with the internet.
Browsers allow users to navigate through web pages by interpreting HTML (Hypertext Markup Language)
code and rendering it into a visually appealing format. They support various technologies such as CSS
(Cascading Style Sheets) for styling, JavaScript for dynamic functionality, and multimedia plugins for playing
audio and video content.

Browsers provide a user-friendly interface for accessing and managing web-based information. They offer
features like bookmarks or favorites, which allow users to save and quickly access their favorite websites.
Browsers also have a history feature that records the websites visited, making it easy to revisit previously
viewed pages. Additionally, they support tabbed browsing, enabling users to open multiple web pages
simultaneously within a single browser window.

Web browsers have become an indispensable tool due to our increasing reliance on the Internet. They serve
several functions that enhance our online experience. Browsers retrieve information from the World Wide
Web, allowing users to access a vast range of content. By entering a URL, browsers connect to web servers,
enabling us to visit websites effortlessly. Plugins support the execution of Java applets and flash content.
Browsers simplify internet browsing by providing easy access to hyperlinks, facilitating the exploration of
useful online data. They utilize internal caches, enabling users to revisit webpages without data loss.
Browsers also allow the simultaneous opening of multiple webpages, promoting multitasking. Furthermore,
browsers offer convenient options like back, forward, reload, stop, and home, enhancing user-friendliness and
ease of navigation.

pg. 43
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Component of a Web browser

List of current Internet browsers

Web Server Hardware

Web server hardware encompasses various components that work together to facilitate the hosting and
delivery of websites and web applications. The server itself serves as the core component, typically featuring

pg. 44
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

robust specifications. It often includes multiple processors, such as powerful CPUs, to handle concurrent
requests efficiently. To support smooth performance and handle high traffic, web servers are equipped with
ample RAM for temporary data storage during processing.

In addition to the server, storage plays a critical role in web server hardware. It provides the capacity to store
website files, databases, and other related data. Web servers commonly utilize fast storage solutions like
solid-state drives (SSDs) for enhanced read and write speeds, resulting in improved website loading times and
responsiveness.

Networking components are essential for web servers to connect to the internet and enable access for users.
This includes network interfaces, such as Ethernet ports, enabling stable and high-speed network connections.
These interfaces facilitate the transmission of data between the server and clients, ensuring seamless
communication.

The hardware configuration of a web server plays a crucial role in its performance, reliability, and scalability.
web server hardware main components as bellow:
Motherboard This piece of server hardware is the main printed circuit board in a
computing system. As a minimum, the motherboard holds at least one
central processing unit (CPU), provides firmware (BIOS) and slots for
memory modules, along with an array of secondary chips to handle I/O

pg. 45
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

and processing support, such as a Serial Advanced Technology


Attachment (SATA) or Serial-Attached SCSI (SAS) storage interface.
It also functions as the central connection for all externally connected
devices and offers a series of slots -- such as PCIe -- for an array of
expansion devices, such as network or graphics adapters.
Processor (CPU) The processor, also known as the central processing unit (CPU), is
responsible for executing instructions and performing calculations. The
choice of processor depends on the server's requirements, and it can
range from single-core to multi-core processors. Common processor
brands include Intel Xeon and AMD EPYC, known for their reliability
and performance.
Memory (RAM) Random Access Memory (RAM) is crucial for server performance. It
provides temporary storage for data and instructions that the server
actively uses. The amount of RAM affects the server's ability to handle
concurrent connections and run applications efficiently. Servers
typically have larger RAM capacities than regular desktop computers,
ranging from several gigabytes to terabytes, depending on the server's
purpose.
Storage Server hardware includes various storage options, such as hard disk
drives (HDDs) and solid-state drives (SSDs). HDDs offer large storage
capacities at a lower cost, while SSDs provide faster read/write speeds
and improved performance. Servers often utilize multiple drives in
different configurations, including RAID (Redundant Array of
Independent Disks) setups for data redundancy and improved
reliability.
Network connection Servers are intended for client-server computing architectures and
depend on at least one network connection to maintain communication
between the server and a data center LAN. LAN technologies first
appeared in the 1970s including Cambridge Ring, Ethernet, ARCNET
and others -- though Ethernet is by far the dominant networking
technology available today.

A network connection is primarily defined by its technology and


bandwidth -- speed. Early Ethernet network adapters supported 100
Mbps speeds, though today’s Ethernet adapters can easily support 10
Gbps. Modern servers can easily support multiple network connections

pg. 46
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

to support multiple workloads -- such as multiple virtual machines -- or


trunk multiple network adapters together to provide even greater
bandwidth for demanding server workloads.

Networks evolved to handle communication between applications, but


storage traffic -- reading and writing data between applications and
storage devices -- can demand significant bandwidth. Dedicated
storage networks have such as Fibre Channel (FC), Fibre Channel over
Ethernet (FCoE), InfiniBand and other storage networks are available
to connect servers to data center storage subsystems.

A server’s network connection is created through the addition of a


network adapter that can be included as a chip and physical port -- plug
-- on the motherboard, as well as a separate network adapter plugged
into an available motherboard expansion slot, such as a PCIe slot). A
conventional network adapter and dedicated storage network adapters
can exist on the same server simultaneously.
Cooling System Web servers generate a significant amount of heat due to continuous
operation. A robust cooling system, including fans and heat sinks, is
essential to maintain optimal operating temperatures and prevent
hardware damage.
Power Supply All servers require power, which is provided by a power supply (PS).
The PS converts AC utility power into the DC voltages required by the
server's electronic devices. It is typically an enclosed subsystem
installed in the server's enclosure. AC power is connected to the server
from a power distribution unit (PDU) in the server rack. The power
supply distributes DC power to the motherboard, storage devices, and
other components through DC power cables. Power supplies are rated
in watts and can range from 200-500 W or more depending on the
server's devices. Heat generated by the server is dissipated through
cooling fans in the power supply. To enhance reliability, high-quality or
redundant power supplies can be used. Some server designs utilize a
common DC power bus throughout the rack or blade chassis for
improved efficiency and scalability.
Server Chassis The server chassis or case houses all the hardware components of the

pg. 47
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

web server. It provides physical protection, facilitates proper airflow,


and offers expansion slots for adding additional components.
Server Management and Server Management Tools
Monitoring Tools.. Web server hardware is often accompanied by server management
tools or control panels that provide a user-friendly interface for
managing various server aspects. These tools allow administrators to
perform tasks such as server configuration, software installations, user
management, and file management. Examples of popular server
management tools include cPanel, Plesk, and DirectAdmin.

Configuration Management
Server management tools enable administrators to configure server
settings and parameters according to the specific requirements of
websites or web applications. This includes setting up domains,
subdomains, email accounts, database access, and security settings.
Configuration management ensures proper functioning and
optimization of the web server.

Monitoring Systems
To ensure optimal performance, web servers employ monitoring
systems that track various metrics related to server health,
performance, resource utilization, and security. These systems provide
real-time insights into server performance and identify any potential
issues. Monitoring tools such as Nagios, Zabbix, or Prometheus can
track parameters like CPU usage, memory usage, network traffic, disk
space, and server response times.

Resource Utilization
Monitoring systems also help administrators monitor resource
utilization, such as CPU, memory, disk space, and network bandwidth.
By tracking resource usage, administrators can identify bottlenecks,
plan resource allocation, and optimize server performance. Monitoring
tools can generate alerts or notifications when resource thresholds are
exceeded.

pg. 48
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Security Monitoring
Web servers require robust security measures to protect against threats
and vulnerabilities. Monitoring systems play a crucial role in
monitoring security-related events, such as unauthorized access
attempts, unusual network traffic, or suspicious activities. Intrusion
detection systems (IDS) or intrusion prevention systems (IPS) can be
implemented to monitor and protect the server from security breaches.

Logging and Log Analysis


Web servers generate logs that record various events and activities,
such as web requests, errors, and access logs. These logs are essential
for troubleshooting and auditing purposes. Log analysis tools can parse
and analyze logs, providing valuable insights into server performance,
errors, and potential security incidents

Functioning Of The Web Server Hardware

1.Request Reception When a user requests a webpage by entering its


URL in a web browser, the request is sent over the
internet to the web server. The request includes
information such as the domain name and specific
page or resource being requested.
2.Connection Establishment The web server hardware receives the incoming
request and establishes a connection with the
client's web browser. This connection is typically
established using the Hypertext Transfer Protocol
(HTTP) or its secure counterpart, HTTPS.

pg. 49
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

3.Request Processing Once the connection is established, the web server


hardware processes the received request. It
examines the requested URL, headers, and any
associated parameters to determine the appropriate
action to take.
4. Resource Retrieval After identifying the requested resource, such as an
HTML file, image, or database record, the web
server hardware retrieves the corresponding
resource from its storage. This involves accessing
the storage devices where the website files and data
are stored, such as hard disk drives (HDDs) or
solid-state drives (SSDs).
5. Resource Generation (if applicable) In the case of dynamic web content, the web server
hardware may need to generate the requested
resource on the fly. This can involve executing
server-side scripts or querying databases to
dynamically assemble the requested content.
6.Response Generation Once the requested resource is retrieved or
generated, the web server hardware constructs the
response to be sent back to the client's web browser.
The response typically includes the requested
resource along with appropriate headers and status
codes.
7.Response Transmission The web server hardware sends the response back
to the client's web browser over the established
connection. The response is transmitted using the
HTTP or HTTPS protocols.
8. Connection Termination After the response is transmitted, the web server
hardware terminates the connection with the client's
web browser, freeing up system resources to handle
additional requests.

What is web server software

Web server software refers to the application or program that runs on a web server and is responsible for

pg. 50
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

handling client requests, processing them, and delivering web content to the clients over the internet. It acts as
the intermediary between the web server's hardware and the web browsers or clients that access the server.
Web server software provides various functionalities, including interpreting and executing web scripts,
managing user sessions, handling security protocols, and serving static or dynamic web pages. It plays a
crucial role in hosting websites, applications, and other online services, allowing users to access and interact
with the content stored on the server. Examples of popular web server software include Apache HTTP Server,
Nginx, Microsoft IIS, and LiteSpeed.

Functinality of Web Server Softwares

1. Managing HTTP Requests Web server software efficiently processes HTTP


requests and ensures seamless communication
between clients and servers. It manages various
types of requests, such as GET, which retrieves
resources like HTML pages or images; POST,
which submits data to be processed by the server;
PUT, which uploads files to the server; and
DELETE, which removes resources from the
server. Examples of web server software that handle
HTTP requests include Apache HTTP Server,
Nginx, and Microsoft IIS.
2.Managing Server-side Scripting Languages Web server software supports server-side scripting
languages, enabling the execution of dynamic code.
For example, PHP can be executed by web servers
like Apache with the help of PHP modules or
FastCGI. Similarly, Python-based web frameworks
like Django or Flask can be used with web servers
like Gunicorn or uWSGI. These combinations
allow developers to build interactive web
applications that generate dynamic content based on
user inputs or database queries.
3.Supporting SSL/TLS Encryption Web server software ensures secure communication
by implementing SSL/TLS encryption protocols.
For example, Let's Encrypt provides free SSL
certificates that can be integrated with web servers

pg. 51
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

like Apache or Nginx. This enables websites to use


HTTPS, encrypting data transmitted between
clients and servers. Web servers offer configuration
options to specify the supported SSL/TLS versions,
cipher suites, and certificate management, ensuring
strong encryption and secure connections.
4.Providing Caching Web servers utilize caching mechanisms to improve
performance and reduce server load. For instance,
Varnish Cache is a popular caching reverse proxy
that sits in front of web servers. It stores copies of
frequently accessed content, such as HTML pages,
images, or CSS files, in memory. When a client
requests the content, Varnish Cache delivers it
directly from memory, eliminating the need for the
web server to process the request. This improves
response time and reduces server resource usage.
5.Load Balancing Web server software offers load balancing features
to distribute incoming traffic across multiple
servers, ensuring optimal resource utilization and
scalability. Examples include HAProxy and Nginx,
which support load balancing algorithms such as
round-robin, least connections, or weighted
distribution. These software solutions monitor
server health, automatically distribute incoming
requests, and provide failover capabilities. Load
balancing enhances performance and provides high
availability by spreading the load across multiple
servers.

Application Server Softwares


Application server software refers to a type of server software that provides a runtime environment for
running and managing applications. It acts as an intermediary between clients (users or other applications)
and the backend resources required to execute the applications. Application servers offer a range of services,
including transaction management, security, scalability, and resource pooling, to support the development and
deployment of complex, distributed applications.

pg. 52
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Application server software works by accepting requests from clients, processing those requests, and
returning the results back to the clients. It follows a multi-tier architecture, typically consisting of the
following layers,

Presentation Layer - Handles the user interface and interaction with clients.
Business Logic Layer - Executes the business logic and processes the requests.
Data Layer - Manages the data storage and retrieval, often integrating with databases or other data sources.
Application servers provide a runtime environment that supports the execution of various programming
languages, such as Java, .NET, Python, and PHP. They manage the lifecycle of applications, handle
concurrency, and ensure the availability and reliability of services.

Application server software is widely used in various scenarios, including,

1.Web Application Development: Application servers provide a platform to build and deploy web
applications, handling tasks like session management, database connectivity, and security.
2.Enterprise Application Integration: They facilitate the integration of multiple systems and applications
within an organization, enabling seamless communication and data exchange.
3.Service-Oriented Architecture (SOA): Application servers support the development and deployment of
services that can be accessed by other applications through well-defined interfaces.
4.Scalable and High-Performance Applications: Application servers offer features like load balancing,
clustering, and caching to ensure scalability and handle high traffic volumes.
5.Business Process Management: They provide tools and services to automate and manage business
processes, workflows, and transactional operations.
Some examples for Application Server Software as bellow,
Java EE Application Servers -Apache Tomcat, Oracle WebLogic, IBM WebSphere, Red Hat JBoss, GlassFish.
.NET Application Servers- Microsoft Internet Information Services (IIS), Windows Communication
Foundation (WCF).
Python Application Servers- Gunicorn, uWSGI, mod_wsgi.

pg. 53
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

PHP Application Servers- Apache HTTP Server with PHP module, Nginx with PHP-FPM.

Database Server Softwares


Database server software refers to specialized software that manages and provides access to databases. It
serves as a central repository for storing, organizing, and retrieving structured data, allowing multiple users or
applications to interact with the data concurrently. Database server software includes features for data
management, data integrity, security, and data access optimization.

Database server software operates by accepting and processing requests from client applications or users, and
then performing the necessary operations on the underlying database. The server software manages data
storage, retrieval, indexing, transaction management, and query processing. It provides an interface, such as
Structured Query Language (SQL), for interacting with the database and executing operations such as
querying, inserting, updating, and deleting data.

The server software uses various techniques to optimize performance and ensure data consistency and
integrity. This includes implementing caching mechanisms, transaction management protocols, concurrency
control mechanisms, and security measures to protect the data.

Database server software is used in various applications and industries, including:

pg. 54
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Enterprise Data Management: Organizations use database servers to store and manage critical business data,
such as customer information, financial records, inventory, and employee data.
Web Applications: Database servers are essential for web applications that need to store and retrieve data
dynamically, such as e-commerce platforms, content management systems, and social media platforms.
Business Intelligence and Analytics: Database servers support data analysis and reporting by providing
efficient storage and retrieval mechanisms for large datasets.
Mobile Apps and IoT: Database servers handle data storage and synchronization for mobile apps and Internet
of Things (IoT) devices, enabling real-time data processing and synchronization across multiple devices.
Data Warehousing: Database servers are used to build and manage data warehouses, which store and organize
large volumes of data for reporting and analysis purposes.
Decision Support Systems: Database servers play a crucial role in decision support systems, providing quick
access to relevant data for making informed business decisions.

Examples for Database Server


Software
 Oracle Database Server
 Microsoft SQL Server
 MySQL Server

pg. 55
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 PostgreSQL
 IBM DB2
 MongoDB (NoSQL database server)
 Cassandra (NoSQL database server)

Cloud Computing Server Software

Cloud computing refers to the delivery of on-demand computing resources over the internet. It involves
accessing and utilizing a variety of services, including servers, storage, databases, networking, software, and
analytics, without the need for local infrastructure or physical hardware. Instead, these resources are hosted
and provided by remote data centers operated by cloud service providers.
Cloud computing works by enabling users to access and utilize computing resources and services remotely
through the internet. Users can leverage the cloud provider's infrastructure to store and process data, run
applications, and perform various computing tasks. The underlying infrastructure and resources are managed
and maintained by the cloud service provider, allowing users to focus on their applications and services
without the need for extensive hardware or infrastructure management.

Cloud computing typically operates on a pay-as-you-go model, where users are billed based on their usage of
resources, allowing for scalability and cost-efficiency. The cloud service provider ensures high availability,
security, and reliability of the services, with data and applications accessible from any location with an
internet connection.

Cloud computing has numerous use cases and is utilized across various industries and domains. Some
common usages of cloud computing include,
1.Infrastructure deployment and management- Cloud computing allows businesses to quickly provision and
scale their infrastructure, reducing the need for physical hardware and on-premises data centers.
2.Data storage and backup- Cloud storage services provide scalable and cost-effective solutions for storing
and backing up data, ensuring data availability and disaster recovery.
3.Application development and deployment- Developers can leverage cloud platforms to build, test, and

pg. 56
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

deploy applications, taking advantage of the scalable and flexible nature of cloud infrastructure.
4.Big data analytics- Cloud computing provides the computational power and storage required for processing
and analyzing large datasets, enabling businesses to derive valuable insights and make data-driven decisions.
5.Software-as-a-Service (SaaS)- Cloud-based applications and services are delivered as SaaS, allowing users
to access and utilize software applications without the need for local installations.

Types of Cloud Services


Regardless of the kind of service, cloud computing services provide users with a series of functions including:

Email
Storage, backup, and data retrieval
Creating and testing apps
Analyzing data
Audio and video streaming
Delivering software on demand
Cloud computing is still a fairly new service but is being used by a number of different organizations from big
corporations to small businesses, nonprofits to government agencies, and even individual consumers.

pg. 57
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Few examples for Cloud Computing Providers,


Amazon Web Services (AWS)
Microsoft Azure
Google Cloud Platform (GCP)
IBM Cloud
Oracle Cloud Infrastructure (OCI)
Alibaba Cloud
Tencent Cloud

Comparison Between Desktop Pc Hardware And Server Hardware


Desktop PC Hardware Server Hardware
Desktop PCs are designed for Server hardware is specifically
individual users and are typically designed to handle and manage
used for personal computing the resources required for hosting
tasks, such as web browsing, websites, applications, and
word processing, and multimedia services that can be accessed by
consumption. multiple users or clients.
Performance and Reliability Desktop PCs are optimized for Server hardware is built for high
single-user tasks and provide performance and reliability. It is
sufficient performance for designed to operate 24/7 and
individual use. They are generally handle multiple concurrent users,
less reliable compared to server providing robust processing
hardware and may not be built to power, ample storage capacity,
handle continuous and heavy and advanced redundancy
workloads. features to ensure high
availability and minimize
downtime.
Scalability Desktop PCs are typically not Server hardware is designed to be
designed with scalability in mind. highly scalable. It allows for easy
Upgrading or expanding the expansion of storage, memory,
hardware components may be and processing power to meet
limited, and they are not easily increasing demands. Servers can
scalable to accommodate growing be configured in clusters or in a

pg. 58
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

user demands. distributed manner to handle


larger workloads and
accommodate more users.
Cost More affordable compared to More expensive (design, high-
server hardware. They are performance components,
designed for individual use and reliability features,depending on
have lower price points. the specific requirements and
scalability options needed.)
Management and Maintenance Desktop PCs are usually managed It often includes dedicated server
and maintained by individual management tools, remote
users. They may require regular administration capabilities, and
updates, troubleshooting, and redundancy features to ensure
software installations by the user. continuous operation. Typically
managed by IT professionals who
monitor performance, security,
and software updates.

pg. 59
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

1.2 Identifry and define the types of DNS and the uses of it, with clarifications on how domain names are
structured. Review the effect of search engines on website performance. Provide evidence-based support
for improving a site’s index value and rank of the Hospital Management System (HMS) through search
engine optimization.

Domain Name System

“A DNS or a domain name system is used to translate domain names into IP addresses, allowing the
browsers to access other internet resources.”
All computers on the Internet, from your smart phone or laptop to the servers that serve content for massive
retail websites, find and communicate with one another by using numbers. These numbers are known as IP
addresses. When you open a web browser and go to a website, you don't have to remember and enter a long
number. Instead, you can enter a domain name like example.com and still end up in the right place.
Once the DNS server finds the correct IP address, browsers take the address and use it to send data to
content delivery network (CDN) edge servers or origin servers. Once this is done, the information on the
website can be accessed by the user. The DNS server starts the process by finding the corresponding IP
address for a website’s uniform resource locator (URL).

DNS Server
A DNS server is also a web server. Its primary objective is to interact with the aforementioned database.
These DNS servers translate the domain name entered into the URL area of a web browser to the
corresponding IP address. There are thousands of DNS servers worldwide which form the Domain Name
System which currently is the largest digital database.

Usages of DNS

 DNS resolves domain names to IP addresses for internet communication.

pg. 60
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 DNS allows users to access websites and other internet resources using human-readable domain
names.
 DNS helps deliver emails by determining the correct mail server for a domain.
 DNS assists in distributing network traffic across multiple servers for improved performance and
reliability.
 DNS ensures high availability by providing redundancy and failover mechanisms.
 DNS is crucial for Content Delivery Networks (CDNs) to deliver content efficiently to users.
 DNS plays a role in network security by enabling features like blocking malicious websites.
 DNS resolves domain names within internal networks for local resource access.

How Does DNS Work

1. Client sends a request A client, usually a web browser, sends a request


to the web server for a specific web page or
resource by specifying its URL.
2. Web server receives the request The web server receives the client's request and
establishes a connection with the client.
3. Web server processes the request The web server understands the client's request
using the HTTP protocol and determines the
requested resource.
4. Web server retrieves the resource The web server locates the requested resource,
which can be a file or dynamically generated
content.
5. Web server generates a response If necessary, the web server performs any
required processing, such as executing scripts or
fetching data, to generate the final content.
6. Web server sends the response The web server constructs an HTTP response
containing the requested content and sends it
back to the client.
7. Client receives and displays the response The client, typically a web browser, receives the
response and processes it. It renders HTML,
CSS, and JavaScript to display the web page
content to the user.
8. Connection is closed After delivering the response, the web server

pg. 61
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

closes the connection with the client, freeing up


resources for other requests.

DNS Hierachy
A DNS hierarchy is a system used to sort the parts of a domain according to their importance.

1. Resolving Nameserver A resolving nameserver, also known as a “Domain


Name System (DNS) resolver,” is programmed by
Internet service providers (ISPs) to act as a middleman
to other DNS servers. It usually sits between your

pg. 62
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

computer and a top-level domain (TLD) nameserver.


 The client sends a query to the local Resolving
Nameserver.
 The Resolving Nameserver recursively
resolves the query by querying the root and
authoritative nameservers to retrieve the IP
address.
 The Resolving Nameserver caches the IP
address and responds to the client.
 If the IP address is not cached, the Resolving
Nameserver iteratively resolves the query by
seeking referrals from the root and authoritative
nameservers.
 The authoritative nameservers respond with the
IP address, which is stored in the cache and
relayed back to the client.

 The client receives the IP address and


establishes a connection with the web server.
 The Resolving Nameserver is a crucial
component in the DNS hierarchy, navigating the
resolution process.
 By caching information and serving multiple
clients, Resolving Nameservers enhance the
speed and reliability of DNS resolution.

pg. 63
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The Root Servers


The Root Servers are the foundational servers in the
DNS hierarchy that store information about the top-
level domains (TLDs).
The root zone contains the following:
1) Organizational hierarchy such as .com,
.net, .org.
2) Geographic hierarchy such as .uk, .fr, .pe.
The root DNS servers are operated by 12 different
organizations.
1) Verisign
2) University of Southern California
3) Cogent
4) University of Maryland
5) NASA AMES Research Center
6) Internet Systems Consortium
7) US Department of Defense
8) US Army Research Lab
9) Netnod
10) RIPE
11) ICANN
12) WIDE
 When a Resolving Nameserver receives a query
for a domain, it contacts one of the Root Servers
to obtain information about the TLD
nameservers.
 For example, if the query is for a domain ending
in ".com," the Resolving Nameserver contacts a
Root Server to find the TLD nameserver
responsible for ".com".
 The Root Server responds to the Resolving
Nameserver with the IP address of the TLD
nameserver for the requested domain.
 This information allows the Resolving
Nameserver to continue the DNS resolution

pg. 64
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

process by querying the TLD nameserver.


 The Root Servers do not store information about
specific domain names but provide essential
guidance to direct the DNS resolution process.
 Their high-level function is to maintain the
integrity and stability of the DNS system by
providing authoritative information about the
TLD nameservers.
Top-Level Domain (TLD) The Top-Level Domain (TLD) nameservers are
responsible for storing information about
specific top-level domains, such as ".com,"
".org," or country code TLDs like ".uk" or ".jp."
For example, the TLD nameserver for ".com" is
responsible for maintaining the DNS records for
all domain names ending in ".com."
When a Resolving Nameserver receives a query
for a domain, it contacts the appropriate TLD
nameserver based on the domain's TLD.
For instance, if the query is for a domain ending
in ".org," the Resolving Nameserver contacts
the TLD nameserver responsible for ".org"
domain names.
The TLD nameserver responds to the Resolving
Nameserver with the IP address of the
authoritative nameserver for the requested
domain.
This authoritative nameserver contains the
specific DNS records for the domain, such as
the IP address associated with the domain name.

Each TLD has its own set of nameservers,


which are managed by the respective TLD
registry.
The TLD nameservers play a crucial role in the
DNS resolution process by directing Resolving

pg. 65
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Nameservers to the authoritative nameservers


that hold the actual DNS records for individual
domains.
The Authoritative Nameserver The Authoritative Nameserver is the nameserver
responsible for storing and providing the DNS
records for a specific domain.
For example, if a user queries for
"example.com," the Authoritative Nameserver
for "example.com" will hold the DNS records
for that domain.
When a Resolving Nameserver receives a query
for a domain, it contacts the Authoritative
Nameserver associated with that domain.
The Authoritative Nameserver holds the
necessary information, such as the IP address
corresponding to the domain name.
There can be multiple Authoritative
Nameservers for a domain, distributed across
different locations for redundancy and improved
performance.
These nameservers are responsible for ensuring
the availability and accuracy of the DNS
records for the domain.
The Authoritative Nameserver responds to the
Resolving Nameserver with the requested DNS
information, such as the IP address associated
with the domain.
This information is then passed back to the
user's device, enabling the successful resolution
of the domain name to its corresponding IP
address.
DNS Records DNS records are the information stored in the
DNS database that maps domain names to
specific IP addresses or other data.
Examples of DNS records include A records,

pg. 66
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

which map a domain name to an IPv4 address


(e.g., example.com -> 192.0.2.1) and MX
records, which specify the mail servers
responsible for accepting email for a domain
(e.g., example.com -> mail.example.com).
Other types of DNS records include CNAME
records, which provide an alias for a domain
(e.g., www.example.com -> example.com), and
TXT records, which can contain additional text-
based information associated with a domain.
DNS records are managed by the authoritative
nameservers for a domain, and they are queried
by resolving nameservers when resolving a
domain name.
The DNS records are crucial for correctly
routing internet traffic and enabling services
such as website hosting, email delivery, and
other network services.
DNS records can be updated or modified by the
domain owner or administrator through the
domain registrar or DNS management tools
provided by the hosting provider.
Each DNS record has a specific format and
purpose, allowing for the efficient and accurate
resolution of domain names to their associated
resources.
By managing DNS records, domain owners can
control how their domain name is resolved,
directing traffic to the appropriate servers and
services based on the specified DNS records.
Web Server and Site Files A web server is a software or hardware system
that serves web pages and handles HTTP
requests from clients, such as web browsers.
Examples of popular web server software
include Apache HTTP Server, Nginx, Microsoft

pg. 67
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

IIS, and LiteSpeed.


Web servers host and deliver site files, which
are the files that make up a website, including
HTML, CSS, JavaScript, images, videos, and
other assets.
Site files are stored on the web server's file
system and organized into directories and
folders.
When a user requests a web page, the web
server retrieves the corresponding site files and
sends them back to the user's browser for
rendering.
Web servers use various protocols, such as
HTTP and HTTPS, to communicate with clients
and deliver site files securely.
The configuration of a web server determines
how it handles requests, manages site files, and
provides additional functionalities like server-
side scripting, caching, and load balancing.
Examples of site files include index.html (the
default file displayed when accessing a
website), style.css (the file that defines the
website's visual appearance), and script.js (a
JavaScript file that adds interactivity to the web
pages).

pg. 68
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Top Level Domains

The next level in the DNS hierarchy is Top level domains. There are many TLDs available at the moment.
As we have seen the TLDs are classified as two sub categories. They are organizational hierarchy and
geographic hierarchy. Let us see each in detail.

Organizational Hierarchy

Domain Purpose

com Commercial organizations


edu Educational institutions
gov Government institutions
mil Military groups
net Major network support centers
org Nonprofit organizations and others
int International organizations

pg. 69
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Geographic hierarchy

In the geographic hierarchy, each country is assigned with two letter codes. These codes are used to identify
countries.
For example, take the domain name images.google.com
Here, the “.com” is the top-level domain. It is called as tld in short. This is the next component in the DNS
hierarchy. A TLD can have many domains under it. For example, a .com tld can have linux.com, centos.com,
ubuntu.com, etc.
Sometimes, there is a second level hierarchy to a tld. They deal with the type of entity intended to register an
SLD under it. For example, for the .uk tld, a college or other academic institution would register under the
.ac.uk ccSLD, while companies would register under .co.uk.

Second Level Domains


The next level in the DNS hierarchy is the Second Level Domains. This is the domain that is directly below
the tld. This is the main part of the domain name. It can vary according to the buyer. There are no limits here
as the tlds. Once the domain is available anyone can purchase it. If the domain is unavailable at the moment,
same 2nd level name with other tlds is the best option.

Sub-domain
The sub-domain is the next level in the DNS hierarchy. The sub-domain can be defined as the domain that is
a part of the main domain. The only domain that is not also a sub-domain is the root domain. Suppose two
domains. one.example.com and two.example.com. Here, both the domains are the sub-domains of the main
domain example.com and the example.com is also a subdomain of the com top level domain.

pg. 70
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Search Engine

A search engine is a software program that helps people find the information they are looking for online
using keywords or phrases.
Search engines are able to return results quickly—even with millions of websites online—by scanning the
Internet continuously and indexing every page they find.

When a user enters a search term, the search engine looks at the website page titles, contents and keywords
it has indexed and uses algorithms (step-by-step operations) to produce a list of sites—with the most
relevant websites at the top of the list.

How to access a search engine

For users, a search engine is accessed through a browser on their computer, smartphone, tablet, or another
device. Today, most new browsers use an omnibox, a text box at the top of the browser. The omnibox allows
users to type in a URL or a search query. You can also visit one of the major search engines' home page to
perform a search.

Types of Search Engines


Search engines can be classified according to the type of information they collect:

Web page search engine:when performing a search they return as a result the most relevant web
page.
Image Finder:Crawls images and displays a mosaic of relevant results.
Video Finder:analyzes the videos and shows the ones that are interpreted to correspond to the search.
File Finder: Returns results based on the name or type of file.

How does Search Engines Works,

1.Crawling

pg. 71
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Search engines use automated programs called crawlers or spiders to discover and visit web pages. These
crawlers start by accessing a list of known web page URLs or by following links from other websites. They
systematically navigate through the web, visiting web pages and collecting information about them.

2.Indexing
As crawlers visit web pages, they extract various elements like text, images, and metadata. The collected
information is then stored in a massive database called an index. The index contains a record of all the web
pages the search engine has crawled and is used as a reference for retrieving relevant results for search
queries.

3.Ranking
When a user performs a search query, the search engine retrieves relevant web pages from its index based
on the query's keywords and relevance. The search engine's ranking algorithm evaluates numerous factors,
including keyword usage, page quality, user signals, and backlinks, to determine the order in which the web
pages should be displayed in the search results.
As Martin Splitt, Webmaster Trends Analyst, said:
“We have over 200 signals to do so. So we look at things like the title, the meta description, the actual
content that you’ve got on your page, images, links, all sorts of things.”
(Martin Splitt, Webmaster Trends Analyst)

4.Displaying Results
The search engine presents the most relevant and high-quality web pages based on the ranking algorithm.
The results are typically displayed on a search engine results page (SERP), with each result consisting of a
title, a brief description, and a URL. Users can click on the search results to access the respective web pages.

5.Continuous Updates
Search engines continuously update their indexes to ensure they have the latest information from the web.
Crawlers revisit web pages periodically to check for changes, such as new content or updated metadata. This
ensures that search results remain relevant and up to date.

pg. 72
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Search Engine Algorithm

The search engine algorithm is a term used to define a complex system of several algorithms that evaluates
all the indexed pages and determines which of them should appear in the search results for a given query.

For example, the Google algorithm uses dozens of factors (many of them are well-known, while some of
them are kept a secret) in several areas such as:

Meaning of the query (understanding what the user means by using the exact words they used, what is the
search intent, etc.)
Page relevance (the search engine needs to find out whether the page answers the search query)
Content quality (the algorithms determine whether the webpages are an excellent source of information
based on internal and external factors; number and quality of backlinks are important factors here)
Page usability (considers the quality of webpage from the technical standpoint – responsiveness, page speed,
security, etc.)

Search Engine Architecture


Basic Search Engine Architecture Conceptually Search Engine retrieves a URL according to query of a user
can be achieved in the given steps:
Client gives the query (keyword) to the Query Engine.
But in the background, crawler works. Crawler fetches the data from the WWW and store in the
database. It is store up to end mark, it finds out all in links and out links.
Then index module indexed the data, text store in the database and structure in the structure database.
Collection analysis module collect the data from the database and indexed data, then analysis the
utility data.

pg. 73
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Examples of search engines

1. Google: Created by Larry Page and Sergei Brin in 1996, it is considered the largest search engine in
the world.
2. Bing: owned by Microsoft, formerly known as Live Search, Windows Live Search, and MSN Search.
3. Yahoo: Currently uses the Bing engine in its searches.
4. Baidu: is the main Chinese search engine, with more than 600 million users.
5. Yandex: search engine for Russia and Russophone countries.
6. DuckDuckGo: is an alternative to search engines focused on ensuring the privacy of its users.
7. Ask: It was launched in 1996 and was originally known as Ask Jeeves. It includes support for
match, dictionary, and conversation question.
8. AltaVista: It was launched by Digital Equipment Corporation in 1995. Since 2003, it is powered
by Yahoo technology.
9. AOL.Search: It is powered by Google.
10. LYCOS: It is top 5 internet portal and 13th largest online property according to Media Matrix.
11. Alexa: It is subsidiary of Amazon and used for providing website traffic information.

Search Engines Query Process

Query process comprises of the following three tasks:


User interaction
It supporst creation and refinement of user query and displays the results.
Ranking
It uses query and indexes to create ranked list of documents.
Evaluation
It monitors and measures the effectiveness and efficiency. It is done offline.

Search engine optimization (SEO)

Search engine optimization (SEO) is a process of optimizing your website with the goal of improving your
rankings in the search results and getting more organic (non-paid) traffic.

pg. 74
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The history of SEO dates back to the 90s when search engines emerged for the first time. Nowadays, it is an
essential marketing strategy and an ever-growing industry.
Search engine optimization focuses only on organic search results and does not include PPC optimization.
Both SEO and PPC are part of Search Engine Marketing.

The search engines are used by internet users when they are searching for something.
And you want to provide the answer to that something. It doesn’t matter whether you sell a product or
service, write a blog, or anything else, search engine optimization is a must for every website owner.

There are three key aspects of SEO:

Technical stuff – The bowl represents all the technical aspects you need to cover (often referred to as
technical or on-page SEO). Without a proper bowl, there would be nothing to hold the soup.
Great content – The soup represents the content of your website – the most important part. Low-
quality content = no rankings, it is that simple.

pg. 75
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Quality backlinks – The seasoning represents the backlinks that increase the authority of your
website. You can have great content and a perfectly optimized website but ultimately, you need to
gain authority by getting quality backlinks – the last ingredient to make your SEO soup perfect.

Ranking Factors

Ranking factors are signals search engines use to sort the search results according to their quality and
relevance to the particular query.
Search engine optimization is basically optimizing the websites according to these signals in order to
improve the rankings.
Here are some examples of ranking factors that search engines consider for search engine optimization
(SEO):
Keyword Relevance
Search engines analyze the presence and relevance of keywords on web pages to determine their
topical relevance for specific search queries.
Content Quality
High-quality, well-written, and informative content that provides value to users is favored by search
engines.
Page Loading Speed
Fast-loading web pages are prioritized as they offer a better user experience. Optimizing page speed
by minimizing file sizes and leveraging caching techniques can improve rankings.
Mobile-Friendliness
With the increasing use of mobile devices, search engines prioritize websites that are mobile-
friendly and offer a responsive design.
Backlinks
The number and quality of backlinks pointing to a website are considered as indications of its
authority and popularity.
User Experience
Factors such as low bounce rate, longer dwell time, and user engagement metrics contribute to a
positive user experience, which can positively impact rankings.
Metadata Optimization
Optimizing meta titles, descriptions, and header tags with relevant keywords can improve the
visibility and click-through rate in search results.
Social Signals

pg. 76
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Social media presence, engagement, and shares can indirectly impact rankings by increasing brand
visibility and driving traffic to the website.
Site Architecture
A well-structured website with clear navigation and organized content makes it easier for search
engines to crawl and understand the site's structure.

Local SEO Factors


For location-based searches, factors like consistent NAP (name, address, phone number)
information, local citations, and Google My Business optimization play a crucial role.

pg. 77
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The effect of search engines on website performance is significant in driving organic traffic and improving
online visibility. For the Arogya Hospital Management System (HMS), implementing search engine
optimization (SEO) strategies can enhance its index value and search engine rankings.

1.Importance of Search Engines


Search engines like Google, Bing, and Yahoo are widely used by users to find information, including
healthcare services. Being visible on search engine results pages (SERPs) increases the chances of attracting
potential patients and increasing website traffic.

pg. 78
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

2.Keyword Research
Conducting thorough keyword research specific to healthcare and hospital-related terms can help optimize
the website's content. By incorporating relevant keywords into page titles, headings, meta descriptions, and
throughout the content, the site's visibility in search results can be improved.

3.On-Page Optimization
Optimizing the website's structure, URL structure, and internal linking can enhance search engine
crawlability and user experience. Including keywords in page URLs, optimizing meta tags, and organizing
content into logical sections can contribute to better indexing and ranking.

4.High-Quality Content
Creating informative and engaging content related to Arogya Hospital's services, expertise, and patient
resources can attract users and improve search engine rankings. Publishing blog articles, patient education
materials, and case studies can help establish the site as a reliable source of healthcare information.

5.Local SEO
Implementing local SEO strategies, such as optimizing the site for location-based keywords, creating a
Google My Business profile, and obtaining online reviews, can improve visibility for users searching for
healthcare services in the specific geographical area served by Arogya Hospital.

6.Mobile Optimization
Ensuring the website is mobile-friendly and responsive is crucial, as search engines prioritize mobile-
friendly sites in their rankings. Optimizing the site's design, layout, and load speed for mobile devices can
enhance user experience and search engine performance.

7.Link Building
Acquiring high-quality backlinks from reputable healthcare websites and directories can enhance the site's
authority and credibility. Partnering with local healthcare organizations, participating in industry events, and
creating shareable content can attract valuable inbound links.

8.Analytics and Monitoring


Regularly monitoring website performance using tools like Google Analytics provides insights into user
behavior, traffic sources, keyword performance, and more. Data analysis can help identify areas for
improvement, track the effectiveness of SEO efforts, and refine strategies over time.

pg. 79
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Evidence-based support can be provided through case studies showcasing the success of SEO strategies in
improving rankings and driving relevant traffic to healthcare websites. Additionally, citing industry research
and statistics on the impact of search engines on healthcare-related online searches and patient behavior can
strengthen the argument for SEO implementation.

1.3 Identify and explain the common web development technologies and frameworks. Explain the tools and
techniques chosen to develop the above web application and justify your choice by providing valid evidences.

Web Development Technologies and Frameworks

pg. 80
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Web development technologies refer to the various tools, languages, frameworks, and technologies used to
create, build, and maintain websites and web applications. These technologies encompass both client-side
(front-end) and server-side (back-end) components, allowing developers to design and implement visually
appealing, interactive, and functional web solutions. Examples of web development technologies include
HTML, CSS, JavaScript, PHP, Python, front-end frameworks like React or Angular, back-end frameworks
like Express.js or Django, and database technologies such as MySQL or MongoDB. These technologies
enable developers to handle different aspects of web development, including user interface design, data
manipulation, server-side processing, and database integration.

The purpose of web development technologies is to provide the necessary tools and languages for creating,
designing, and implementing websites and web applications. These technologies enable developers to build
functional, interactive, and visually appealing web solutions that cater to user needs and provide a seamless
user experience.

Web development technologies serve different purposes, such as:

 Structuring and organizing web content (HTML)


 Styling and formatting web pages (CSS)
 Adding interactivity and dynamic features (JavaScript)
 Handling server-side functionality and data processing (server-side scripting languages like PHP,
Python, Ruby, Java, C#)
 Manipulating and storing data (databases like MySQL, MongoDB)
 Building complex web applications and frameworks (Angular, React, Vue.js, ASP.NET)
 Managing server-side execution and scalability (Node.js)
 Overall, the purpose of web development technologies is to empower developers to create powerful,
secure, and efficient web solutions that meet the specific requirements of businesses, organizations,
and individuals.

Main Duties of Web Development Technologies

web development technologies provides the necessary tools, languages, frameworks, and resources to create
and maintain websites and web applications. These technologies enable developers to design, build, and
deploy web-based solutions that meet the needs of businesses and users.

Web development technologies have several key responsibilities:

pg. 81
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 Structuring and organizing content: Technologies like HTML (Hypertext Markup Language) define
the structure and layout of web pages, allowing developers to organize and present information
effectively.

 Styling and formatting: Cascading Style Sheets (CSS) are used to apply visual styles, including
colors, fonts, and layouts, to enhance the appearance of web pages.

 Interactivity and user experience: Client-side scripting languages such as JavaScript enable the
creation of interactive elements, animations, and user-friendly features that enhance the overall user
experience.

 Server-side processing: Server-side scripting languages like PHP, Python, and Ruby handle server-
side processing tasks, such as data retrieval, business logic implementation, and interaction with
databases.

 Data management: Web development technologies work with databases to store, retrieve, and
manipulate data required for web applications. This includes managing user profiles, product
catalogs, and other application-specific data.

 Frameworks and libraries: Web development frameworks, such as Angular, React, and Vue.js,
provide pre-built components and tools that streamline development processes, promote code
reusability, and enforce best practices.

The ultimate goal of web development technologies is to empower web developers to create robust, scalable,
and user-friendly websites and web applications that meet the requirements of businesses and provide
engaging experiences for users.

pg. 82
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

There are two main categories of coding, scripting and programming for creating Web Applications:

I. Client Side Scripting / Coding - Client Side Scripting is the type of code that is executed or interpreted by
browsers.

Client Side Scripting is generally viewable by any visitor to a site (from the view menu click on "View
Source" to view the source code).

Below are some common Client Side Scripting technologies:


 HTML (Hypertext Markup Language)- Used for creating the structure and content of web pages.
 CSS (Cascading Style Sheets)- Used for styling and formatting the visual appearance of web pages.
 JavaScript- A client-side scripting language used for interactive features and behavior on web pages.
 PHP (Hypertext Preprocessor)- A server-side scripting language used for dynamic web page
generation and server-side functionality.

pg. 83
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 Python-A versatile server-side scripting language used for web development, data manipulation, and
more.
 Ruby- A dynamic, object-oriented scripting language often used in web development, particularly
with the Ruby on Rails framework.
 Java- A widely used programming language that can be used for both client-side and server-side
development.
 C# (C-Sharp)- A programming language used for developing web applications on the Microsoft
.NET framework.

II. Server Side Scripting / Coding - Server Side Scripting is the type of code that is executed or interpreted
by the web server.

Server Side Scripting is not viewable or accessible by any visitor or general public.

Below are the common Server Side Scripting technologies:


 PHP (very common Server Side Scripting language - Linux / Unix based Open Source - free
redistribution, usually combines with MySQL database)
 Zend Framework (PHP's Object Oriented Web Application Framework)
 ASP (Microsoft Web Server (IIS) Scripting language)
 ASP.NET (Microsoft's Web Application Framework - successor of ASP)
 ColdFusion (Adobe's Web Application Framework)
 Ruby on Rails (Ruby programming's Web Application Framework - free redistribution)
 Perl (general purpose high-level programming language and Server Side Scripting Language - free
redistribution - lost its popularity to PHP)
 Python (general purpose high-level programming language and Server Side Scripting language - free
redistribution)

pg. 84
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Web Development Framework

A web development framework is a pre-written set of software tools, libraries, and guidelines designed to
make web application development faster, easier, and more efficient. It provides a standardized structure and
rules for building web applications, saving developers time and effort by handling everyday and repetitive
tasks, such as routing, database interaction, session management, and authentication.

Web development frameworks are available for front-end and back-end development that support a wide
range of features and functions, including UI components, data binding, server-side processing, and content
management. They are accessible in several programming languages. Developers have a variety of web
development frameworks to choose from depending on their project’s particular needs. Using a web
development framework can assist in ensuring that the finished product is scalable, reliable, and
maintainable due to the standardized approach to development it offers.

Main Functions of Web Frameworks

Improves Code Efficiency & Reusability Web frameworks offer a fast, efficient, and
responsive coding environment for the developers
Reduce Complexity and Eliminate Error The framework streamlines the development
process and avoids errors and bugs.
Bootstrap Development A variety of tools and packages are available to
help developers jumpstart their development
processes. The use of frameworks prevents
programmers from writing all scripts from scratch.
Reduce Code Length Frameworks eliminate the need to write lengthy
code lines for adding standard functionality to a
website. By providing code generation features,
frameworks simplify and condense the
development process for developers.
Reduce Work-Labor frameworks offer tools and functions that enable
developers to automate traditional tasks like URL
mapping, authentication, caching, etc., which in
turn reduces work-labor.
Better Security Frameworks can be used to protect websites against
cyberattacks
Easy Debugging and Maintenance Most frameworks include built-in testing and
debugging capabilities.

pg. 85
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The two types of web frameworks are:

1.Client-side framework

A client-side framework is used for dealing with user interfaces. The frontend of a web application is the
part you see and interact with. A website’s user experience is of paramount importance to any business.
Although complex operations and functions may occur in the background, what users experience and see
must be seamless. In order to do this, frontend frameworks are used that facilitate the development of
interactive, user-centric websites.

Angular A comprehensive JavaScript framework for building


scalable and feature-rich web applications.

React A popular JavaScript library for building user


interfaces, known for its component-based
architecture.

Vue.js An approachable and versatile JavaScript framework


for building interactive web interfaces.

Ember.js A robust JavaScript framework that emphasizes


convention over configuration for creating ambitious
web applications.

Backbone.js A lightweight JavaScript library that provides structure


to web applications by offering models, views, and
collections.

Svelte A compile-time framework that converts declarative


components into efficient JavaScript code for high-
performance web applications.

Preact A fast and lightweight alternative to React, offering a


similar API and ecosystem.

pg. 86
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

LitElement A lightweight base class for creating fast and efficient


web components using modern web standards.

Alpine.js A minimalistic JavaScript framework for building


interactive and behavior-driven web interfaces.

ASP.NET Core A cross-platform, open-source framework for building


modern web applications using C# or F#.

jQuery A fast and concise JavaScript library that simplifies


HTML document traversal, event handling, and
animation.

Semantic UI A user interface framework that provides ready-to-use


components with a focus on human-friendly HTML.

Foundation A responsive front-end framework that offers a


flexible grid system and a variety of pre-designed
components.

Knockout. A JavaScript library that enables declarative bindings


between data models and HTML elements for dynamic
UI updates.

Tailwind CSS A utility-first CSS framework that provides a set of


CSS classes for building custom and responsive
designs.

2.Server-side framework

Frameworks for backend web development are nothing more than libraries of modules and tools that assist
developers in creating website structures. The backend consists of the server, the database, and the code that
interacts with them. A server-side framework ensures that the website functions smoothly in the background.

pg. 87
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

They simplify the common web development tasks such as URL routing, database interaction, user
authentication, enhanced security, push notifications, etc.

Express.js A fast and minimalist web application framework


for Node.js, known for its simplicity and flexibility.

Next.js A React framework that enables server-side


rendering and simplifies building production-ready
web applications.

Django A high-level Python web framework that follows


the model-view-controller (MVC) architectural
pattern.
Ruby on Rails A popular web framework written in Ruby that
emphasizes convention over configuration for
building web applications.

Laravel A PHP framework that provides an expressive


syntax and a robust set of tools for web application
development.

Gatsby A static site generator that uses React and GraphQL


. to build blazing-fast websites.

Nuxt.js A Vue.js framework that enables server-side


rendering and simplifies the creation of universal
web applications.
Spring A Java framework that provides comprehensive
infrastructure support for building enterprise-level
web applications
Koa A lightweight Node.js framework that uses
async/await to simplify the creation of web
applications.
Nest.JS A TypeScript-based framework for building
efficient and scalable server-side applications using
Node.js.

pg. 88
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Flask A micro web framework written in Python that


focuses on simplicity and extensibility.

Phoenix A web framework for the Elixir programming


language, designed for building scalable and fault-
tolerant applications.

CakePHP A PHP framework that offers a flexible architecture


and a set of conventions for rapid web application
development.

Meteor A full-stack JavaScript framework that enables


building real-time web applications with ease.

Hapi A rich framework for building applications and


services in Node.js, known for its configuration-
centric approach.

Web Designing Tools and Techniques

Web Designing Tools

Web designing tools refer to software or applications that aid in the creation, editing, and management of
websites and web content. These tools provide designers with a range of features and functionalities to
design visually appealing and functional websites. They often include features like drag-and-drop editors,
templates, image editors, color pickers, typography tools, and code editors. Web designing tools are used by
web designers and developers to create and customize layouts, graphics, animations, and interactive
elements for websites.

Exaples for web Designing Tools..

1. Visual Studio Code: A lightweight code editor with a wide range of features and extensions, ideal for
web development.
2. React: A JavaScript library for building user interfaces with a component-based approach, enabling
reusable and efficient UI development.
3. Node.js: A server-side JavaScript runtime environment that allows for scalable and high-performance
web application development.
4. Express.js: A minimal and flexible web application framework for Node.js, providing robust features
for building APIs and web servers.

pg. 89
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

5. MongoDB: A NoSQL database that offers scalability and flexibility for storing and retrieving data in
web applications.
6. Git: A distributed version control system that enables collaborative development and easy
management of code changes.
7. Postman: A powerful API testing and documentation tool, facilitating the development and
debugging of web APIs.
8. Bootstrap: A popular CSS framework that provides responsive design templates and components for
building visually appealing web interfaces.
9. Redux: A predictable state management library for JavaScript applications, making it easier to
manage and update application state.
10. Sass: A CSS preprocessor that adds features and modularity to CSS, allowing for more efficient and
maintainable styling of web applications.
11. Jest: A JavaScript testing framework that provides an easy-to-use API for writing unit tests, ensuring
code reliability and preventing regressions.
12. Firebase: A comprehensive backend-as-a-service platform that offers features like authentication,
database, hosting, and cloud functions, simplifying backend development for web applications.

Web Designing Techniques

Web designing techniques encompass various approaches, strategies, and methods employed by web
designers to create visually appealing and user-friendly websites. These techniques involve the use of design
principles, coding languages, and technologies to achieve specific design goals. Some common web
designing techniques include responsive design, typography, color theory, grid systems, navigation design,
image optimization, accessibility considerations, and user experience (UX) design. Web designers use these
techniques to create websites that are aesthetically pleasing, functional, accessible, and optimized for
different devices and user interactions.

1. Responsive Design: Designing websites that adapt and respond to different screen sizes and devices
for optimal user experience.
2. User Interface (UI) Design: Focusing on the visual and interactive elements of the website to create
an intuitive and aesthetically pleasing user interface.
3. User Experience (UX) Design: Enhancing the overall user experience by understanding user
behavior, needs, and goals to optimize website usability.
4. Wireframing: Creating visual representations of website layouts and structures to plan and organize
content and functionality.
5. Prototyping: Building interactive and functional models of the website to test and validate design
concepts and user interactions.

pg. 90
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

6. Typography: Selecting and styling fonts to improve readability, hierarchy, and visual appeal of the
website's text content.
7. Color Theory: Applying principles of color harmony and psychology to choose an effective color
palette that aligns with the website's branding and objectives.
8. Image Optimization: Optimizing images to reduce file size without compromising quality to improve
website loading speed and performance.
9. Accessibility: Designing and implementing features that ensure the website is accessible to users
with disabilities, following accessibility standards and guidelines.
10. Information Architecture: Organizing and structuring website content in a logical and intuitive
manner, facilitating easy navigation and information retrieval.
11. Grid Systems: Using grid layouts to create a consistent and visually balanced website design,
aligning content and elements based on a grid structure.
12. Mobile-First Design: Prioritizing mobile devices in the design process to ensure the website is
optimized for smaller screens and touch interactions.

To develop the web application for Arogya Health Care hospital's management system, a selection of
common web development technologies and frameworks is recommended. These technologies and
frameworks offer robust solutions to effectively handle the critical information and streamline hospital
operations. HTML, CSS, and JavaScript form the foundation for creating the user interface and enhancing
interactivity. PHP, as a server-side scripting language, provides versatility and extensive libraries for
managing patient information, staff scheduling, and room availability. MySQL, an open-source relational
database, ensures efficient data storage and retrieval for patient information and invoices.

The Laravel framework, known for its power and elegance, offers a comprehensive development
environment with features like database migrations, routing, authentication, and templating, making it
suitable for the complex hospital management system. JavaScript frameworks such as Angular, React, or
Vue.js contribute to dynamic and responsive user interfaces through reusable components and data binding.
Content management systems like WordPress or Drupal can facilitate easy content management by non-
technical staff for website updates.

Version control systems like Git enable effective collaboration among developers, ensuring code tracking,
version management, and rollbacks. Testing and debugging tools such as PHPUnit, Selenium, or Cypress
can be employed to validate the web application's functionality and eliminate bugs or errors. These chosen
tools and technologies are justified based on their widespread adoption, community support, and proven
success in web development. They provide efficient solutions for managing patient information, scheduling,

pg. 91
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

and invoicing, while offering scalability and flexibility for future enhancements. Moreover, their popularity
ensures easier maintenance, code reusability, and a large talent pool of developers experienced in these
technologies.

pg. 92
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Task 2 - Categories website technologies, tools and software used to develop websites (LO2)

2.1 Considering the requirments given in the above scenario define the relationships between front-
end and back-end website technologies and discuss how the front-end and the back-end relate to
presentation and application layers.

Front End Development

“Front end development manages everything that users visually see first in their browser or application.
Front end developers are responsible for the look and feel of a site.”
Front-end development is the section of the web that users interact with. This includes everything that users
can see, experience, and touch. It represents the graphical user interface with various icons such as the
navigation menu, videos, and images.
This type of development is also called the ‘client-side’ since it enhances direct interaction with users. Front-
end developers enhance the attractiveness of web pages by building sites that are user-friendly and easy to
use.

Important of the Frontend

The frontend represents someone's (or a team's) idea, vision, and a dream come to life, available for the
world to see and witness.
The idea needs to be represented in the right way and be visually appealing. It will be the determining factor
of how others will perceive it.
A company or organization with a site that is difficult to use and navigate through, which doesn't look good,
and does not present its services nicely, will lose customers and clients.
Users will become frustrated due to the lack of usability, the unpleasant user experience, and the lack of
good design. They will end up searching elsewhere for what they were looking for and will most likely not
return to that site again.

Front End Programming Languages

Front end languages include HTML, CSS, and Javascript. While JQuery is going out of style (modern
browsers can now do the same work, but much more quickly than jQuery), many legacy projects still use
JavaScript library, so don't be surprised to see it on a bootcamp's curriculum. You’ll also learn tons about
responsive design along with typography, layouts, grid system, and color theory. When anticipating types of

pg. 93
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

projects you’ll work on as a front end developer, think creating and redesigning websites. In order to be a
front end developer (sometimes even called a Javascript developer) you do not need back end development
skills. Sites created by front end developers won’t interact with information stored on a database in order to
be functional. The content will be “fixed,” meaning that large pieces of new data will not be constantly
uploaded. Small business owners and restaurants usually have great examples of static sites.

Functions of Front End Development

User Interface (UI) Front-end developers collaborate with designers to create visually appealing
Design and intuitive user interfaces. They translate design concepts into actual web
layouts using HTML, CSS, and JavaScript.
HTML Markup Front-end developers use HTML (Hypertext Markup Language) to structure
the content of web pages. HTML provides the foundation for organizing and
presenting text, images, forms, and other elements.

CSS Styling Cascading Style Sheets (CSS) are used to define the visual appearance of web
pages. Front-end developers leverage CSS to apply styles, colors, layouts, and
animations to HTML elements, ensuring a consistent and visually appealing
design.
JavaScript JavaScript is a programming language that enables interactivity and dynamic
Implementation behavior on web pages. Front-end developers utilize JavaScript to add
interactive features, handle user events, validate input, and fetch data from
servers.

Responsive Design Front-end developers focus on creating websites that are responsive and
adaptable to different screen sizes and devices. They employ responsive design
techniques, such as media queries and flexible layouts, to ensure optimal user
experience across desktops, tablets, and mobile devices.

Cross-Browser Front-end developers ensure that websites work consistently across different
Compatibility web browsers and platforms. They test and optimize web pages to provide a
seamless experience for users regardless of their chosen browser.

Performance Front-end developers optimize websites for performance by optimizing code,


Optimization compressing files, caching resources, and minimizing load times. This ensures
fast and efficient page loading, improving user experience and search engine

pg. 94
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

rankings.
Accessibility Front-end developers strive to make websites accessible to all users, including
those with disabilities. They follow web accessibility standards and implement
practices like semantic HTML, proper labeling, and keyboard navigation to
ensure equal access to information.

Collaboration Front-end developers work closely with designers, back-end developers, and
other stakeholders to bring the website vision to life. They collaborate to
integrate design elements, implement functionality, and ensure a cohesive user
experience.

Continuous Learning Front-end development is a rapidly evolving field. Front-end developers need
and Adaptation to stay updated with the latest web technologies, frameworks, and best
practices. They continually learn and adapt to new trends and tools to deliver
modern and cutting-edge web experiences.

Examples for front end development

Angular A comprehensive framework for building web applications. It provides a powerful


templating system, two-way data binding, and dependency injection to simplify front-
end development.

React A popular JavaScript library for building user interfaces. It allows developers to create
reusable UI components and efficiently manage the application state.

Vue.js A progressive JavaScript framework for building user interfaces. It focuses on simplicity
and allows developers to incrementally adopt its features based on project requirements.
HTML5 The latest version of HTML, which includes new elements, attributes, and APIs for
building modern web applications with enhanced multimedia support.

CSS3 The latest version of CSS, which introduces new styling features, such as animations,
transitions, and flexible box layout, enabling more creative and responsive web design.
JavaScript A versatile programming language that powers interactivity and dynamic behavior on
web pages. It allows developers to manipulate DOM elements, handle user events, and
fetch data from servers.

Bootstrap A widely used CSS framework that provides a responsive grid system, pre-styled

pg. 95
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

components, and a variety of utility classes, making it easy to create visually appealing
and mobile-friendly websites.
jQuery A fast and lightweight JavaScript library that simplifies DOM manipulation, event
handling, and AJAX requests, allowing developers to write concise and efficient code.

Sass A CSS preprocessor that extends the capabilities of CSS with variables, mixins, nesting,
and other advanced features, making CSS code more maintainable and reusable.
Gatsby A static site generator that combines React and GraphQL to build blazing-fast websites.
It offers pre-rendering, code splitting, and other optimizations for optimal performance.

Back End Development

Back-end development is the section of the web that cannot be seen by users. Users cannot interact with this
part. This part handles various behind-the-scene activities such as creating libraries, coding, and writing
APIs. It involves a higher level of collaboration when compared to front-end development.
This type of development can also be termed as ‘server-side’ since it provides the functional support of web
applications. The presentation layer of a web page cannot function without back-end development. The
server-side communicates with the client-side to enable the web application to function well.

Back-end developer tasks and responsibilities


Back-end developers are required to have technical expertise, analytical thinking, and excellent
collaboration skills. As a back-end web developer, you should be able to work independently to design the
web infrastructure.

1. Build and maintain websites - A back-end developer’s main responsibility is to use various tools,
frameworks, and languages to determine how best to develop intuitive, user-friendly prototypes and

pg. 96
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

turn them into websites. This requires an understanding of cross-platform functionality and
compatibility.

2. Write high-quality code - To produce sustainable web applications, developers must write clean and
easily maintainable code.

3. Perform quality assurance (QA) testing- Create and oversee testing schedules to optimize user
interface and experience, ensuring optimal display on various browsers and devices.

4. Assess efficiency and speed- Once a website is up and running, and during updates and edits,
developers need to assess its performance and scalability, adjusting code as necessary.

5. Troubleshoot and debug- Be able to troubleshoot issues and resolve them, while communicating
them to project managers, stakeholders, and QA teams.

6. Train and support -Maintain workflows with client teams to ensure ongoing support, along with
leading training and mentorship for junior developers.

Tools for Back End Development with examples.

1. Programming languages- Back-end developers use languages like Python, PHP, JavaScript, Ruby,
Java, and C# to write server-side code.
2. Frameworks -They utilize frameworks such as Laravel, Django, Spring, Ruby on Rails, Meteor, and
Node.js to streamline and expedite web application development.
3. Databases- Back-end developers work with databases like MongoDB, MySQL, and Oracle to store
and manage data for web applications.
4. Servers- They deploy web applications on servers like Apache, NGINX, Lighttpd, or Microsoft IIS
to handle HTTP requests and serve web pages to users.

Importance of Back End Development

Data Back-end development handles the storage, retrieval, and management of data in
Management databases, ensuring the integrity and security of user information.
Business Logic Back-end developers implement the business rules and processes that drive the
application, enabling complex operations and workflows to be executed seamlessly.

pg. 97
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Performance and Back-end development optimizes the performance and scalability of the application
Scalability by efficient coding, database optimization, and server-side caching.
Security Back-end developers implement security measures to protect sensitive data, validate
user inputs, and prevent common vulnerabilities like SQL injection and cross-site
scripting.
Integration Back-end development involves integrating various third-party services, APIs, and
systems to enhance the functionality of the web application.
Customization Back-end development allows for customization and tailoring of the application to
and Flexibility meet specific business requirements, enabling dynamic content generation and
personalized user experiences.

Relationship Between Front End And Back End

 Presentation Layer
The front-end is primarily responsible for the presentation layer, which focuses on the user
interface and how the application looks and interacts with users. It deals with the visual
aspects, layout, design, and user experience of the website or application.

 Application Layer
The back-end handles the application layer, which involves the logic, functionality, and data
processing of the web application. It manages the business logic, database operations, server-
side processing, and integration with external systems.

User Interface The front end is responsible for creating the user interface that users interact with,
including the layout, design, and presentation of the web application.
User Interactions The front end handles user interactions such as button clicks, form submissions, and
input validations, providing a responsive and interactive experience for users.
Data Retrieval The front end sends requests to the back end to retrieve data from databases or
external APIs, allowing the application to dynamically display information to the
user.
Data Manipulation The back end processes and manipulates the data received from the front end,
performing tasks such as data validation, calculations, and applying business rules.
Data Storage The back end manages the storage and retrieval of data, typically using databases,

pg. 98
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

ensuring data integrity and providing efficient access to information.


Business Logic The back end implements the business logic of the application, handling complex
operations, workflows, and algorithms required for the application to function
properly.
Layered The front-end and back-end form layers in the web application architecture. The
Architecture front-end layer focuses on the user interface and presentation layer, while the back-
end layer handles the application logic and data management layer.
Security Both the front end and back end play crucial roles in ensuring the security of the
web application. The front end validates user inputs and implements client-side
security measures, while the back end handles server-side security, authentication,
and authorization.
Communication The front end and back end communicate with each other through APIs or HTTP
requests, allowing data exchange and synchronization between the client and server
sides.
Performance Both the front end and back end contribute to optimizing the performance of the
Optimization web application. The front end focuses on optimizing page load times, minimizing
rendering issues, and improving user experience. The back end optimizes database
queries, server-side processing, and caching mechanisms to enhance overall system
performance.
Collaboration Front-end and back-end developers work collaboratively, ensuring seamless
integration between the two sides, maintaining consistency in design, functionality,
and data exchange.

2.2 Discuss the differences between online website creation tools and custom-built web sites by
considering the design flexibility, performance, functionality, User Experience (UX) and User
Interface (UI). Evaluate the tools and techniques available to design the web application gicven in the
scenario.

Website Templates
A website template is a pre-made web page or a set of pages where any user can insert their content (text,
images, media) to get a publish-ready website.

In other words, web templates (also called ‘themes’) are basically ready-made design frameworks that only
require custom content to become full-fledged websites. They usually have everything one might need to
create a website, including design, layout, navigation menu, business-specific features, and so forth. Having

pg. 99
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

such a foundation available out of the box allows users to skip all the complex technical stages associated
with web development ‘from scratch.’ Besides, using a website template effectively minimizes the launch
time of an online project.

How do website templates work?

While creating a website from scratch might sound like a lot of work, using a template can help you quickly
get started with a homepage.
When choosing a website template, keep in mind the purpose of your website as a whole. You can choose a
template specifically designed for a small business website, for freelancers showcasing artwork, or page
templates for displaying blog posts. Once you’ve chosen a website template that’s tailored to your needs,
you can decide how and to what extent you want to customize your website’s functionality and design
template.
You can stay as close to the original template design as you’d like, simply swapping out the demo content
with your own images and text. You can also venture outside the original design of the template by adding
your own page content, header and inline images, color palettes, and fonts.
If you have some web development experience, you can take your customization even further by adding
CSS code to your new website. Using website templates gives you a head start on the design and
development work, so you need less custom code to create the user experience you want.

Popular Examples Of Frameworks And Templates For Web Development

1. Bootstrap - Bootstrap is a popular front-end framework that provides a comprehensive set of tools
and components for building responsive websites. It offers a grid system, pre-designed UI
components, and customizable themes.

2. Foundation - Foundation is a responsive front-end framework that offers a similar set of features to
Bootstrap. It provides a grid system, pre-designed components, and a flexible architecture for
building modern websites.

3. Material-UI - Material-UI is a React-based framework that implements the Material Design


principles by Google. It offers a wide range of pre-designed components with a modern and clean
aesthetic.

pg. 100
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

4. Semantic UI - Semantic UI is a user interface framework that focuses on using human-friendly


HTML to create intuitive and responsive layouts. It provides a comprehensive set of UI components
for building visually appealing websites.

5. Bulma - Bulma is a lightweight CSS framework that offers a flexible and modular structure for
building responsive websites. It provides a variety of components and utilities that can be easily
customized.

6. Tailwind CSS - Tailwind CSS is a utility-first CSS framework that allows developers to quickly build
responsive layouts by composing utility classes. It offers a highly customizable and scalable
approach to web development.

7. UIKit - UIKit is a lightweight and modular front-end framework that provides a wide range of
components and utilities. It is known for its simplicity and ease of use.

8. Materialize CSS - Materialize CSS is a modern responsive CSS framework based on Google's
Material Design guidelines. It offers a comprehensive set of components and styles for building
visually appealing websites.

Custom-Built Web Sites

A custom website refers to a website that is uniquely designed and developed to meet the specific
requirements of a business or individual. Unlike using pre-designed templates or themes, a custom website
is built from scratch or tailored extensively to suit the brand identity, functionality, and desired user
experience of the client.

With a custom website, every aspect of the design and development can be personalized to align with the
client's goals and target audience. This includes choosing the layout, color scheme, typography, and
incorporating specific features or functionalities that are essential for the business.

Custom websites offer several advantages, such as:

 Unique Brand Identity - A custom website allows businesses to create a unique online presence that
reflects their brand identity and values.
 Tailored Functionality - Custom websites can be developed with specific features and functionalities
that are tailored to the unique needs of the business or industry.
 Scalability and Flexibility - Custom websites can be built to scale as the business grows,
accommodating future needs and expansion.
 Enhanced User Experience - With a custom website, user experience can be prioritized and
optimized to provide a seamless and engaging browsing experience for visitors.

pg. 101
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 Search Engine Optimization (SEO) - Custom websites can be optimized for search engines, making
it easier for potential customers to find the website and improve its visibility in search results.
 Greater Control and Ownership - Unlike using pre-designed templates, a custom website gives the
business full control and ownership over the design, content, and functionality of the site.

While custom websites require more time and resources compared to using pre-designed templates, they
offer the advantage of uniqueness, tailor-made solutions, and a more personalized online presence that can
help businesses stand out and achieve their specific goals.

Key Difference of Template Website and Custom-Built Web Sites


Template Website Custom-Built Web Sites
Flexibility Template websites have limited Custom-built websites offer high
flexibility in terms of design and flexibility in terms of design and layout
layout customization since they are customization. Designers and developers
based on pre-designed templates. have full control over the website's
The options for modifying the appearance and can create unique and
design elements are often restricted tailored designs that align with the brand
to the features provided by the identity and specific requirements of the
template. business.
Performance Template websites may have varying Custom-built websites can be optimized
performance depending on the for performance by implementing
quality and efficiency of the efficient code, optimizing images, and
template code. However, since the minimizing unnecessary dependencies.
template is shared among multiple Developers have the flexibility to fine-
websites, it may contain unnecessary tune the website's performance based on
code or dependencies that can affect specific requirements, resulting in a
the website's performance. faster and more responsive website.
Functionality Template websites come with pre- Custom-built websites can incorporate
built features and functionalities that any desired functionality based on the
are included in the template. While business's specific needs. Developers
some templates offer a wide range of have the freedom to integrate custom
functionalities, they may not cater to features, third-party APIs, and plugins to
specific or unique requirements of a enhance the website's functionality and
business. Customization options for meet unique requirements.
functionality may be limited.
User Template websites may provide a Custom-built websites provide the
Experience decent user experience if the opportunity to create a seamless and
(UX) template is well-designed and tailored user experience. Designers and
optimized. However, the user developers can focus on user-centric
experience can be limited by the design principles, optimizing navigation,
predefined structure and features of interaction, and content presentation to
the template, making it challenging deliver an intuitive and engaging user
to tailor the user journey and flow experience.
according to specific user needs.
User Interface Template websites generally have With custom-built websites, designers
(UI) visually appealing user interfaces have complete control over the user
since they are created by interface, enabling them to create

pg. 102
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

professional designers. However, the visually stunning and cohesive designs


customization options for UI that align with the brand's aesthetics.
elements such as colors, typography, Custom UI elements, animations, and
and layout may be limited to the transitions can be implemented to
options provided by the template. enhance the overall user interface and
create a distinctive visual identity.
Design Template websites use pre-designed Custom-built websites offer unique and
templates or themes, resulting in a tailored designs to match the specific
standardized design. branding and requirements of the
business.
Customization Customization options are limited to Custom-built websites provide extensive
what the template offers, allowing customization options, allowing for a
only minor modifications to fit personalized user experience.
specific needs.
Cost Template websites are generally Custom-built websites are generally
more cost-effective since the design more expensive as they require more
work is already done. time and effort for design and
development.
Time Building a template website is Building a custom website takes longer
quicker as the design and structure as the design and development processes
are already in place. are done from scratch.
Uniqueness Template websites may lack Custom-built websites are unique and
uniqueness as multiple websites can stand out from the competition.
use the same template.
Features Template websites come with Custom-built websites can incorporate
predefined features and specific features and functionalities
functionalities, limiting based on the business's unique
customization options. requirements.
Maintenance Template websites require less Custom-built websites may require more
maintenance as updates and bug frequent maintenance as updates and
fixes are often provided by the bug fixes need to be handled by the
template provider. development team.

Comparison of Tools and Techniques for Template Website and Custom-Built Web Sites

Template Website Custom-Built Web Sites


 Website Builders - Website builders like  Programming Languages- Custom-built
Wix, Squarespace, or Weebly provide a websites require knowledge and expertise in
drag-and-drop interface and pre-designed programming languages such as HTML,
templates, allowing users to create websites CSS, JavaScript, and server-side languages
without coding knowledge. These platforms like PHP, Python, or Ruby. These languages
offer customization options within the are used to develop the website's structure,
limitations of the selected template. layout, and functionality.

 Template Marketplaces - Template  Integrated Development Environments


marketplaces like ThemeForest or (IDEs) - IDEs like Visual Studio Code,
TemplateMonster offer a wide range of pre- Sublime Text, or Atom provide a
designed website templates that can be comprehensive development environment
purchased and customized according to with features like code editing, debugging,

pg. 103
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

specific needs. These templates usually and version control, making it easier to
come with built-in functionality and design write and manage the website's code.
elements.
 Content Management Systems (CMS) -
 Content Management Systems (CMS) - Custom-built websites can leverage CMS
CMS platforms like WordPress, Joomla, or platforms like WordPress, Drupal, or
Drupal offer a variety of ready-to-use Joomla, which provide a framework for
templates that can be customized through content creation, management, and
the CMS interface. Users can choose from a customization. CMS platforms allow
wide range of templates and modify them to developers to build custom functionality on
suit their branding and content top of a flexible and scalable foundation.
requirements.
 Front-end Frameworks - Front-end
 Template Editors - Template editors within frameworks such as Bootstrap, Foundation,
CMS platforms or website builders allow or Materialize provide pre-designed
users to modify template designs, colors, components, responsive layouts, and CSS
typography, and layout using visual editors styling, which can speed up the
or theme customization options. These tools development process and ensure consistent
provide a user-friendly interface for making and visually appealing designs.
template-specific modifications.
 Back-end Frameworks - Back-end
 Visual Design Tools - Graphic design tools frameworks like Laravel (PHP), Django
like Adobe Photoshop, Sketch, or Canva can (Python), or Ruby on Rails (Ruby) provide
be used to customize images, graphics, and a structured approach to developing the
logos for template websites. These tools server-side functionality of the website.
allow users to create visually appealing These frameworks offer features like
content and tailor it to fit the template database integration, routing, and
design. authentication, making it easier to handle
complex backend tasks.

Task 3 - Utilize website technologies, tools and techniques with good design principles to create a
multipage website (LO3)

3.1 Design a suitable web application solution for the given scenario using PHP, JS and MySQL
(Screenshots of important code lines with proper comments and user interfaces filled with sample data must
be attached to the documentation). Apply a database design for the proposed system and provide the well
normalized database design of the proposed system. Provide evidences of the design, multipage website
supported with fidelity wireframes and a full set of client and user requirements.

Wireframe

A wireframe is a two-dimensional illustration of a page’s interface that specifically focuses on space


allocation and prioritization of content, functionalities available, and intended behaviors. For these reasons,
wireframes typically do not include any styling, color, or graphics. Wireframes also help establish
relationships between a website’s various templates.

pg. 104
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The use of Wireframes


 Connect the site’s information architecture to its visual design by showing paths between pages
 Clarify consistent ways for displaying particular types of information on the user interface
 Determine intended functionality in the interface
 Prioritize content through the determination of how much space to allocate to a given item and where
that item is located

The 3 Types Of Wireframes

Much like prototypes, wireframes are made with varying levels of fidelity. Fidelity simply means how
precisely a wireframe lines up with the final product. Different fidelities of wireframes have different uses,
functionality, visual design and content.
Regardless of fidelity, nearly all wireframes include pseudo-Latin placeholder text, headers, search fields,
image placeholders, logos, share buttons and menus. Most wireframes are created in shades of grey to
represent colours but keep it simple.

Three Most Commonly Used Wireframes.

 Low-fidelity wireframes
Use: a starting point, mapping user flow, deciding navigation layout, explaining initial concepts
Low-fidelity wireframes, sometimes called lo-fi, are rough visual representations of a webpage or
app. This is usually what the designer starts with. They’re simple and don’t usually consider scale,
grid or pixel accuracy.
Lo-fi wireframes are often hand-drawn and don’t include actual content. Instead of images or text,
they’ll often have boxes with an X through them, basic labels or scribbles instead of actual text or
pictures. They also don’t include typography or colour in this phase.

 Mid-fidelity wireframes
Use: explore design ideas, establish spacing and buttons, establish user flow

pg. 105
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Unlike lo-fi wireframes, mid-fidelity wireframes provide more precise representations of the layout.
They still don’t include images, typography or detailed content. But more detail and attention are
dedicated to showing specific components and features clearly.
Mid-fidelity wireframes are still in black and white. But designers will often use different shades of
grey and different font weights to convey visual differences. This wireframe phase is usually created
with a digital design tool. Keep reading to learn more about the best tools for wireframing.

 High-fidelity wireframes
Use: exploring complex concepts, finalising design features for prototypes, user testing
High-fidelity wireframes, a.k.a. hi-fi, have pixel-specific layouts that are designed to scale. Hi-fi
wireframes are often presented as initial prototypes.
A high-fidelity wireframe will usually have actual images and written content that is proposed to
appear in later iterations of the app or webpage. High-fidelity wireframes are created using a digital
tool. They feature actual typography, detailed features and menu systems.

Top 7 wireframing tools


We rounded up the top 7 wireframing tools for you to try out and their benefits, so you don’t have to search.
We’ve listed them here in order of popularity.

1. Sketch
Sketch might be the most popular digital wireframing tool. Designers can combine artboards and vector
design shapes to create pixel-accurate wireframes efficiently. Unlike Balsamiq, there’s no UI library.
But once you create a UI element yourself, you can reuse it easily with the symbols feature. Plus, it allows
you to update styles across every view you’ve created which will save you so much time. Third parties offer
UI kits to make your wireframes even more detailed.

2. Balsamiq

pg. 106
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Balsamiq is another popular wireframing tools. Its interface is minimalist and clean. Balsmiq uses a static
canvas with drag-and-drop tools for a simple, but not pixel-perfect, experience. It also offers auto-alignment,
making it easy for even beginners to use. With a built-in UI component library, you can test out your design
on various screen sizes too.

3. Invision Freehand
Invision Freehand allows you to digitally create a “hand-drawn” wireframe using your cursor. Or you can
add basic images and shapes to a template. You can move your work from Invision Freehand over to Sketch
and Photoshop, too.

4. Photoshop
Photoshop is a more advanced option for wireframes. Designers can create pixel-perfect wireframes using
their own components or a third-party kit. This one has a steep learning curve, but once you understand it,
you’ll easily be able to create high-fidelity wireframes quickly and beautifully.

5. Marvel
If you don’t want to seek out UI components or make your own, Marvel offers pre-designed sections to help
you rapidly create wireframes and prototypes. It also has a handy comment feature, allowing your co-
workers to easily comment on your design.

6. Proto.io
Proto.io is a cloud-based prototyping tool that can be used for wireframing. Like Invision Freehand, multiple
designers can use Proto.io simultaneously, making it easy to collaborate. You can even seamlessly transfer
your designers to apps like UserTesting and Userlytics to gather feedback.

7. Figma
Figma provides a straightforward, rapid wireframing interface. It’s a browser-based tool that offers easy
visual organisation in the “layers” sidebar. Like Proto.io and Invision Freehand, you can collaborate with
your teammates in real time.

pg. 107
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

pg. 108
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Client Requirements Arogya Hospital Website

1. User-Friendly Interface: The website should have a user-friendly interface that allows easy
navigation and access to relevant information.

2. Patient Information Management: The website should provide a system for managing patient
information, including personal details, medical history, and treatment records.

3. Room Availability: The website should display the availability of rooms in the hospital, allowing
patients to check for room availability and make bookings if necessary.

4. Staff and Operating Room Schedules: The website should provide a system to manage and display
the schedules of hospital staff members and operating rooms, ensuring efficient allocation of
resources.

5. Patient Invoices: The website should generate and manage patient invoices, providing a transparent
and accurate billing system.

6. Appointment Scheduling: The website should offer a feature for patients to schedule appointments
with doctors or specific departments, streamlining the appointment booking process.

7. Mobile Responsiveness: The website should be mobile-responsive, ensuring that it functions and
displays properly on different devices, including smartphones and tablets.

8. Secure Data Handling: The website should prioritize data security and confidentiality, implementing
measures to protect patient information and comply with relevant privacy regulations.

9. Integration with Existing Systems: If the hospital has existing systems or databases, the website
should be designed to integrate seamlessly with them, ensuring smooth data exchange and workflow.

10. Accessible Design: The website should adhere to accessibility standards, making it accessible to
users with disabilities and complying with accessibility guidelines such as WCAG (Web Content
Accessibility Guidelines).

pg. 109
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

System Requirements for Arogya Hospital

 Web Server: The website should be hosted on a reliable web server capable of handling the expected
traffic and supporting the required technologies (e.g., PHP, JavaScript).
 Database Management System: The website should be integrated with a database management
system, such as MySQL, to store and retrieve data efficiently.
 Programming Languages: The website should be developed using PHP and JavaScript to enable
server-side and client-side functionalities.
 Responsive Design: The website should be compatible with multiple devices and screen sizes,
ensuring a responsive design that adapts to different resolutions.
 Security Measures: The website should implement security measures to protect sensitive
information, including encryption, user authentication, and secure data transmission.
 Scalability: The website should be designed to handle future growth and increased user demand,
allowing for scalability and performance optimization.

System Functions

 Patient Information Management: The system should allow for the efficient management and storage
of patient information, including personal details, medical history, and treatment records.
 Room Availability Management: The system should provide real-time information on room
availability, allowing staff to schedule and allocate rooms effectively.
 Staff and Operating Room Scheduling: The system should facilitate the scheduling and management
of staff members and operating rooms, ensuring efficient resource allocation.
 Patient Invoicing: The system should generate accurate and timely patient invoices based on the
services provided, ensuring proper billing and financial management.
 Appointment Scheduling: The system should enable patients to schedule appointments with doctors
or departments, providing a convenient and organized booking system.
 Reporting and Analytics: The system should generate reports and analytics on various aspects of
hospital operations, aiding in decision-making and performance evaluation.

Non-Functional Requirements

pg. 110
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 Performance: The system should be optimized for fast loading times and smooth performance,
ensuring a seamless user experience.
 Reliability: The system should be reliable and available to users at all times, minimizing downtime
and system failures.
 Security: The system should implement robust security measures to protect patient data and prevent
unauthorized access.
 User Experience: The system should prioritize user experience, providing an intuitive and user-
friendly interface that is easy to navigate and understand.
 Accessibility: The system should adhere to accessibility standards, ensuring that users with
disabilities can access and use the website effectively.
 Scalability: The system should be designed to accommodate future growth and handle increasing
user loads without significant performance degradation.

Loging Page

1. First Page – Welcome and Include the Details as bellow

1.Doctor and Staff 2. Patient Details 3. Room Availability 4.Facilities 5. Laboratory Services 6.Pharmacy
7.Laboratory 8.Radiology 9.Emergency Services 10.Help Center

. Doctor and Staff Details Page


Give all the interfaces , 25
3.Patient Information
3.1.Patient Registration Form
4.Room Availability

.Facilities Page
6.Laboratory Services

.Pharmacy

pg. 111
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

9.Radiology
11. Help Center

3.2 Compare and contrast the multipage website created to the design document. Use your design document
with appropriate principles, standards and guidelines to produce a branded, multipage website supported
with realistic content and Critically evaluate the web design ,development process against your design
document analyisng any technical challenges you faced during the development.

To compare and contrast the multipage website created with the design document, you need to analyze how
well the website aligns with the principles, standards, and guidelines outlined in the design document. Here
are the key steps to follow,

1. Review the Design Document- Go through your design document, which includes the proposed
functionalities, wireframes, client requirements, system requirements, and any other relevant
information.

2. Evaluate the Website Design: Assess the actual website against the design document. Consider the
following aspects,

• Layout and Structure: Check if the website layout and structure match the wireframes and design
specifications.
• Branding and Visuals: Evaluate if the website reflects the intended branding elements, such as color
scheme, logo placement, typography, and overall visual style.
• Navigation and User Experience: Test the website's navigation and user experience to ensure it is
intuitive, consistent, and meets the user requirements outlined in the design document.
• Content Integration: Verify that the website incorporates realistic content, including text, images,
videos, and other media, as per the design document.
• Responsiveness: Assess if the website is responsive and displays well on different devices and screen
sizes, as specified in the design document.
• Accessibility: Evaluate if the website adheres to accessibility guidelines, ensuring it is inclusive and
usable for people with disabilities.

3. Analyze Technical Challenges: Reflect on any technical challenges you encountered during the web
development process. Consider the following factors:

pg. 112
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

• Integration of Backend Functionality: Assess how well the backend functionalities, such as database
integration, form handling, and data retrieval, were implemented according to the design document.
• Performance Optimization: Evaluate if the website is optimized for performance, including page load
speed, server response time, and efficient code structure.
• Security Measures: Check if appropriate security measures, such as data encryption, user
authentication, and protection against common vulnerabilities, were implemented as per the design
document.
• Compatibility: Verify if the website works well across different web browsers, operating systems,
and devices, as specified in the design document.
• Technical Scalability: Consider if the website's architecture allows for future scalability and
expansion based on potential growth and evolving requirements.

4. Document the Evaluation


Document your findings and evaluations in a comprehensive report. Highlight the areas where the
website closely aligns with the design document and successfully meets the stated objectives. Also,
identify any deviations, challenges faced, and potential areas for improvement.

By comparing the multipage website with the design document and critically evaluating the web design and
development process, you can identify the effectiveness of the implementation, identify any gaps or
deviations, and gather insights for future improvements.

During the web design and development process, there were several technical challenges that were
encountered. Here is a critical evaluation of the web design and development process against the design
document,

1.Design Consistency
The overall design of the website is consistent with the design document. The layout, color scheme, and
typography align with the branding guidelines of Arogya Health Care Hospital.

2.Responsive Design
The website has been developed with a responsive design, ensuring that it is accessible and usable across
different devices and screen sizes. It adapts well to desktops, tablets, and mobile devices.

3.Database Integration

pg. 113
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The integration of the MySQL database with PHP for storing and retrieving data has been successfully
implemented. Patient registration, appointment booking, and other functionalities are working as intended.

4.User Experience (UX)


The user experience of the website is generally smooth and intuitive. The navigation is clear, and users can
easily access different sections and functionalities. The use of forms and input validation ensures a user-
friendly experience.

5.Performance Optimization
Efforts have been made to optimize the website's performance. Techniques like caching, image optimization,
and code minification have been employed to reduce page load times and enhance the overall performance.

6.Security Measures
Adequate security measures, such as input validation, parameterized queries, and user authentication, have
been implemented to protect user data and prevent unauthorized access.

7.Technical Challanges
During the development of the website, several technical challenges were encountered. Here is a critical
evaluation of the major technical challenges,

 Scheduling Functionality -Implementing complex scheduling functionalities for room availability,


operating rooms, and staff schedules posed a challenge. It required designing a flexible and efficient
system that could handle different scheduling scenarios and avoid conflicts.
The challenge involved managing time slots, handling overlapping appointments, and ensuring
proper synchronization between different schedules.

 User Authentication and Role-Based Access Control - Implementing secure user authentication and
role-based access control was a significant challenge. It required designing a robust authentication
system to protect user data and restrict access based on user roles (doctors, staff, patients).
The challenge involved implementing password hashing, session management, and handling user
permissions to ensure proper data privacy and security.

 Laboratory Results and Radiology Imaging Viewer - Designing and implementing the laboratory
results and radiology imaging viewer presented technical challenges. It required handling file
uploads, storage, and rendering of medical reports and images.

pg. 114
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The challenge involved ensuring proper file handling, secure storage, and efficient rendering of large
medical images while maintaining data privacy.

 Performance Optimization - Optimizing the website's performance was a challenge to ensure fast
loading times and a smooth user experience. Techniques like caching, image optimization, and code
minification were implemented to improve performance.
The challenge involved balancing performance optimizations with maintaining code readability and
scalability.

 Testing and Bug Fixing - During the development process, identifying and fixing bugs and issues
required thorough testing and debugging. Ensuring the website's functionality across different
devices, browsers, and user interactions posed a challenge.
The challenge involved conducting comprehensive testing, implementing proper error handling, and
addressing user-reported issues to ensure a stable and reliable website.

User Manual for Arogya Hospital Website..

 Introduction

Welcome to the Arogya Health Care Hospital website. This user manual will guide you through the various
features and functionalities of the website.
Website Navigation:

The website consists of multiple pages, each serving a specific purpose. Use the navigation menu or links
provided to access different sections of the website.

 Home Page

The home page provides an overview of the hospital and its services. You can find information about doctors
and staff, patient details, room availability, facilities, laboratory services, pharmacy, radiology, emergency
services, help center, and more.

 Doctor and Staff Page

pg. 115
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

This page allows you to browse through the list of doctors and staff members at the hospital. You can view
their profiles, contact information, and roles within the organization.

 Patient Registration Form

Use the patient registration form to register as a new patient. Fill in the required personal information, such
as name, contact details, and medical history, and submit the form to create your patient record.

 Patient Dashboard

Once registered, you can access the patient dashboard. This personalized dashboard provides access to your
medical records, appointments, invoices, and other relevant information.

 Room Availability Page

The room availability page displays a calendar showing the availability of rooms within the hospital. You
can check for vacant rooms and make room booking requests if necessary.

 Facilities Page

Explore the facilities page to learn about the various amenities and services available at the hospital. This
includes information about special rooms, equipment, and additional facilities.

 Laboratory Page

The laboratory page provides details about laboratory services offered by the hospital. You can find
information about different tests, procedures, and how to access lab reports.

 Pharmacy Page

Visit the pharmacy page to access information about the hospital's pharmacy services. You can learn about
available medications, prescriptions, and request prescription refills if needed.

 Radiology Page

pg. 116
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

The radiology page offers access to radiology services, such as X-rays and CT scans. You can view and
analyze radiology images, request appointments, and access related information.

 Emergency Services Page

In case of emergencies, refer to the emergency services page for quick access to emergency contact
information, guidelines, and procedures to follow.

 Help Center Page

If you have any questions, concerns, or need assistance, visit the help center page. Here, you can find
frequently asked questions, troubleshooting guides, and contact information for support.

 Privacy Policy and Terms of Service

The website includes a privacy policy and terms of service section. Please review these documents to
understand the policies and terms that govern your use of the website.

 Conclusion
This user manual provides an overview of the multipage website and its functionalities. Explore the different
sections, fill in the required information, and utilize the website to make the most of the hospital's services.

pg. 117
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Task 4 - Create and use a Test Plan to review the performance and design of a multipage website
(LO4)

4.1 QA process is expected to discover design issues and development errors while testing a product’s user
interface (UI) and gauging the user experience (UX). Evaluate the Quality Assurance (QA) process and
review how it was implemented during your design and development stages.

1.Requirement Analysis

• The QA team carefully reviewed the client and user requirements provided in the design
document, ensuring clarity and completeness. For example, they identified a requirement for the
patient registration form to include fields for personal information such as name, date of birth,
contact details, and medical history.

2. Test Planning

• The QA team developed a comprehensive test plan, outlining different test scenarios and test
cases to be executed. For instance, they created test cases for verifying the functionality of
appointment booking, including checking the availability of doctors, selecting time slots, and
generating confirmation messages.

3.UI and UX Testing

The QA team conducted UI testing to ensure consistency in the website's design elements. They
verified that buttons, links, and menus were styled consistently across all pages. For example, they
checked that the color scheme and typography remained consistent throughout the website.
In terms of UX testing, they evaluated the ease of navigation by simulating user interactions. They
assessed the intuitiveness of the appointment booking process and monitored how easily patients
could access their medical records on the patient dashboard.

pg. 118
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

4.Functionality Testing

• The QA team executed test cases to validate various functionalities. For example,
they tested the patient information management system by adding, editing, and
deleting patient records. They also verified that patient information was properly
saved and retrieved from the database.
 They performed functional testing of the laboratory results feature by ensuring that lab test
reports were generated accurately and displayed to authorized users securely.

6.Compatibility and Performance Testing

The QA team conducted compatibility testing on multiple browsers (e.g., Chrome, Firefox, Safari)
and devices (desktop, mobile, tablet) to ensure consistent rendering and functionality across
platforms.
They used performance testing tools to measure the website's loading time and response time under
different traffic loads. For example, they simulated high user traffic to evaluate the website's
performance and identified any bottlenecks that needed optimization.

6.Bug Reporting and Tracking

 The QA team reported identified issues using a bug tracking system, such as Jira or Bugzilla.
They provided detailed bug reports, including steps to reproduce the issue, expected results, and
actual observations. For example, they reported a bug where the appointment booking form was
not properly validating the input fields, allowing invalid data to be submitted.

7.Iterative Testing and Regression Testing

pg. 119
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

 The QA team performed iterative testing to ensure that new features or changes did not introduce
regressions or impact existing functionalities. For example, after implementing a new feature for
the administrative dashboard, they performed regression testing to verify that previously working
features, such as patient registration and room availability, were still functioning correctly.

8. Documentation

 The QA team maintained comprehensive documentation, including test plans, test cases, and bug
reports. They also updated documentation to reflect any changes made during the development
process. For example, they documented changes made to the appointment booking process based
on user feedback, ensuring that future developers and testers have up-to-date information.

pg. 120
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

4.2 Create a suitable test plan for the developed system and critically evaluate the results of your Test
Plan . Include a review of the overall success of your multipage website; use this evaluation to
explain any areas of success and provide justified recommendations for areas that require
improvements.

Test Plan for Arogya Hospital Website

Test Objectives

• Validate the functionality of all website features.


• Verify the accuracy and integrity of data storage and retrieval.
• Assess the usability and user-friendliness of the website.
• Ensure compatibility across different browsers and devices.
• Evaluate the website's performance under different loads.
• Identify and report any bugs or issues encountered.

Test Scope

• Registration and login functionality.


• Patient information management.
• Appointment booking and scheduling.
• Room availability and management.
• Laboratory and radiology services.
• Pharmacy management and medication ordering.
• Emergency services and contact information.
• Help center and FAQs.

Test Approach

• Use a combination of manual and automated testing techniques.


• Conduct functional testing to verify the correct implementation of features.
• Perform usability testing to evaluate the user experience and ease of navigation.
• Conduct compatibility testing across multiple browsers and devices.
• Use performance testing tools to measure the website's response time and loading speed.
• Conduct security testing to ensure the confidentiality and integrity of patient data.

Test Cases

pg. 121
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

• Develop a comprehensive set of test cases covering all aspects of the website's functionality,
usability, compatibility, and performance.
• Include positive and negative test cases to validate expected and unexpected user interactions.
• Test cases should cover scenarios such as registering a new patient, booking an appointment, viewing
laboratory results, etc.

Bug Reporting and Tracking

• Use a bug tracking system to log and track any issues encountered during testing.
• Include detailed information about each bug, such as steps to reproduce, expected and actual results,
and severity level.
• Assign priorities and deadlines for bug fixes based on their impact on the website's functionality and
usability.

Evaluation of Test Plan Results

The test plan for the Arogya Hospital website was effective in identifying and resolving various issues. The
overall success of the multipage website can be attributed to the following factors:

1. Functionality - The website successfully implemented key features such as patient registration,
appointment booking, and laboratory result viewing. The test plan ensured that these functionalities
were thoroughly tested, resulting in a robust and reliable system.

2. Usability - The test plan included usability testing to evaluate the user experience. This helped
identify areas where the website could be improved in terms of navigation, clarity of information,
and user-friendly interfaces. Based on user feedback and testing results, enhancements were made to
enhance the overall usability.

3. Compatibility - Compatibility testing was conducted across different browsers and devices to ensure
consistent performance and appearance. This helped in delivering a website that can be accessed by a
wide range of users without any compatibility issues.

4. Performance - Performance testing helped identify any bottlenecks or performance issues that could
affect user experience. By simulating different user loads, the website's performance was evaluated,
and optimizations were made to ensure optimal response times and loading speeds.

Areas for Improvement and Recommendations

1. User Feedback Integration - To further enhance the website, it is recommended to incorporate a


mechanism for users to provide feedback directly on the website. This will enable continuous
improvement based on real-time user experiences and preferences.

2. Enhanced Error Handling - Improve the error handling mechanism by providing meaningful error
messages to users when unexpected situations occur. This will help users understand and resolve any
issues they encounter during their interactions with the website.

3. Security Auditing - Conduct regular security audits and vulnerability assessments to ensure the
website's robustness against potential threats. Implement appropriate security measures, such as
encryption of sensitive data, to protect patient information and maintain privacy.

pg. 122
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

4. Continuous Testing and Monitoring- Establish a process for continuous testing and monitoring of
the website. Regularly perform regression testing, especially when new features or updates are
introduced, to ensure that existing functionalities are not affected.

5. Accessibility Considerations - Evaluate and enhance the website's accessibility to cater to users with
disabilities. Ensure compliance with accessibility standards and guidelines, such as WCAG 2.1, to
provide an inclusive experience for all users.

Sources

https://www.quora.com/What-is-Web-technology-and-define-it
https://elearning.raghunathpurcollege.ac.in/files/5334B38616191484800.pdf
https://www.techopedia.com/definition/25705/communication-protocol

https://www.comptia.org/content/guides/what-is-a-network-protocol

https://www.itjones.com/blogs/basics-of-computer-networking-communication-protocols

https://ardc.edu.au/resource/standardised-communications-protocols/

https://www.cloudflare.com/learning/ddos/glossary/hypertext-transfer-protocol-http/

https://www.javatpoint.com/computer-network-http

https://www.javatpoint.com/computer-network-ftp

https://www.fortinet.com/resources/cyberglossary/file-transfer-protocol-ftp-meaning
https://www.youtube.com/watch?v=L9aZpg0ip70
https://www.tutorialspoint.com/data_communication_computer_network/transmission_control_protocol.htm

https://www.sdxcentral.com/resources/glossary/transmission-control-protocol-tcp/
https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:the-
internet/xcae6f4a7ff015e7d:transporting-packets/a/transmission-control-protocol--tcp

https://www.extrahop.com/resources/protocols/tcp/
https://www.cloudflare.com/learning/network-layer/internet-protocol/
https://me-en.kaspersky.com/resource-center/definitions/what-is-an-ip-address
https://www.geeksforgeeks.org/types-of-internet-protocols/
https://www.techopedia.com/definition/5383/post-office-protocol-pop
https://www.sciencedirect.com/topics/computer-science/post-office-protocol

https://www.tutorialspoint.com/post-office-protocol-version-3-pop3
https://www.hostinger.com/tutorials/what-is-a-web-server
https://www.solarwinds.com/resources/it-glossary/web-server

https://byjus.com/govt-exams/web-browser/
https://www.alibabacloud.com/tech-news/web-server/giqt1yoriq-what-is-web-server-hardware-and-software
https://www.scribd.com/presentation/134998857/Server-Hardware-pptx?
utm_medium=cpc&utm_source=google_pmax&utm_campaign=3Q_Google_Performance-
Max_RoW&utm_term=&utm_device=c&gclid=CjwKCAjwm4ukBhAuEiwA0zQxkzUcbekBHuMAstU3DBNu0Q1yZQSRvGGD
bDXRE9TMwCc6YcjY7SkJrhoCTiEQAvD_BwE
https://slideplayer.com/slide/5232737/
https://www.guvi.in/blog/how-do-database-servers-work/
https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/
https://www.geeksforgeeks.org/what-is-an-operating-system/

pg. 123
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

https://www.hostinger.com/tutorials/what-is-a-url#What_Is_a_URL
https://www.computerhope.com/jargon/u/url.htm
https://www.javatpoint.com/computer-network-dns
https://www.varonis.com/blog/what-is-dns
https://www.pcmag.com/how-to/what-is-dns-how-it-works-domain-name-system

https://www.bdc.ca/en/articles-tools/entrepreneur-toolkit/templates-business-guides/glossary/search-engine
https://www.arimetrics.com/en/digital-glossary/search-engine
https://www.tutorialspoint.com/internet_technologies/search_engines.htm

https://www.computerhope.com/jargon/s/searengi.htm
https://www.tutorialspoint.com/internet_technologies/search_engines.htm
https://tms-outsource.com/blog/posts/web-technologies/

https://careerfoundry.com/en/blog/ux-design/
https://www.hostinger.com/tutorials/web-development-tools
https://magenest.com/en/website-development-tools/
https://www.educba.com/website-developer-tools/

https://bootcamp.berkeley.edu/resources/coding/learn-web-development/front-end-vs-back-end/

https://www.coursereport.com/blog/front-end-development-vs-back-end-development-where-to-start
https://learntocodewith.me/posts/backend-development/
https://www.web-dotz.com/understanding-your-web-applications-layers/
https://medium.com/geekculture/connecting-the-dots-application-general-layers-e1db42aa388b

https://comradeweb.com/blog/custom-vs-template-based-websites-pros-and-cons/

https://balsamiq.com/learn/articles/what-are-wireframes/

https://www.browserstack.com/guide/test-planning
https://www.guru99.com/what-everybody-ought-to-know-about-test-planing.html
https://www.wearedevelopers.com/magazine/how-to-create-a-test-plan-for-software-testing
https://www.smashingmagazine.com/2014/11/how-to-create-your-own-front-end-website-testing-plan/
https://www.lambdatest.com/learning-hub/test-plan
https://www.crc-inc.com/article/create-a-testing-plan-before-launching-your-website/
https://www.softwaretestinghelp.com/how-to-write-test-plan-document-software-testing-training-day3/
https://blog.hubspot.com/website/web-design-challenges
https://mobisoftinfotech.com/resources/blog/web-development-challenges/
https://www.google.com/search?
q=challenges+of+website+design+and+development&rlz=1C1CHZN_enQA1016QA1016&sxsrf=APwXEdeuGr_lD86vYa3ic
sLnlr_xD_GUDg
%3A1686501821379&ei=vfmFZNTJFp_lxc8Pqe6pkAw&oq=challenges+of+website+design+and+d&gs_lcp=Cgxnd3Mtd2l
6LXNlcnAQARgAMgUIIRCgATIFCCEQoAEyCgghEBYQHhAPEB0yCAghEBYQHhAdMggIIRAWEB4QHTIKCCEQFhAeEA8QHTIKC
CEQFhAeEA8QHTIICCEQFhAeEB0yCAghEBYQHhAdMggIIRAWEB4QHToECAAQRzoGCAAQFhAeOggIABCKBRCGA0oECEEYA
FDqAliKOmCRS2gBcAJ4AIABwAOIAfEVkgEFMy00LjOYAQCgAQHAAQHIAQg&sclient=gws-wiz-serp

https://cynoteck.com/blog-post/web-development-challenges-and-solutions/

https://testsigma.com/blog/test-plan/

https://f5studio.medium.com/what-is-qa-and-why-quality-assurance-is-important-in-web-development-process-
f17ae9c59de7

pg. 124
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

pg. 125
Downloaded by Vidura Perera ([email protected])
lOMoARcPSD|38326707

Grading Rubric
Grading Criteria Achieved Feedback

O1 Explain server technologies and management services associated with


hosting and managing websites

P1 Identify the purpose and types of DNS, including explanations on how


domain names are organized and managed.

P2 Explain the purpose and relationships between communication


protocols, server hardware, operating systems and web server software
with regards to designing, publishing and accessing a website.
M1 Evaluate the impact of common web development technologies and
rameworks with regards to website design, functionality and
management.
M2 Review the influence of search engines on website performance and
provide evidence-based support for improving a
ite’s index value and rank through search engine optimization.
D1 Justify the tools and techniques chosen to realize a custom built
website.

LO2 Categories website technologies, tools and


software used to develop websites

P3 Discuss the capabilities and relationships between front-end and back-


end website technologies and explain how these relate to presentation and
application layers.
P4 Discuss the differences between online website creation tools and
ustom built sites with regards to design flexibility, performance,
unctionality, User Experience (UX) and User Interface (UI).

M3 Evaluate a range of tools and techniques available to design and


develop a custom built website.
LO3 Utilize website technologies, tools and techniques
with good design principles to create a multipage
website

P5 Create a design document for a branded, multipage website supported


with medium fidelity wireframes and a full set of client and user
equirements.
P6 Use your design document with appropriate principles, standards and
guidelines to produce a branded, multipage website supported with
ealistic content.
M4 Compare and contrast the multipage website created to the design
document.

D2 Critically evaluate the design and development process against your


design document and analyse any technical challenges.

O4 Create and use a Test Plan to review the

pg. 1

Downloaded by Vidura Perera ([email protected])


lOMoARcPSD|38326707

erformance and design of a multipage website

P7 Create a suitable Test Plan identifying key performance areas and


use it to review the functionality and performance of your website.
M5 Evaluate the Quality Assurance (QA) process and review how it was
mplemented during your design and development stages.
D3 Critically evaluate the results of your Test Plan and include a review of
he overall success of your multipage website; use this evaluation to
xplain any areas of success and provide justified recommendations for
reas that require improvement.

pg. 2

Downloaded by Vidura Perera ([email protected])

You might also like