Ch 2: Application Layer Flashcards
(34 cards)
Application Architecture
The way in which the functions of the
application layer software are spread among the clients and servers in the
network
The work done by any application program can be divided into five general
functions
- Data storage: most application programs require data to be stored and retrieved
- Data access logic: the processing required to access data
- Application logic: sometimes called business logic
- Presentation logic: the presentation of information to the user and the acceptance
of the user’s commands - Services logic: this is like the user interface, but enables other application software packages to make requests, rather than users
Four Fundamental Application Architectures in use Today
- In host-based architectures: the server (or host computer) performs
virtually all of the work - In client-based architectures: the client computers perform most of the
work - In client–server architectures: the work is shared between the servers
and clients - In cloud-based architectures: the cloud provides services to the client
Cloud Computing Deployment Models
- Private cloud
o Private clouds are created for the exclusive use of a single private organization - Public cloud
o This deployment model is used by multiple organizations that share the same cloud resources - Community cloud
o Used by organizations that have a common purpose
o Subset of public cloud
Host-Based Architectures
- Developed in 1960s
- This very simple architecture
often works very well - Server performs all functions
- Two fundamental problems:
1. Server must process all messages
2. High cost to upgrade
Client-Based Architectures
- The clients are personal
computers on a LAN - The server is usually another
personal computer on the same
network - This simple architecture often
works very well - The fundamental problem in
client-based networks is that all
data on the server must travel to
the client for processing
Solution to this problem: One of the strengths of client–server networks is that they enable software and hardware from different vendors to be used together. However, it can be difficult to get software from different vendors to work
together
Middleware: software that sits between the application software on the client and the application software on the server.
What does middleware do?
- It provides a standard way of communicating that can translate between software from different vendors
- It manages the message transfer from clients to servers (and vice versa) so that clients need not know the specific server that contains the application’s data
Middleware Standards
- There are literally dozens of standards for middleware
- Each is supported by different vendors and provides different functions
- Two of the most important standards:
1. Distributed Computing Environment (DCE)
2. Common Object Request Broker Architecture (CORBA) - Another important standard is Open Database Connectivity (ODBC), which
provides a standard for data access logic
Two-Tier Architecture
- One of the most common
- The server is responsible for the
data and the client, the
application and presentation - Called a two-tier architecture
because it uses only two sets of
computers
Three-Tier Architecture
- Uses three sets of computers
- The software on the client
computer is responsible for
presentation logic - An application server is
responsible for the services logic
and application logic - A separate database server is
responsible for the data access
logic and data storage
n-tier Architectures
- Uses more than three sets of
computers - In this case, the client is
responsible for presentation logic - A database server is responsible
for the data access logic and data
storage - The services logic and application
logic are spread across two or
more different sets of servers
Pros and Cons of n-tier Architectures
- The primary advantage of an n-tier client–server architecture compared
with a two-tier architecture that it separates the processing that occurs to
better balance the load on the different servers
o It is more scalable - There are two primary disadvantages:
1. It puts a greater load on the network
2. It is much more difficult to program and test software in n-tier architectures than in
two-tier architectures
thin-client architecture
1.Places little or no application logic on the client
2. Thin clients are easier to manage
3. Also enables cloud based architecture
thick-client architecture
Places all or almost all of the application logic on the client
Cloud Computing Architectures
They outsource part or all of the infrastructure to other firms that specialize in managing that infrastructure
Three common cloud-based architecture models that an organization can pick from
- Infrastructure as a service
- Platform as a service
- Software as a service
Software as a Service (SaaS)
- An organization outsources the entire application to the cloud
provider - It then uses it as any other application that is available via a browser (thin client)
- SaaS is based on multitenancy
o This means that rather than having many copies of the same application, there is only one application that everybody shares, yet everybody can customize it for his or her needs - The most frequently used SaaS application is email
- Customer relationship management (CRM) is another very commonly used SaaS
Platform as a Service (PaaS)
- With PaaS, you can build your own application and manage your own data on the cloud infrastructure provided by your cloud supplier
- The needed hardware and software infrastructure (platform) is rented from the cloud provider
- The organization manages the application and its own data but uses the database software (data access logic) and operating system provided by the cloud provider
- PaaS offers a much faster development and deployment of custom
applications at a fraction of the cost required for the traditional client–server architecture
Infrastructure as a Service (IaaS)
- With IAAS, the cloud provider manages the hardware, including servers, storage, and networking components
- The organization is responsible for all the software, including operating system (and virtualization software), database software, and its applications and data
o IaaS is sometimes referred to also as HaaS, or Hardware as a Service - This model allows a decrease in capital expenditures for hardware and maintaining the proper environment
Peer-To-Peer Architectures
- With a P2P architecture, all
computers act as both a client
and a server - Therefore, all computers perform
all four functions - The advantage of P2P networks is
that the data can be installed
anywhere on the network - The challenge is finding the data
- Security is a major concern in
most P2P networks
Choosing Architectures
- In many cases, the architecture is simply a given
- Almost all new applications today are client–server application
o Provides the best scalability, the ability to increase (or decrease) the capacity of the
servers to meet changing needs - Client–server architectures are also the most reliable
- Client–server architectures are usually the cheapest
- Client–server architectures also enable cloud computing
How the web works
- The Web is a two-tier
client‑server architecture - Each client computer needs a
Web browser - Each server on the network needs
a Web server - To get to a page on the Web, the
user must type the Internet
uniform resource locator (URL)
for the page they want
How the web works (Part 2)
- The standard protocol for communication between a Web browser and a
Web server is Hypertext Transfer Protocol (HTTP) - The Web browser issues a special packet called an HTTP request that
contains the URL and other information about the Web page requested - The server it processes it and sends back an HTTP response