Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,

Slides:



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

Database Architectures and the Web
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
SWE 316: Software Design and Architecture
PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13B - Client server computing Programming Language.
Technical Architectures
Distributed Systems Architectures
Chapter 13 Physical Architecture Layer Design
1 Database Architectures Modified from …..Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Chapter 2 Database Environment Pearson Education © 2014.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Distributed Systems: Client/Server Computing
Client/Server Architecture
1 © Prentice Hall, 2002 The Client/Server Database Environment.
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
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
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Web application architecture
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.
Client/Server Architectures
Client/Server Technology Two-Tier Architecture Three-Tier Architecture Josh Antonelli Jenn Lang Joe Schisselbauer Chad Williams.
Database Architectures and the Web
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Distributed Systems Architectures
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis,
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
Databases and Database Management Systems
Slide 1 Physical Architecture Layer Design Chapter 13.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
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.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
CENTRALISED AND CLIENT / SERVER DBMS. Topics To Be Discussed………………………. (A) Centralized DBMS (i) IntroductionIntroduction (ii) AdvantagesAdvantages (ii)
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Introduction Database integral part of our day to day life Collection of related database Database Management System : software managing and controlling.
Application Development
Client/Server Computing
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
JDBC Chapter 1 JDBC Introduction
Chapter 2 Database Environment.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Chapter 12: Architecture
Business System Development
MVC and other n-tier Architectures
The Client/Server Database Environment
The Client/Server Database Environment
CSC 480 Software Engineering
#01 Client/Server Computing
Introduction to Databases Transparencies
Chapter 12: Physical Architecture Layer Design
Introduction To Distributed Systems
#01 Client/Server Computing
Presentation transcript:

Tiered architectures 1 to N tiers

2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend, application tier (where all computations… are performed, and data storage (databases) were merged into a single tier 2 tier architecture – separation of frontend from the databases and applications – client/server architecture 3 tier architecture – The further separation of the databases (data tier) from the applications (application tier). N tier architecture – The applications tier is divided into a number of individual modular applications

3 The Tiers (layers)Frontend Frontend (presentation) tier: – How the data should appear to the user and how the user should interact with the interface Application logic tier: – Data Processing e.g. Business Logic & calculations – Can be referred to as: Business logic/rules. Data(resource) management tier: – Deals with the different data sources of the Information Systems; essentially it can be considered as a Database Management System

4 1 – Tier Architectures Monolithic Systems Presentation, application logic, and resource management were merged into a single tier Advantages: – easy to optimise performance – no compatibility issues between layers – no client development, maintenance…. Disadvantages: – monolithic pieces of code and hard to modify – Old system so lack of qualified programmers for these systems

5 2 - Tier Architectures Separation of front end from other 2 layers – Client/server systems with thin clients/fat clients – Use RPC (Remote Procedure Calls) to communicate between tiers Advantages – Portability Disadvantages – Scalability is not great – legacy system problems

3-tier architecture

7 3 - Tier Architectures Separating DBMS tier from application tier (middleware) – There is an additional layer between client and server integration logic application logic Two alternatives approaches: – Client tier leads to Fat clients Must be reimplemented on each type of client Each software update must be redistributed – Data tier leads to Different applications have different needs for the same data Performance issues due to resource (data) usage; e.g. concurrency

8 3 - Tier Architectures Advantages – Increased scalability by distributing the application layer across many nodes – Flexibility Disadvantages – performance loss if distributed over the internet due to restricted bandwidth – problem when integrating of the 3 tiers

9 Middleware or Application tier Middleware refers to the software which is common to multiple applications Middleware typically includes a set of components such as resources and services that can be utilised by applications either individually or in various subsets. E.g. Android provides a middleware layer including libraries that provide services such as data storage, screen display, multimedia, and web browsing The distinction between operating system and middleware functionality is, to some extent, arbitrary. The middle ware Provides runtime environment for components in the middle- tier – Component management – Transaction, event and security services – Provides connections to databases, mainframes and legacy systems

N-tier: multiple application layer modules

11 n -tier N-tier is a generalisation of the 3-tier architecture Reflects the reality that most 3-tier systems are not self- contained. Most 3-tier systems connect into other systems in order to complete the processing. Ryan air connects to paypal / mastercard/ hertz N-tier system reflects this business logic E.g. A system such as a ryanair online-booking can have many elements to its middleware.

12 General benefits of adding tiers: middleware components Increase in the number of tiers means: Increase flexibility, functionality and ways of distribution However this is offset by: Increases communication costs Complexity rises leading to higher cost and risk Increases in duplication can lead to redundancy. The above issues can be lessened or overcome by using clustering with higher spec machines; fragment the work to take advantage of the system architecture (parallel (cluster) system). Remember that a cluster is a system with many nodes (computers) that are integrated together in such a way as to behave as a single system.

13 Ways to overcome issues associated with N-tier systems Use faster machine – Increases the ability to do more work in a unit of time by processing tasks more rapidly. – Applies to almost any nodes in the system (from edge servers to database server). – Need to analyse reasons for slow processing to correctly specify machine (i.e. CPU, networking, disk access, memory) Cluster machines – Splits up workload into manageable chunks to obtain more predictable response times. – However there is a need to identify and address any data synchronisation issues between clustered machines and select appropriate load balancing mechanisms.

Sample Question Distinguish between the different types of tiered architecture, illustrating your answer with examples where suitable.