Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chpt2:
Application Layer - Coggle Diagram
Chpt2:
Application Layer
2. Application Architectures
- The way the functions of the application layer are spread out across the client and server.
- Four components of applications:
i. Presentation logic
ii. Application logic
iii. Data access logic
iv. Data Storage
Host-Based Architecture
- Server contains all components (“server-based”)
- Common in the 1960s with mainframes and terminals
- Four components of applocations on server side
Advantages of Host-Based Architecture
- Very simple
- Single point of control
Disadvantages of Host-Based Architecture
- Host (server) can become a bottleneck
- Upgrades typically expensive
Client-Based Architecture
- Client contains presentation, application, and data access logic
- Server contain, Data Storage
- Most common in the 1980s
Advantages of Client-Based Architecture
- Hardware and applications less expensive
- Simple architecture
Disadvantages of Client-Based Architecture
- Data must travel back and forth between server and client
Thin clients are easier to manage, thick clients have more functionality.
Thick-Client Architecture
- Client
Presentation Logic
Application Logic
- Server
Data Access Logic
Data Storage
Thin-Client Architecture
- Client
Presenation Logic
- Server
Application Logic
Data Access Logic
Data Storage
Client-Server Architecture
- Most common architecture today
Advantages of Client-Server Architecture
- More efficient because of distributed processing
- Allows hardware/software from different vendors to be used together
- Less bandwidth required
Disadvantages of Client-Server Architecture
- May be challenges in configuring hardware/software from different vendors to work together
- In many cases, middleware is required
Middleware
- Acts as an intermediary by “sitting between” client and server applications
- Provides a standard way of translating between software from different vendors
- Manages message transfers
- Insulates network changes from the clients
E.g. Adding a new server
- Client Applicataions - Middleware - Server Applications
Middleware - Examples
- Data or database middleware: Enables direct access to, and interaction with, databases; e.g in SQL database interaction
- Messaging middleware: Facilitates communications between distributed applications and services.
- Object or ORB middleware: Enables software components or objects to communicate and interact with a program; e.g. in distributed systems.
- Remote Procedure Call (RPC) middleware: Provides a protocol that allows a program to request a service from another program located on another computer or network.
- Content-centric middleware: allows client-side requests for specific content and abstracts and delivers
Two-Tier Client-Server Architecture
- Two-tier Thin-client
- Two-Tier Thick-client
Advantages of Tiered Client-Server Architecture
- Load balancing
- More Scalable
Disdvantages of Tiered Client-Server Architecture
- Each tier increases network load
- More complex and difficult to develop applications
Peer-to-Peer Architecture
- An older architecture that became popular again with
Napster, BitTorrent, etc.
- All devices can act as client and server
Advantages of Peer-to-Peer Architecture
- Resilient to failure
- Data can be stored anywhere on network
- Distributes bandwidth requirements
Disadvantages of Peer-to-Peer Architecture
- Finding the stored data
- Security
Cloud Computing
- Is the general term for enabling access to computing services over the network (most commonly the Internet)
- Models of cloud computing define who manages each application function and associated hardware/software
Cloud Computing Models
- Software as a Service (SaaS)
All application components and associated hardware/software outsourced
Based on multitenancy
E.g. Salesforce.com
- Platform as a Service (PaaS)
Application logic and data are managed internally
E.g. Microsoft Azure
- Infrastructure as a Service (IaaS)
All hardware is outsourced
Criteria for Choosing Architecture
Infrastructure
Cost of servers, clients, and circuits
Reliability
Development Costs
Software; cheaper on host-based architectures
Scalability
Ability to increase (or decrease) in computing capacity as network demand changes
Easier in client-server architectures
1. Application Layer
- Layer 5 in the Internet model (or TCP/IP model)
- The software that enables users to interact with the network and accomplish tasks.
- Internet Model
Application
Transport -Internetwork
Network
Data Link - Hardware
Physical
3. The Web
- Hypertext Transfer Protocol (HTTP)
- HTTP Request and Response
4.Email
- Simple protocol (SMTP): To send plain text, not designed to send images or attachments
- Multipurpose Internet Mail Extension (MIME):
A standard to extend support for attachments and non-ASCII characters in email
Used by sender to convert (encode) any non-ASCII content into ASCII
Receivers then convert (decode) the ASCII back to its original format
i. Mail Transfer Agent (MTA)
- Formal name for mail server software
E.g Sendmail, Postfix
ii. Mail User Agent (MUA)
- Formal name for mail client software
E.g. Outlook, Apple Mail, Thunderbird
iii. Simple Mail Transfer Protocol (SMTP)
- Protocol used to send a message to a MTA
- Originally only handled text files
iv. Internet Message Access Protocol (IMAP) or Post Office Protocol (POP)
- Protocols used by a MUA to retrieve messages from an MTA
v. American Standard Code for Information Interchange (ASCII)
- A standard for encoding text characters (a-z, A-Z, 0-9, a few symbols)
How a message is sent (2-tier, thick client)
- Sending Client → Sender’s Mail Server (SMTP)
- Sender’s Mail Server → Receiver’s Mail Server (SMTP)
- Message waits on Receiver’s Mail Server in “mailbox”
- Receiving Client → Receiver’s Mail Server (IMAP or POP)
- Receiver’s Mail Server → Receiving Client (IMAP or POP)
How a message is sent via webmail (3-tier, thin client)
- Sending Client → Sender’s Web Server (HTTP)
- Sender’s Web Server → Sender’s Mail Server (SMTP)
- Sender’s Mail Server → Receiver’s Mail Server (SMTP)
- Mail waits on Receiver’s Mail Server in “mailbox”
- Receiving Client → Receiver’s Web Server (HTTP)
- Receiver’s Web Server → Receiver’s Mail Server (IMAP or POP)
- Receiver’s Mail Server → Receiver’s Web Server (IMAP or POP)
- Receiver’s Web Server → Receiving Client (HTTP)
SMTP Message Format
- RFC 822: Standard for text message format
Header lines
- Contain information about the message such as To, From, and Subject
Body section
- Contains the “content of the Contains thE message"
- Begins with the “DATA” keyword
- Only uses ASCII characters
4. Other Application-Layer Protocols
- File Transfer Protocol (FTP): For moving files between clients and servers'
- Telnet, Secure Shell (SSH): For executing commands on a remote system.
- Internet Relay Chat (IRC), Extensible Messaging and Presence Protocol (XMPP): For real-time text chat (instant messaging).
- Domain Name System (DNS): For mapping domain names to IP addresses.
5. Implications for Cyber Security
- Secure Applications – Updating to newer versions, applying patches promptly
- Database attacks via websites and web enabled forms
- Attack via emails – email spoofing, etc.