Presentation on theme: "Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,"— Presentation transcript:
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
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
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.