Net. App.

Principles of Network Applications Some network apps voice over IP (e.g., e-mail Skype) web real-time video text messaging conferencing

remote login social networking P2P file sharing search multi-user network games streaming stored video (YouTube, Hulu, Netflix) Application architectures possible structure of applications: client-server peer-to-peer (P2P) Hybrid of client-server and P2P application transport network

data link physical application transport network data link physical application transport network data link physical Client-Server Architecture server:

always-on host permanent IP address data centers for scaling clients: client/server communicate with server may be intermittently

connected may have dynamic IP addresses do not communicate directly with each other The Client/Server Model Most modern network programming is based on a client/server model. A client/server application typically: stores large quantities of data on an expensive, high-powered server or cloud of servers while most of the program logic and the user interface is handled by client software running on relatively cheap personal computers.

In most cases, a server primarily sends data while a client primarily receives it A client initiates a conversation while a server waits for clients to start conversations with it. Move Applications to the Server! Physical PhysicalArchitecture Architecture Web Browser

HTTP Web Server Application Server Data base HTML HTML Pages Pages Technical TechnicalArchitecture Architecture

Any Computer Server Any Network Move Some Stuff Back to the Client Web Browser Java Applet Java / VB Script Cookies HTTP Web Server HTML

HTML Pages Pages Applet Applet Repos. Repos. Application Server Data base Network Applications/1 Most Net Applications use the Client-Server

architecture, In which two processes (applications) communicate with each other to exchange some information. One of the two processes acts as a client process, and the other one acts as a server Network Applications/2 Client Process Typically makes a request for information. After getting the response, it may terminate or may do some other processing (or even other requests). Example: Internet Browser works as a client application, It sends a request to the Web Server to get one HTML webpage.

Network Applications/3 Server Process Takes/Receives a request from clients When it gets a request from a client, the server process will perform the required processing, gather the requested information, and send it to the requestor client. Once done, it becomes ready to serve another client. Server processes are always alert and ready to serve incoming requests. Network Applications/4

Example: Web Server keeps waiting for requests from Internet Browsers As soon as it gets any request from a browser, it picks up a requested HTML page and sends it back to that Browser. Note that: A client needs to know the address of the server: (IP and Port), but The server does not need to know the address or even the existence of the client prior to the connection being established/requested. Once a connection is established, both sides (client & server know about each others) and can send and receive information back and forth between them.

Peer-To-Peer Model Not all applications fit easily into a client/server model For instance, in networked games, it seems likely that both players will send data back and forth roughly equally (at least in a fair game) These sorts of connections are called peer-to-peer The telephone system is the classic example of a peer-to-peer network. P2P Architecture

no always-on server arbitrary end systems directly communicate peers request service from other peers, provide service in return to other peers self scalability new peers bring new service capacity, as well as new service demands peers are intermittently

connected and change IP addresses complex management peer-peer Hybrid of Client-Server and P2P Skype Voice-Over-IP (VoIP) P2P application Centralized server: finding address of remote party Client-Client connection: direct (not through server)

Instant Messaging Chatting between two users is P2P Centralized service: client presence detection/location user registers its IP address with central server when it comes online user contacts central server to find IP addresses of buddies (friends) peer-peer Application Programs and User Interfaces

Most of the time, persistent data requires some sort of database Nowadays, most database users do not directly use a query language such as SQL An application program acts as the intermediary between users and the database (think of your student account on the JUST Univ. system ) Applications split into front-end middle layer backend Front-end: user interface Forms

Graphical user interfaces Many interfaces are Web-based Intro. to Server-Side Programming 15 Application Architecture Evolution Three distinct eras of application architecture a) mainframe (1960s and 70s) b) personal computer era (1980s) c) Web era (1990s onwards) System Architecture The architecture of a computer system is the high-level (most general) design on which the system is based

Architectural features include: Components Collaborations (how components interact) Connectors (how components communicate, communication methods) Client-Server Architecture Each component of a Client-Server system has the role of either client or server Client: a component that makes requests clients are active initiators of transactions Server: a component that satisfies requests servers are passive and react to client requests

Centralized / Distributed The client-server architecture can be thought of as a median between Centralized Processing: computation is performed on a central platform, (a set of central servers) Distributed Processing: computation is performed on platforms located with the user Distributed Systems: physically separate computers working together Challenge: coordination is more difficult when performed over a network Centralized Distributed

Client / Server Client-Server Architecture The Web is a client-server system Web browsers act as clients, and make requests to web servers Web servers respond to requests with requested information and/or computation Client Client Server

Client Server Client Server Client request Tiered Web Architectures Web applications are usually implemented with: 2-tier, 3-tier, or multitier (N-tier) architectures

Each tier is a platform (client or server) with a unique responsibility 2-Tier Architecture Tier 1: Client platform, hosting a web browser Tier 2: Server platform, hosting all server software components 2-Tier Characteristics

Advantage: Inexpensive (single platform) Disadvantages Interdependency (coupling) of components No redundancy Limited scalability Typical application 10-100 users Small company or organization, e.g., law office,

medical practice, local non-profit 3-Tier Architecture Tier 3 takes over part of the server function from tier 2, typically data management, etc. 3-Tier Characteristics Advantages Improved performance, from specialized hardware Decreased coupling of software components Improved scalability

Disadvantages No redundancy Typical Application 100-1000 users Small business or regional organization, e.g., specialty retailer, Multitier C/S Architecture A multitier (N-tier) architecture is an expansion of the 3-tier architecture,

The expansion can be in one of several different possible ways Replication of the function of a tier Specialization of function within a tier Portal services, focusing on handling incoming web traffic Replication Application and data servers are replicated Servers share the total workload

Specialization Servers are specialized Each server handles a designated part of the workload, by function Portal Services Portal servers handle incoming traffic, reducing application server load e.g., firewall, load balancer, transaction processing manager Multi-Tier Characteristics

Advantages Decoupling of software components Flexibility to add/remove platforms in response to load Scalability Redundancy Disadvantages Higher costs (maintenance, design, electrical load, cooling)

Typical Application 1000+ users Large business or organization Characteristics Summary N-Tier large e-commerce, business, or organization small e-commerce, regional business or

organization 1000 users 3-Tier 100 2-Tier local business or 10 organization Capacity, scalability, redundancy, & cost Summary 2-Tier vs. 3-Tier 2-Tier Architecture

The client directly interacts with the server. This may have some security holes and performance problems. For example: Internet Explorer and Web Server work on 2-tier architecture Here security problems are resolved using: Secure Socket Layer (SSL) or the new version is Transport Layer Security (TLS) i.e. HTTPS uses port # 443 (also called HTTP over TLS, HTTP over SSL, or HTTP Secure) Summary 2-Tier vs. 3-Tier

3-Tier Architecture In this architecture, one more software sits in between the client and the server. This middle software is called middleware. Middleware 1. Used to perform all the security checks and load balancing in case of heavy load. 2. For example: It may takes all the requests from the client after performing the required authentication, it passes that request to the server. Then the server does the required processing and sends the response back to the middleware and finally the middleware passes this response back to the client. If you want to implement a 3-tier architecture, then you can keep any middleware like Web Logic or WebSphere software in between your Web Server and Web Browser.

Recently Viewed Presentations

  • What is the Sun? The Sun is a

    What is the Sun? The Sun is a

    The image on the upper right is a spectrum of the Sun. The dark lines are elements in the Sun's atmosphere absorbing some of the light. At the surface temperature of the Sun, it puts out roughly the same energy...
  • PowerPoint Presentation

    PowerPoint Presentation

    COH Property Overview. Highest valued locations: George R. Brown Convention Center - $480,333,387. Terminal D, IAH - $372,555,593. Terminal C, IAH - $306,760,882
  • Introduction: Biology Today Chapter 1

    Introduction: Biology Today Chapter 1

    Page 734 Page 807 Page 765 Figure 21.1 * Capillary Beds From 10 to 100 capillaries diverge from a metarteriole to form a capil-lary bed. The precapillary sphincters of metarterioles regulate blood flow into the capillary beds. When the metabolic...
  • MY PAPER - University of Wisconsin-Madison

    MY PAPER - University of Wisconsin-Madison

    3D Solids. There are 6 primitives that CADjs supports. That is all you will need to create complex shapes. There are 6 basic primitives supported by CADjs: cube, cylinder, …
  • Graphing the Sine and Cosine Functions

    Graphing the Sine and Cosine Functions

    To plot any Secant or Cosecant function, we can plot its reciprocal (sine and cosine), place asymptotes where the reciprocal crosses the sinusoidal axis and graph the inverted curve between the asymptotes.
  • Walking the Path of Prayer

    Walking the Path of Prayer

    In this manner, therefore, pray: Our Father in heaven, hallowed be Your name. Your kingdom come. Your will be done on earth as it is in heaven. Give us this day our daily bread. And forgive us our debts, as...
  • Approximate Asymptotic Solutions to the d-dimensional Fisher ...

    Approximate Asymptotic Solutions to the d-dimensional Fisher ...

    Arial MS Pゴシック Default Design Approximate Asymptotic Solutions to the d-dimensional Fisher Equation Nonlinear reaction-diffusion equation (1) We can write the expansion for as (3) Slide 4 Slide 5 ☆Approximation 2 In (5), the dominant term is the one with...
  • Introduction: Why Project Management?

    Introduction: Why Project Management?

    Process & Project Management(Table 1.1) Process. Repeat process or product. Several objectives. Ongoing. People are homogeneous. Systems in place to integrate efforts. Performance, cost, & time known. Part of the line organization. Bastions of established practice. Supports status quo. Project....