3 Tier Architecture

168,662 views
167,767 views

Published on

What is it?
Evolution to the 3-Tier Architecture
Advantages and Disadvantages
Example of 3 Tier aplication in .NET platform with C# language

Published in: Business, Technology
20 Comments
127 Likes
Statistics
Notes
No Downloads
Views
Total views
168,662
On SlideShare
0
From Embeds
0
Number of Embeds
1,240
Actions
Shares
0
Downloads
0
Comments
20
Likes
127
Embeds 0
No embeds

No notes for slide

3 Tier Architecture

  1. 1. 3-Tier Architecture
  2. 2. Main Points <ul><li>What is 3-Tier Architecture? </li></ul><ul><li>Evolution to the 3-Tier Architecture Development </li></ul><ul><li>What does 3-Tier Architecture offer you? </li></ul><ul><ul><li>Advantages and disadvantages using 3-Tier Architecture </li></ul></ul><ul><li>Example of how you can implement 3-Tier Architecture in .Net platform using C#. </li></ul>
  3. 3. What is 3-Tier Architecture? <ul><li>A three-way interaction in a client/server environment. </li></ul><ul><ul><li>The user interface is stored in the client. </li></ul></ul><ul><ul><li>The bulk of the business aplication logic is stored in one or more servers. </li></ul></ul><ul><ul><li>The data are stored in a database server. </li></ul></ul>
  4. 4. What is 3-Tier Architecture
  5. 5. Evolution to the 3-Tier Architecture <ul><li>Single Tier </li></ul><ul><li>Dual Tier Environments </li></ul><ul><li>3-Tier Architecture </li></ul><ul><li>… </li></ul><ul><li>N-Tier Architecture </li></ul>Tiers we are going to study…
  6. 6. Single Tier (I) <ul><li>Time of huge “Mainframe” </li></ul><ul><li>All processing in a single computer. </li></ul><ul><li>All resources attached to the same computer </li></ul><ul><li>Access via dumb terminals </li></ul>
  7. 7. Single Tier (II) <ul><li>Advantages </li></ul><ul><ul><li>Simple </li></ul></ul><ul><ul><li>Efficient </li></ul></ul><ul><ul><li>Uncomplicated </li></ul></ul><ul><li>Disadvantages </li></ul><ul><ul><li>The cost of the central machine is very expensive </li></ul></ul>
  8. 8. Dual Tier (I) <ul><li>The Personal Computer </li></ul><ul><li>Necessity of providing personal software </li></ul><ul><li>The client/server model was born!!!! </li></ul>
  9. 9. Dual Tier (III) <ul><li>Logical system components – most wich are on the client. </li></ul>
  10. 10. Dual Tier (II) <ul><li>Problems with this model: </li></ul><ul><ul><li>The connections are very expensive. </li></ul></ul><ul><ul><li>One can only connects a limited number of users to a server before SQL server spends more time managing connections than processing request. </li></ul></ul><ul><ul><li>Cost-ineffective. Many users only use their connection 2-3% of the time. </li></ul></ul>
  11. 11. 3-Tier Architecture (I) <ul><li>With the advent of Internet many people jumped to the conclusion that the days of the mainframe were back. </li></ul><ul><li>Client/Server obviously failed, personal computers had failed and Windows was on its way out. </li></ul><ul><li>A host of “thin client” application where developed. </li></ul><ul><li>Thus 3-tier applications were born. </li></ul>
  12. 12. 3-Tier Architecture (II) <ul><li>This application runs the traditional client/server model but from a web server. </li></ul>
  13. 13. 3-Tier Architecture (III) <ul><li>The client only displays the GUI and data, but has no part in producing results. </li></ul>
  14. 14. 3-Tier Architecture (IV) <ul><li>Benefits: </li></ul><ul><ul><li>SCALABILITY: </li></ul></ul><ul><ul><ul><li>The application servers can be deployed on many machines. </li></ul></ul></ul><ul><ul><ul><li>The database no longer requires a connection from every client (only from a smaller number of application servers). </li></ul></ul></ul><ul><ul><ul><li>TP monitors or ORBs can be used to balance loads and dynamically manage the number of application server(s) available. </li></ul></ul></ul>
  15. 15. 3-Tier Architecture (V) <ul><li>Benefits: </li></ul><ul><ul><li>BETTER RE-USE: </li></ul></ul><ul><ul><ul><li>If an estandard object is employed, the specific language of implementation of the middle tier can be made transparent. </li></ul></ul></ul><ul><ul><li>IMPROVE DATA INTEGRITY: </li></ul></ul><ul><ul><ul><li>The middle tier can ensure that only valid data is allowed to be updated in the database. </li></ul></ul></ul>
  16. 16. 3-Tier Architecture (VI) <ul><li>Benefits: </li></ul><ul><ul><li>IMPROVED SECURITY: </li></ul></ul><ul><ul><ul><li>Since the client doesn’t have direct access to the database. </li></ul></ul></ul><ul><ul><ul><li>Business Logic is generally more secure since it is placed on a more secure central server. </li></ul></ul></ul><ul><ul><li>REDUCED DISTRIBUTION: </li></ul></ul><ul><ul><ul><li>Changes to business logic only need to be updated on the application servers and do not have to be distribuited to all the clients. </li></ul></ul></ul>
  17. 17. 3-Tier Architecture (VII) <ul><li>Benefits: </li></ul><ul><ul><li>IMPROVED AVAILABILITY: </li></ul></ul><ul><ul><ul><li>Mission-critical applications can make use of redundant application servers and redundant database servers, so it can recover from network or server failures. </li></ul></ul></ul><ul><ul><li>HIDDEN DATABASE STRUCTURE </li></ul></ul><ul><ul><ul><li>Since the actual structure of the database is hidden from the caller. </li></ul></ul></ul>
  18. 18. 3-Tier Architecture (VIII) <ul><li>Drawbacks: </li></ul><ul><ul><li>INCREASED COMPLEXITY/EFFORT: </li></ul></ul><ul><ul><ul><li>In general is more difficult to build a 3-tier application compared a 2-tier application because: </li></ul></ul></ul><ul><ul><ul><ul><li>The points of communication are doubled. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Many handy productivity enhacements provided by the client tools will be foregone or their benefit will be reduced. </li></ul></ul></ul></ul><ul><ul><li>FEWER TOOLS: </li></ul></ul><ul><ul><ul><li>The existence of more tools available for a 2-tier model (e.g. most reporting tools). </li></ul></ul></ul>
  19. 19. 3-Tier Architecture (IX) <ul><li>The complexity concerns in the 3-tier model can not be easily dismissed, but there are many situations in which it provides certain benefits. </li></ul><ul><ul><li>Example: </li></ul></ul><ul><ul><ul><li>The bulk of data maintenance is done by a small number of users. </li></ul></ul></ul><ul><ul><ul><li>A large number of users must be supported, but they only require a small subset of the total application logic </li></ul></ul></ul><ul><ul><ul><li>Other application need to exchange some information/data with this application </li></ul></ul></ul><ul><ul><ul><li>Some users need direct access to the data in order to use special tools (e.g. reporting tools). </li></ul></ul></ul>
  20. 20. 3-Tier Architecture (X) <ul><li>Conclusions: </li></ul><ul><ul><li>Complex application rules easy to implement in application server. </li></ul></ul><ul><ul><li>Business logic off-loaded from database server and client, which improve performance </li></ul></ul><ul><ul><li>Changes to business logic automatically enforce by server </li></ul></ul><ul><ul><li>Application server is portable to other database server platforms by virtue of the application SW. </li></ul></ul><ul><ul><li>Superior performance for medium to high volume environments </li></ul></ul>
  21. 21. 3-Tier application in ASP.Net <ul><li>Program organized into three major disjunctive tiers on layers: </li></ul><ul><ul><li>Application layer or Business layer </li></ul></ul><ul><ul><li>Business layer </li></ul></ul><ul><ul><ul><li>Property layer </li></ul></ul></ul><ul><ul><li>Data layer </li></ul></ul>
  22. 22. 3-Tier application example <ul><li>Graphical User Interface </li></ul>
  23. 23. Presentation Layer
  24. 24. Property Layer (I)
  25. 25. Property Layer (II)
  26. 26. Business Layer
  27. 27. Data Layer
  28. 28. Presentation Layer Creating an object of the Property Layer
  29. 29. Presentation Layer Creating an object of the Business Layer
  30. 30. Presentation Layer Creating an object in wich will recieve the information
  31. 31. Presentation Layer Obtaining ID
  32. 32. Presentation Layer Calling of Business Layer Function
  33. 33. Business Layer Creating an object in wich will recieve the information
  34. 34. Business Layer Calling of Business Layer Function
  35. 35. Data Layer Result object declaration
  36. 36. Data Layer SQL Query definition
  37. 37. Data Layer Creating an object in wich we will recieve the information
  38. 38. Data Layer SQL Query Execution
  39. 39. Data Layer Returning the information of the database
  40. 40. Business Layer Returning the information of the Data Layer
  41. 41. Presentation Layer Returning Data from the Business Layer
  42. 42. Presentation Layer Displaying Results

×