Technical Architectures

Slides:



Advertisements
Similar presentations
Distributed Processing, Client/Server and Clusters
Advertisements

ICS 434 Advanced Database Systems
Database Architectures and the Web
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
SWE 316: Software Design and Architecture
Objectives In this session, you will learn to:
Chapter 10 Site Architecture McGraw-Hill/Irwin Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
8.
Distributed Processing, Client/Server, and Clusters
Distributed components
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
ISYS 546 Client/Server Database Application Development.
BICS546 Client/Server Database Application Development.
Distributed Database Management Systems
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
The Architecture of Transaction Processing Systems
Chapter 9: The Client/Server Database Environment
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Distributed Systems: Client/Server Computing
Client/Server Architecture
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
Lecture The Client/Server Database Environment
Client/Server Computing. Information processing is distributed among several workstations and servers on a network, with each function being assigned.
The Client/Server Database Environment
CSIT 320 (Blum)1 Client-Server Interaction Based on Appendix 1 in Computer Networks and Internets, Comer.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Chapter 2 Database System Concepts and Architecture
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
N-Tier Architecture.
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
Database Architectures and the Web
1 Chapter 3 Database Architecture and the Web Pearson Education © 2009.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Introduction  Client/Server technology is seen by many as the solution to the difficulty of linking together the various departments of corporation.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
1 Welcome to CSC 301 Web Programming Charles Frank.
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
3-Tier Architecture Chandrasekaran Rajagopalan Cs /01/99.
Application Development
Client/Server Computing
Client – Server Architecture A Basic Introduction 1.
System Architecture & Hardware Configurations Dr. D. Bilal IS 582 Spring 2008.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Business System Development
Netscape Application Server
N-Tier Architecture.
The Client/Server Database Environment
The Client/Server Database Environment
Chapter 9: The Client/Server Database Environment
#01 Client/Server Computing
Ch > 28.4.
Lecture 1: Multi-tier Architecture Overview
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

Technical Architectures Damian Gordon

Contents 2-Tier Architecture (Client/Server) 3-Tier Architecture N-Tier Architecture N-Tier Architecture (with Server Load Balancing) http://cis.cuyamaca.net/draney/214/web_server/client.htm

Tutorial #5 Program Design The N-Generals Problem (where N is any number)

2-Tier Architecture (Client/Server)

Client/Server Client/Server describes the way in which software components interact to form a system that can be designed for multiple users. This technology is a computing architecture that forms a composite system allowing distributed computation, analysis, and presentation between PCs and one or more larger computers on a network. Each function of an application resides on the computer most capable of managing that particular function

Client/Server There is no requirement that the client and server must reside on the same machine. In practice, it is quite common to place a server at one site in a local area network (LAN) and the clients at the other sites. The client, a PC or workstation, is the requesting machine and the server, a LAN file server, mini or mainframe, is the supplying machine. Clients may be running on heterogeneous operating systems and networks to make queries to the server(s).

Client/Server Networks provide connectivity between client/server and the protocols that they use to communicate. The Internet provides connectivity between systems that function as clients, servers, or both. Many services used on the Internet are based on client/server computing model.

Client/Server Client/server applications started with a simple, 2-tiered model consisting of a client and an application server. The most common implementation is a 'fat' client - 'thin' server architecture, placing application logic in the client. The database simply reports the results of queries implemented via dynamic SQL using a call level interface (CLI) such as Microsoft's Open Database Connectivity (ODBC).

Client/Server An alternate approach is to use thin client - fat server waylays that invokes procedures stored at the database server. The term thin client generally refers to user devices whose functionality is minimized, either to reduce the cost of ownership per desktop or to provide more user flexibility and mobility. In either case, presentation is handled exclusively by the client, processing is split between client and server, and data is stored on and accessed through the server.

Client/Server Remote database transport protocols such as SQL-Net are used to carry the transaction. The network 'footprint' is very large per query so that the effective bandwidth of the network, and thus the corresponding number of users who can effectively use the network, is reduced. Furthermore, network transaction size and query transaction speed is slowed by this heavy interaction. These architectures are not intended for mission critical applications.

Most Processing happens here!

Most Processing happens here! Most Processing happens here!

Client/Server Advantages of 2-Tier System Good application development speed Most tools for 2-tier are very robust Two-tier architectures work well in relatively homogeneous environments with fairly static business rules

3-Tier Architecture

3-Tier Architecture Inserting a middle tier in between a client and server achieves a 3-tier configuration. The components of three-tiered architecture are divided into three layers: a presentation layer, functionality layer, and data layer, which must be logically separate.

3-Tier Architecture The 3-tier architecture attempts to overcome some of the limitations of 2-tier schemes by separating presentation, processing, and data into separate distinct entities. The middle-tier servers are typically coded in a highly portable, non-proprietary language such as C or Java. Middle-tier functionality servers may be multithreaded and can be accessed by multiple clients, even those from separate applications.

3-Tier Architecture The client interacts with the middle tier via a standard protocol such as API (Application Programming Interface), or RPC (Remote Procedure Call). The middle-tier interacts with the server via standard database protocols. The middle-tier contains most of the application logic, translating client calls into database queries and other actions, and translating data from the database into client data in return.

3-Tier Architecture If the middle tier is located on the same host as the database, it can be tightly bound to the database via an embedded 3GL interface. This yields a very highly controlled and high performance interaction, thus avoiding the costly processing and network overhead of SQL-Net, ODBC, or other CLIs. Furthermore, the middle tier can be distributed to a third host to gain processing power capability.

3-Tier Architecture Advantages of 3-Tier Architecture RPC calls provide greater overall system flexibility than SQL calls in 2-tier architectures 3-tier presentation client is not required to understand SQL. This allows firms to access legacy data, and simplifies the introduction of new data base technologies Provides for more flexible resource allocation Modularly designed middle-tier code modules can be reused by several applications 3-tier systems such as Open Software Foundation's Distributed Computing Environment (OSF/DCE) offers additional features to support distributed applications development

N-Tier Architecture

N-Tier Architecture The 3-tier architecture can be extended to N-tiers when the middle tier provides connections to various types of services, integrating and coupling them to the client, and to each other. Partitioning the application logic among various hosts can also create an N-tiered system. Encapsulation of distributed functionality in such a manner provides significant advantages such as reusability, and thus reliability.

N-Tier Architecture As applications become Web-oriented, Web server front ends can be used to offload the networking required to service user requests, providing more scalability and introducing points of functional optimization. In this architecture, the client sends HTTP requests for content and presents the responses provided by the application system. On receiving requests, the Web server either returns the content directly or passes it on to a specific application server. The application server might then run CGI scripts for dynamic content, parse database requests, or assemble formatted responses to client queries, accessing dates or files as needed from a back-end database server or a file server.

N-Tier Architecture with Server Load Balancing

N-Tier Architecture By segregating each function, system bottlenecks can be more easily identified and cleared by scaling the particular layer that is causing the bottleneck. For example, if the Web server layer is the bottleneck, multiple Web servers can be deployed, with an appropriate server load-balancing solution to ensure effective load balancing across the servers.

N-Tier Architecture The N-tiered approach has several benefits: Different aspects of the application can be developed and rolled out independently Servers can be optimized separately for database and application server functions Servers can be sized appropriately for the requirements of each tier of the architecture More overall server horsepower can be deployed