Lesson 02 Principles of Network Applications: Learning Outcome
Lesson 02 Principles of Network Applications: Learning Outcome
Lesson 02 Principles of Network Applications: Learning Outcome
2.0 Introduction
Network applications are the essentials of a computer network. If we couldnt imagine of any useful
applications, there wouldnt be any need to design networking protocols to support them. In this lesson
we study the conceptual and implementation aspects of network applications. We begin by defining key
Application layer concepts, including Application layer protocols, clients and servers, processes, sockets,
and Transport layer interfaces.
Learning outcome:
When building a new network application, youll first need to decide on the applications architecture.
You must have a broad architectural plan. Application architecture is distinctly different from the
network architecture.
ASP is a relatively new technology, but people have been building networkbased applications for many
years. To help us see where our components fit, it's worth taking a look at the options available for
network development as whole, since the same considerations will be relevant when it comes to
designing our componentbased solutions.
Older types of network application were always made up of a server (which did the hard work of
running the application) and multiple clients (which connected to that server). The clients provided
instructions to the server and accessed the results it produced. The clients in this situation are referred
to as thin clients, because they do not have to do much work most of the functionality is hosted on the
server.
1
Figure 2.1 TwoTier (Client Server) Systems
As time went by and computing power got cheaper, the temptation was for the clients to perform more
of the processing work, easing the strain on big expensive servers. When more of this processing work is
passed to a client, the typical client application needs to contain all the code needed to process the
required tasks. If such a client were accessing a database, for example, the client application would need
to be capable of accessing the database and manipulating that data while the data alone still resides on
the server. This is known as a fat client because some of the processing has been passed onto it.
While this relieved the load on the main server, any changes either to the client or to the database then
have rippling effects across all client installations. Any changes that need to be made are not just made
to the central server; each individual client has to be updated for each change, and potentially several
different applications have to be recompiled and updated if data manipulation and access code is shared
between them.
As computers spread into more areas of the workplace, the demands on computerbased applications
rose rapidly. These applications are often referred to as enterprise applications, and incorporate many
servers and data stores. They tend to be organic in that they are always growing, and tend to be difficult
to design and to maintain.
ThreeTier Applications
You can view the client server model as being a 2tier application structure. This is extended in the
threetier model by the addition of a middle layer that sits between the client and the data sources. The
three physical tiers break down as follows:
1. The client tier is the frontend tool with which the end user interacts. It may take the form of
any type of user interface, such as a Visual Basic application, or (increasingly commonly) a web
browser. In ASP applications, the client tier usually takes the form of a web browser.
2. The middle tier (also referred to as the business tier) represents most of the logic that makes
the application functional. In the case of ASP this is where our ASP pages reside, upon the web
server.
3. The data tier represents the storage mechanism used to hold persistent data. This could be a
relational database, textbased file, directory, mail server etc.
2
The Client Tier
The client browser requests an ASP page from the server, and is presented with an HTML form for
entering data about the size of wall and brick. The user then clicks on the Calculate button, which sends
the form details to the web server. Later, the client receives the response from the web server and
displays the results of the calculation.
This can be defined as the process which a communication link goes through.
Shannon's (1948) model of the communication process (Figure 1) provides, in its breakdown of the flow
of a message from source to destination, an excellent breakdown of the elements of the communication
process that can be very helpful to students who are thinking about how they communicate with others.
Figure 2
3
Shannon's model, as shown in Figure 2, breaks the process of communication down into eight discrete
components:
4
2.3 Application Layer Protocols
HTTP (Hypertext Transfer Protocol) Used by Web servers to send web pages to clients Web browser (IE,
Firefox, Opera)
HTTPS (HTTP over SSLi) provides a secure, encrypted connection and Padlock symbol is displayed in Web
browser
FTP (File Transfer Protocol) Transfers files between servers & clients
TFTP (Trivial File Transfer Protocol) Transfers files between servers & clients and no login registered
SMTP (Simple Mail Transfer Protocol) Used to send email messages between clients & servers and
between servers.
POP3 (Post Office Protocol v 3) Allows client software (Outlook Express, Pegasus) to retrieve email from
mail server.
SNMP (Simple Network Management Protocol) Allows network management applications to monitor
devices remotely
Telnet Allows user to log onto remote host (UNIXbased systems, routers, switches) and execute text
based commands.
It makes sure the resources needed to carry out a session are present.
It matches the application to the appropriate communication protocol or service.
It synchronizes the transmission of data between the application and its protocol.
5
2.5 Services Provided by the Internet Transport Protocols
TCP (Transfer Control Protocol) and UDP (User Datagram Protocol) are 2 services provided by the
Internet transport protocols.
TCP service:
UDP service:
Summary
You have completed the second lesson of Module 2303: Computer Networks. Now you would be able to
explain the Network Application Architecture and process communications in network applications. Also
you will be able to identify the applicationlayer protocols and the services used in the Applications
The next lesson will be on Introduction to Applications. Before moving to that lesson, check your success
of learning with Quiz 2.