Network Application Architectures - Before diving into software coding, you should have a broad architectural plan for your application. Keep in mind that an application's architecture is distinctly different from the network architecture. From the application developer's perspective, the network architecture is fixed and provides a specific set of services to applications.
diving into software coding, you should have a broad architectural plan
for your application. Keep in mind that an application's architecture
is distinctly different from the network architecture. From the
application developer's perspective, the network architecture is fixed
and provides a specific set of services to applications. The
application architecture, on the other hand, is designed by the
application developer and dictates how the application is structured
over the various end systems. In choosing the application architecture,
an application developer will likely draw on one of the two predominant
architectural paradigms used in modern network applications: the client-server architecture or the peer-to-peer (P2P) architecture.
In a client-server architecture,
there is an always-on host, called the server, which services requests
from many other hosts, called clients. The client hosts can be either
sometimes-on or always-on. A classic example is the Web application
for which an always-on Web server services requests from browsers
running on client hosts. When a Web server receives a request for an
object from a client host, it responds by sending the requested object
to the client host. Note that with the client- server architecture,
clients do not directly communicate with each other; for example, in
the Web application, two browsers do not directly communicate. Another
characteristic of the client-server architecture is that the server has
a fixed, well- known address, called an IP address (which we'll discuss
soon). Because the server has a fixed, well-known address, and because
the server is always on, a client can always contact the server by
sending a packet to the server's address. Some of the better-known
applications with a client-server architecture include the Web, F1'R
Telnet, and e-mail.
Often in a client-server application, a single server host is incapable
of keeping up with all the requests from its clients. For example, a
popular social-networking site can quickly become overwhelmed if it has
only one server handling all of its requests. For this reason, a
cluster of hosts--sometimes referred to as a server farm--is often used
to create a powerful virtual server in client-server architectures.
Application services that are based on the client-server architecture
are often infrastructure intensive, since they require the service
providers to purchase, install, and maintain server farms.
Additionally, the service providers must pay recurring interconnection
and bandwidth costs for sending an4 receiving data to and from the
Internet. Popular services such as search engines (e.g., Google),
Internet commerce (e.g., Amazon and e-Bay), Web- based v-mail (e.g,
Yahoo Mail), social networking (e.g., MySpace and Facebook), and video sharing (e.g., YouTube) are infrastructure intensive and costly to provide.
In a P2P architecture, there is minimal (or no) reliance on always-on
infrastructure servers. Instead the application exploits direct
communication between pairs of intermittently connected hosts, called
peers. The peers are not owned by the service provider, but are instead
desktops and laptops controlled by users, with most of the peers
residing in homes, universities, and offices. Because the peers
communicate without passing through a dedicated server, the
architecture is called peer-to-peer. Many of today's most popular and
traffic-intensiye applications are based on P2P architectures. These
applications include file distribution (e.g., BitTorrent), file
searching/sharing (e.g., eMule and LimeWire), Intemet telephony (e.g.,
Skype), and IPTV (e.g., PPLive).
Imran Rashid has working knowledge about windows operating systems.For more information visit
Disclaimer: Dime-Co.Com is an online information article and video article network. All articles, video articles, comments, and other features herein are for informational purposes only and are provided "as is" without warranties, representations or guarantees of any kind. The views and opinions expressed in an article, comments, links or blogs are the author's own, and not necessarily those of dime-co.com's owners. For full disclaimer, please read our TOS.