Software application architecture is an interesting and broadly discussed topic. In this presentation, I am discussing N-Tier application architecture. Going to investigate: What is architecture? Kinds of N-Tier application architecture and its advantage and disadvantage.
There is also a very basic quiz at the end of the session.
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
N-Tier Application Architecture
1. The Trusted Technology Partner in
Business Innovation
August 2010 August 2010 July 2010 June 2010
Ranked as one of the top Ranked as one of the top Named Microsoft Partner of CRN Magazine's list of the
technology solution providers technology solution providers the Year Finalist in 2 separate largest solution providers in
in America by CRN Magazine in America by CRN Magazine categories North America
for the past 4 years. for the past 4 years.
2009 2010 2007 2008
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
2. N-Tier Application
Architecture
Manoj Kumar
Sr. Technical Consultant
manoj.kumar@neudesic.com 11 June, 2012
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
3. Bad or no architecture:-
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
6. Architecture??
Standard definition: Noun
- The art or practice of designing and constructing buildings.
- The style of a building with regard to a specific period, place, or culture.
"Architecture is that great living creative spirit which from
generation to generation, from age to
age, proceeds, persists, creates, according to the nature of
man, and his circumstances as they change. That is really
architecture.“
- Frank Lloyd Wright on Architecture
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
7. Software Architecture??
“Software architecture encompasses the set of significant decisions about the organization of a
software system including the selection of the structural elements and their interfaces by which the
system is composed; behavior as specified in collaboration among those elements; composition of
these structural and behavioral elements into larger subsystems; and an architectural style that
guides this organization. Software architecture also involves
functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology
constraints, tradeoffs and aesthetic concerns.”
- Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman derived and refined a definition of architecture based
on work by Mary Shaw and David Garlan (Shaw and Garlan 1996)
What Software Architecture Is Not?
Lower-level design (e.g. design of component internals and algorithms) and implementation,
The information (or data) model,
Architecture of the physical system, including processors, networks
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
8. What if we don’t care about Architecture?
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
9. Why is Architecture Important?
Like any other complex structure, software must be built on a solid foundation
Failing to consider key scenarios, design for common problems, or the long
term consequences of key decisions can put application at risk
Modern tools and platforms help to simplify the task of building
applications, but they do not replace the need to design your application
carefully
The risks exposed by poor architecture includes:
Unstable application
Unable to support existing or future business requirements
Difficult to deploy or manage in a production environment
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
10. The Goals of Architecture
Consider the following high level concerns when
thinking about software architecture:
How will the users be using the application?
How will the application be deployed into
production and managed?
What are the quality attribute requirements for the
application, such as security, performance,
concurrency, internationalization, and
configuration?
How can the application be designed to be flexible
and maintainable over time?
What are the architectural trends that might impact
your application now or after it has been deployed?
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
16. N-Tier Logical Model
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
17. 3-Tier Application Architecture: Scenario
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
18. 3 – Tier Pros and Cons
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
19. Middleware - Simplifies 3-tier application development
Characteristics:
Simplifies partitioning of
application processing among
clients and servers
Manages distributed transactions
among multiple databases
Communicates with heterogeneous
database products within a single
application
Supports application scalability
Supports service requests
prioritization, load-balancing, data
dependent routing and queuing
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
20. Q&A
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
21. Test
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
22. Test
1. A benefit of the three-tier architecture is which of the following?
A. New modules can be built to support specific business needs
B. Performance improves for compiled SQL statements
C. Results in a thinner client and database server
D. All of the above.
2. Three-tier architecture includes which of the following?
A. Three server layers
B. A client layer and two server layers
C. Two client layers and one server layer
D. Three client layers
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
23. Test
3. The three different application logic components are which of the following?
A. Presentation, Client, and Storage
B. Presentation, Client, and Processing
C. Presentation, Processing, and Storage
D. Presentation, Processing, and Network
4. A database server is responsible for which of the following?
A. Database storage
B. Data processing logic
C. Data presentation logic
D. All of the above.
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
24. Test
5. Scalability defines?
A. The connectivity in a client/server system.
B. The size of a database.
C. The capacity of a system to accommodate growing numbers of users.
D. The speed of an information system.
6. As the reliability increases, failure intensity?
A. Decreases
B. Increases
C. No effect
D. These are not related
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
25. Test
7. Middleware can be present in:
A. Server.
B. Client.
C. Both.
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
26. Answers for Test:
1. D
2. B
3. C
4. A
5. C
6. A
7. C
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
27. Thank You
Manoj Kumar
manoj.kumar@neudesic.com
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Notas del editor
Remember the last note talk about embracing UX team and working closely with them