N-Tier, Layered Design, SOA
• 2-tier, 3-tier, N-tier
• Layered architecture
(object-oriented design principle)
• Everywhere we hear of
Presentation, Business & Data
Access
Confusion
Reference: Layered Application Guidelines
http://msdn.microsoft.com/en-us/library/ee658109
Presentation, Business & Data Layers
Reference: Layered Application Guidelines
http://msdn.microsoft.com/en-us/library/ee658109
When Service Layer Comes Up
• Both Layers and Tiers use the same set of
names – Presentation, Business, Services,
Data
• Layers describe the logical grouping of the
functionality and components in an
application
Distinction Between Layers & Tiers
• Tiers describe the physical distribution of
the functionality and components on
separate servers, computers, networks or
remote locations
• Tiers imply a physical separation!
• Quite common to locate more then one
layer on the same Tier (physical machine)
Layered architecture becomes N-tier the following way:
Remember:
Tiers imply a physical separation!
Within a Single Component
• Presentation (UI and API)
• Business Logic
• Data Access
• Data Storage (RDBMS, File system)
Tiers
Presentation Tier
• Web UI
• Desktop applications
• iPhone, iPad, Android applications
• REST, SOAP interfaces etc
• Sockets, TCP, UDP etc
• FIX, Swift and other protocols
• Depends on platform and used technologies!
Presentation Tier (API)
Performs:
• Depends on a host process
• Defines data tiers and other components to be used
• Builds up an application from components
• Defines used data sources
(connection strings, URLs, configuration)
• Manage request context
• Stateless
• receives requests by a protocol
• converts requests into business objects
• invokes business logic
• gets the result from business logic
• prepares that result to be sent in a response
• catch exceptions from business logic
• defines how those exceptions are sent in response
according to used protocol
Presentation Tier (API)
Everything outside doesn’t matter:
• Host process agnostic
• Data access agnostic
It means:
• Shouldn’t know about Presentation & Data Tiers
Business Tier
• Defines Business logic Public interface
• Defines Data access Public interface
• Implements Business logic
• Defines Business objects (business entities)
• Defines meaningful Exceptions (business related)
Business Tier (cont’d)
Performs:
• Business processing, business workflow
• Authentication and authorization
• Auditing
• Exception handling (log and re-throw)
• Maintain Transactionality (open, commit, rollback)
Business Tier (cont’d)
• Are defined in Business Tier
• NEVER exposed via the Presentation Tier
• NEVER assume data storage mechanism
It means:
• No annotations to define XML, JSON, SOAP,
SQL Tables, SQL parameters and so one
Business Entities
• Implements Data Access Interface defined in
Business Tier
• Tightly coupled with Data Storage Tier
• Call chain neutral
• Stateless
• Transactionalable
Data Access Tier
• RDBMS, Object-Oriented DBMS, NoSQL DB
• File system, NAS, DAS
• Remote storages: Clouds, FTP etc
• In-Memory!
No business logic here!
Data Storage Tier
• Single implementation of Business Tier
• Multiple implementations of Presentation Tier
• Multiple implementations of Data access tier
• Multiple implementations of Data Storage Tier
All Things Together
• We can mix components (tiers) to deploy required
service (select SQL storage and REST API)
• Implementation process is Business logic centric
• Scalability up and out
• Extensibility
• Maintainability
• Reusability
• Testability (unit and integration tests)
• Data Tier performance (isolated to optimizations)
Benefits
• Traceability - use EAI patterns and tools)
• Complexity - simple operation requires
lots of code for all tiers)
• Many similar classes - each class
contains the tier specific representation of
data)
• Performance (under question)
Drawbacks
Request-Reply:
• When an application sends a message, how can it
get a response from the receiver?
• Send a pair of Request-Reply messages, each on
its own channel.
Patterns
Correlation Identifier:
• How does a requestor that has received a reply
know which request this is the reply for?
• Each reply message should contain a Correlation
Identifier, a unique identifier that indicates which
request message this reply is for.
Patterns (cont’d)
Books
• SOA comes up to divide Middleware to
separate services
• N-tier implementation is in Services
grouped by Purpose
SOA
• Think of your application as of an application that
have both: UI of any kind and public API
• UI should NOT have any logic
• UI should ONLY use public API for everything
• That API becomes Middleware services and
encapsulates all logic
• Extract “elemental” service out of it and build the
Data access Tier of services
Good Practice

More Related Content

PPTX
N-Tier Application Architecture
PPTX
N-tier and oop - moving across technologies
PPS
Multi Tier Architecture
PPTX
N-tier Application Developement
PPT
3 Tier Architecture
PPTX
Layered architecture style
DOCX
Differences Between Architectures
N-Tier Application Architecture
N-tier and oop - moving across technologies
Multi Tier Architecture
N-tier Application Developement
3 Tier Architecture
Layered architecture style
Differences Between Architectures

What's hot (20)

PPTX
Systems Archticture
PPTX
2 tier and 3 tier architecture
PPT
Three Software Architecture Styles
PDF
An Introduction to Multilayered Software Architecture
PPTX
Layered Software Architecture
PPTX
Architectural patterns part 1
PPTX
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
PPTX
two tier and three tier
PPTX
Layered Architecture - Software Architecture Pattern
PPTX
3 tier architecture
PPTX
Software architectural patterns - A Quick Understanding Guide
PPTX
Deep Dive: MVC Controller Architecture
PPTX
Facade Pattern
PPTX
Client sever architecture
Systems Archticture
2 tier and 3 tier architecture
Three Software Architecture Styles
An Introduction to Multilayered Software Architecture
Layered Software Architecture
Architectural patterns part 1
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
two tier and three tier
Layered Architecture - Software Architecture Pattern
3 tier architecture
Software architectural patterns - A Quick Understanding Guide
Deep Dive: MVC Controller Architecture
Facade Pattern
Client sever architecture
Ad

Similar to N-Tier, Layered Design, SOA (20)

PDF
A1 from n tier to soa
PDF
Patterns of Distributed Application Design
PPTX
Over view of software artitecture
PPT
soa1.ppt
PPT
Service Oriented Architecture
PPTX
Patterns of Distributed Application Design
PDF
Life above the_service_tier_v1.1
PPT
Why APIs are not SOA++
PPTX
Patterns of enterprise application architecture
PPTX
.NET Architecture for Enterprises
PPTX
Onion Architecture / Clean Architecture
PPTX
L23 Summary and Conclusions
PPT
Lec-13_EmergingTrend.ppt................
PDF
Ekon20 mORMot SOA Delphi Conference
PPTX
Practical soa for business and researchers
PPTX
System-Integration-and-Architecture-2.pptx
PDF
09-01-services-slides.pdf for educations
PPTX
SOA - Unit 2 - Service Oriented Architecture
PDF
Lectura 2.3 soa-overview-directions-benatallah
PPT
Architecture and technology overview
A1 from n tier to soa
Patterns of Distributed Application Design
Over view of software artitecture
soa1.ppt
Service Oriented Architecture
Patterns of Distributed Application Design
Life above the_service_tier_v1.1
Why APIs are not SOA++
Patterns of enterprise application architecture
.NET Architecture for Enterprises
Onion Architecture / Clean Architecture
L23 Summary and Conclusions
Lec-13_EmergingTrend.ppt................
Ekon20 mORMot SOA Delphi Conference
Practical soa for business and researchers
System-Integration-and-Architecture-2.pptx
09-01-services-slides.pdf for educations
SOA - Unit 2 - Service Oriented Architecture
Lectura 2.3 soa-overview-directions-benatallah
Architecture and technology overview
Ad

More from Sperasoft (20)

PDF
особенности работы с Locomotion в Unreal Engine 4
PDF
концепт и архитектура геймплея в Creach: The Depleted World
PPTX
Опыт разработки VR игры для UE4
PPTX
Организация работы с UE4 в команде до 20 человек
PPTX
Gameplay Tags
PDF
Data Driven Gameplay in UE4
PPTX
Code and Memory Optimisation Tricks
PPTX
The theory of relational databases
PPTX
Automated layout testing using Galen Framework
PDF
Sperasoft talks: Android Security Threats
PDF
Sperasoft Talks: RxJava Functional Reactive Programming on Android
PDF
Sperasoft‬ talks j point 2015
PDF
Effective Мeetings
PDF
Unreal Engine 4 Introduction
PDF
JIRA Development
PDF
Introduction to Elasticsearch
PDF
MOBILE DEVELOPMENT with HTML, CSS and JS
PDF
Quick Intro Into Kanban
PDF
ECMAScript 6 Review
PDF
Console Development in 15 minutes
особенности работы с Locomotion в Unreal Engine 4
концепт и архитектура геймплея в Creach: The Depleted World
Опыт разработки VR игры для UE4
Организация работы с UE4 в команде до 20 человек
Gameplay Tags
Data Driven Gameplay in UE4
Code and Memory Optimisation Tricks
The theory of relational databases
Automated layout testing using Galen Framework
Sperasoft talks: Android Security Threats
Sperasoft Talks: RxJava Functional Reactive Programming on Android
Sperasoft‬ talks j point 2015
Effective Мeetings
Unreal Engine 4 Introduction
JIRA Development
Introduction to Elasticsearch
MOBILE DEVELOPMENT with HTML, CSS and JS
Quick Intro Into Kanban
ECMAScript 6 Review
Console Development in 15 minutes

Recently uploaded (20)

PPTX
Modernising the Digital Integration Hub
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PPTX
The various Industrial Revolutions .pptx
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Architecture types and enterprise applications.pdf
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Modernising the Digital Integration Hub
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Module 1.ppt Iot fundamentals and Architecture
A comparative study of natural language inference in Swahili using monolingua...
Developing a website for English-speaking practice to English as a foreign la...
Flame analysis and combustion estimation using large language and vision assi...
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
The various Industrial Revolutions .pptx
A proposed approach for plagiarism detection in Myanmar Unicode text
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
The influence of sentiment analysis in enhancing early warning system model f...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Microsoft Excel 365/2024 Beginner's training
Zenith AI: Advanced Artificial Intelligence
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Architecture types and enterprise applications.pdf
sbt 2.0: go big (Scala Days 2025 edition)
sustainability-14-14877-v2.pddhzftheheeeee
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx

N-Tier, Layered Design, SOA

  • 2. • 2-tier, 3-tier, N-tier • Layered architecture (object-oriented design principle) • Everywhere we hear of Presentation, Business & Data Access Confusion
  • 3. Reference: Layered Application Guidelines http://msdn.microsoft.com/en-us/library/ee658109 Presentation, Business & Data Layers
  • 4. Reference: Layered Application Guidelines http://msdn.microsoft.com/en-us/library/ee658109 When Service Layer Comes Up
  • 5. • Both Layers and Tiers use the same set of names – Presentation, Business, Services, Data • Layers describe the logical grouping of the functionality and components in an application Distinction Between Layers & Tiers
  • 6. • Tiers describe the physical distribution of the functionality and components on separate servers, computers, networks or remote locations • Tiers imply a physical separation! • Quite common to locate more then one layer on the same Tier (physical machine)
  • 7. Layered architecture becomes N-tier the following way: Remember: Tiers imply a physical separation! Within a Single Component
  • 8. • Presentation (UI and API) • Business Logic • Data Access • Data Storage (RDBMS, File system) Tiers
  • 9. Presentation Tier • Web UI • Desktop applications • iPhone, iPad, Android applications • REST, SOAP interfaces etc • Sockets, TCP, UDP etc • FIX, Swift and other protocols • Depends on platform and used technologies!
  • 10. Presentation Tier (API) Performs: • Depends on a host process • Defines data tiers and other components to be used • Builds up an application from components • Defines used data sources (connection strings, URLs, configuration) • Manage request context • Stateless
  • 11. • receives requests by a protocol • converts requests into business objects • invokes business logic • gets the result from business logic • prepares that result to be sent in a response • catch exceptions from business logic • defines how those exceptions are sent in response according to used protocol Presentation Tier (API)
  • 12. Everything outside doesn’t matter: • Host process agnostic • Data access agnostic It means: • Shouldn’t know about Presentation & Data Tiers Business Tier
  • 13. • Defines Business logic Public interface • Defines Data access Public interface • Implements Business logic • Defines Business objects (business entities) • Defines meaningful Exceptions (business related) Business Tier (cont’d)
  • 14. Performs: • Business processing, business workflow • Authentication and authorization • Auditing • Exception handling (log and re-throw) • Maintain Transactionality (open, commit, rollback) Business Tier (cont’d)
  • 15. • Are defined in Business Tier • NEVER exposed via the Presentation Tier • NEVER assume data storage mechanism It means: • No annotations to define XML, JSON, SOAP, SQL Tables, SQL parameters and so one Business Entities
  • 16. • Implements Data Access Interface defined in Business Tier • Tightly coupled with Data Storage Tier • Call chain neutral • Stateless • Transactionalable Data Access Tier
  • 17. • RDBMS, Object-Oriented DBMS, NoSQL DB • File system, NAS, DAS • Remote storages: Clouds, FTP etc • In-Memory! No business logic here! Data Storage Tier
  • 18. • Single implementation of Business Tier • Multiple implementations of Presentation Tier • Multiple implementations of Data access tier • Multiple implementations of Data Storage Tier All Things Together
  • 19. • We can mix components (tiers) to deploy required service (select SQL storage and REST API) • Implementation process is Business logic centric • Scalability up and out • Extensibility • Maintainability • Reusability • Testability (unit and integration tests) • Data Tier performance (isolated to optimizations) Benefits
  • 20. • Traceability - use EAI patterns and tools) • Complexity - simple operation requires lots of code for all tiers) • Many similar classes - each class contains the tier specific representation of data) • Performance (under question) Drawbacks
  • 21. Request-Reply: • When an application sends a message, how can it get a response from the receiver? • Send a pair of Request-Reply messages, each on its own channel. Patterns
  • 22. Correlation Identifier: • How does a requestor that has received a reply know which request this is the reply for? • Each reply message should contain a Correlation Identifier, a unique identifier that indicates which request message this reply is for. Patterns (cont’d)
  • 23. Books
  • 24. • SOA comes up to divide Middleware to separate services • N-tier implementation is in Services grouped by Purpose SOA
  • 25. • Think of your application as of an application that have both: UI of any kind and public API • UI should NOT have any logic • UI should ONLY use public API for everything • That API becomes Middleware services and encapsulates all logic • Extract “elemental” service out of it and build the Data access Tier of services Good Practice