NETWORK APPLICATION ARCHITECTURES Why Architecture Shapes Application Destiny - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

NETWORK APPLICATION ARCHITECTURES Why Architecture Shapes Application Destiny

Description:

Provides an interface for allowing client-to-server application program interaction ... only server application logic generally needs to be updated ... – PowerPoint PPT presentation

Number of Views:251
Avg rating:3.0/5.0
Slides: 26
Provided by: busIa
Category:

less

Transcript and Presenter's Notes

Title: NETWORK APPLICATION ARCHITECTURES Why Architecture Shapes Application Destiny


1
NETWORK APPLICATION ARCHITECTURESWhy
Architecture Shapes Application Destiny
Focus here
  • Dr. Tiwana

2
Agenda
  • Application Architectures
  • Host-Based
  • Client-Based
  • Client-Server
  • P2P
  • Common network app architectures
  • Web
  • Other network apps
  • SMTP
  • IM
  • P2P

3
Application Architectures
  • Network apps SW packages that run in the app
    layer
  • Networks exist solely to enable these apps
  • Examples
  • Application program functionality made up of four
    functions
  • Data storage
  • Data access Queries, SQL etc
  • Application logic The actual work done by an app
  • Presentation logic Interaction with end-user
  • Applications architecture Defines how these
    functions are split between clients and servers.
  • Four types of application architectures are
    common
  • Host-based
  • Client-based
  • Client-server
  • Peer-to-peer

4
Architecture Gerdin
  • What is architecture?
  • Constrains enables
  • Application architecture?

5
Trends 1960-2010
  • Proc pwr/
  • Bandwidth costs

6
Host-based Architectures (1960s-)
Division of tasks
Displays User input
Performs all 4 application program functions
  • Two main problems
  • Host-centric processing does not scale well
  • Upgrades are big, expensive projects

7
Client-Based Architectures (late 80s-)
Driver Low cost PCs
Division of tasks
Only
Shifting of tasks
  • Downsides
  • Need for all of the data to travel back and forth
  • E.g., ISU CourseReg dB query
  • entire database must travel to the client for
    query processing
  • Poor network performance due to large volumes of
    data

8
Client-Server Architectures (mid 90s)
Division of tasks
Dominant model right now
  • Upsides
  • Distributed processing
  • Better load balancing
  • Incompatible systems can interoperate

Some app logic here
  • Middleware
  • Provides an interface for allowing
    client-to-server application program interaction
  • Two main functions
  • Provides a standard way of translating between
    software from different vendors
  • Manages message transfer between client and
    server
  • Key standards
  • Distributed Computing Environment (DCE)
  • Common Object Request Broker Architecture (CORBA).

9
2-tier, 3-tier and N-tier Architectures
splitting application program logic across gt2
computers
  • How many tiers is client-server?
  • Amazon.com?
  • Why would you want to do this?
  • Advantages
  • Processing load balancing
  • Increased scalability
  • upgrade only high-demand servers
  • Disadvantages
  • Heavier load on networkwhy?
  • Video streaming on networks (reading)
  • More complex?testing nightmare

10
Thin versus Fat Clients
  • How much of the application logic resides on the
    client.
  • Thin Little or no application logic
  • Thick All or most
  • Whats preferable?
  • Thin? only server application logic generally
    needs to be updated
  • Example Web architecture (two-tier, thin client
    architecture)
  • Surveymonkey.com

11
Considerations in Choosing an Architecture
  • What network architecture would you use for
    Gerdin? Considerations?
  • Cost of Infrastructure (mainframes?)
  • Development Cost (COTS or custom?)
  • Scalability (client-server)

12
The Web
Client-Server architecture Communications
protocol Hypertext Transfer Protocol (HTTP)
  • Inside a Web Interaction
  • Web clients (browsers) make HTTP requests to Web
    servers
  • Web servers answer with HTTP responses
  • Clicking on a hyperlink starts an HTTP
    request-response cycle
  • --- can have multiple steps (for each embedded
    file/graphic)
  • Hypertext Markup Language (HTML)
  • Protocol for formatting documents on the Web
  • Why is this necessary?
  • Developed for text, not multimedia (required HTML
    extensions)
  • XML (Extensible Markup Language)

13
HTTP Requests and Responses
  • An HTTP request has 3 parts
  • Request line (required) has a command and URL
    www.bus.iastate.edu
  • Request header (optional) contains ancillary
    information?
  • Request body (optional) contains information
    sent to the server
  • HTTP responses also have 3 parts
  • Response status (optional) http version number,
    status code (404)
  • Response header (optional) contains information
    on the server, date, URL of retrieved page and
    response format (e.g., html)
  • Response body (required) contains the requested
    Web page

14
HTTP response example
  • HTTP/1.1 200 OK - Response Status
  • Date Mon Sept 21, 2009 173546 GMT - Date
  • Server Apache - Web server
  • Location http//www.bus.iastate.edu - URL
  • Content-type text/html- Type of file
  • lthtmlgt
  • ltheadgt
  • lttitlegtCy Home Page lt/titlegt
  • lt/headgt
  • ltbodygt
  • ltH2gt PgtWelcome to the Cyclones -- always better
    than the HawkEyeslt/H2gt
  • ltlt/Pgt
  • lt/bodygt
  • lt/htmlgt

Response Header
Response Body
15
Electronic Mail Architecture
  • AOLNet circa 1989-1995
  • SMTP now dominant standard
  • part of the TCP/IP protocol suite
  • uses two-tier client-server architecture

Architecture
Inside an email message Header lists source and
destination addresses, date, subject Body the
message itself Attachments additional files
16
SMTP uses two types of programs
  • 1 User agents (e-mail clients) Programs on
    client computers
  • send e-mail to e-mail servers
  • download e-mail from mailboxes on those servers
  • These use POP or IMAP protocols
  • 2 Mail transfer agents (mail server software
    used by mail servers)
  • send e-mail between e-mail servers
  • maintain individual mailboxes.

17
How SMTP e-mail works
mail server reads the packets destination
address and sends it over the Internet to the
receivers mail server
e-mail message sent by the senders client as an
SMTP packet to the local mail server
user agent downloads message from the local mail
server to the receivers client computer
destination mail transfer agent stores the
message in receivers mail box
18
Web mail architecture
  • Examples? Todays killer app?
  • Should it be simpler or more complex?
  • How many tiers in the architecture?
  • 3-tier architecture
  • The clients browser that sends HTTP requests to
    the Web server.
  • The Web server 1) sends HTTP responses to the
    Web client and 2) translates the clients HTTP
    requests into SMTP packets which are then sent to
    the mail server.
  • The Mail server performs the same functions as
    the mail server in 2-tier setups

19
Illustration Webmail
20
Other ApplicationsFTP, Telnet, and Video
Conferencing
  • Whos used FTP and Telnet?
  • Pre-WWW days of the Internet
  • FTP enables sending and receiving files over the
    Internet
  • Current use uploading web pages
  • Telnet allows remote logins over the Internet
  • Used through 1998
  • Video conferencing
  • Does it have a future? Why?

21
Instant Messaging (IM)
  • Key differences between IM and email?
  • Examples of IM used?
  • AOL versus Microsoft battles (1999)
  • Client-server app allows real-time messages to
    be exchanged
  • Now allow voice and video packets
  • No dominant standards yet

Jim types some text IM client sends the text in
a packet to the IM server which relays it to Kim
Jim
Jims client sends a request to the IM server
telling it that he is online
If Kim logs on, the IM server sends a packet to
Jims IM client
Kim
22
P2P Architectures
Jim
  • Napster 0-60 million sued to death
  • The most popular site ever
  • How did it work?
  • Why did it shut down?
  • (network) Architectural reasons
  • Concepts
  • Peer (servlet)
  • How does this work?
  • somewhat like C/S, but indexing based?

Sally
23
Two Models
What architecture did Napster use?
Central indexing server
No central server
24
Knowledge Networks, VoIP networks, and others
Source Tiwana, Affinity to Infinity in
Knowledge Networks, Communications of the ACM,
2003
25
P2P Applications Today
26
App Architecture Shapes Destiny
  • App architecture influences
  • App performance
  • Scalability (business growth)
  • Network intensity
  • Often an irreversible choice
  • What if
  • Skype was client-server?
  • Ebay was P2P?
  • Google was P2P?
  • Netflix streaming was something else?

27
Summary
  • Network application layers
  • 4 logic functions and their partitioning
  • Network Application Architectures
  • Key types
  • Technical choices and business consequences
  • Maintenance far exceed initial network
    outlays
  • Lesson from Napster?
  • What architectures are relevant today? Tomorrow?
Write a Comment
User Comments (0)
About PowerShow.com