O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
3-Tier Architecture
Main Points <ul><li>What is 3-Tier Architecture? </li></ul><ul><li>Evolution to the 3-Tier Architecture Development </li><...
What is 3-Tier Architecture? <ul><li>A three-way interaction in a client/server environment. </li></ul><ul><ul><li>The use...
What is 3-Tier Architecture
Evolution to the 3-Tier Architecture <ul><li>Single Tier </li></ul><ul><li>Dual Tier Environments </li></ul><ul><li>3-Tier...
Single Tier (I) <ul><li>Time of huge “Mainframe” </li></ul><ul><li>All processing in a single computer. </li></ul><ul><li>...
Single Tier (II) <ul><li>Advantages </li></ul><ul><ul><li>Simple </li></ul></ul><ul><ul><li>Efficient </li></ul></ul><ul><...
Dual Tier (I) <ul><li>The Personal Computer </li></ul><ul><li>Necessity of providing personal software </li></ul><ul><li>T...
Dual Tier (III) <ul><li>Logical system components – most wich are on the client. </li></ul>
Dual Tier (II) <ul><li>Problems with this model: </li></ul><ul><ul><li>The connections are very expensive. </li></ul></ul>...
3-Tier Architecture (I) <ul><li>With the advent of Internet many people jumped to the conclusion that the days of the main...
3-Tier Architecture (II) <ul><li>This application runs the traditional client/server model but from a web server. </li></ul>
3-Tier Architecture (III) <ul><li>The client only displays the GUI and data, but has no part in producing results. </li></ul>
3-Tier Architecture (IV) <ul><li>Benefits: </li></ul><ul><ul><li>SCALABILITY:  </li></ul></ul><ul><ul><ul><li>The applicat...
3-Tier Architecture (V) <ul><li>Benefits: </li></ul><ul><ul><li>BETTER RE-USE: </li></ul></ul><ul><ul><ul><li>If an estand...
3-Tier Architecture (VI) <ul><li>Benefits: </li></ul><ul><ul><li>IMPROVED SECURITY: </li></ul></ul><ul><ul><ul><li>Since t...
3-Tier Architecture (VII) <ul><li>Benefits: </li></ul><ul><ul><li>IMPROVED AVAILABILITY: </li></ul></ul><ul><ul><ul><li>Mi...
3-Tier Architecture (VIII) <ul><li>Drawbacks: </li></ul><ul><ul><li>INCREASED COMPLEXITY/EFFORT: </li></ul></ul><ul><ul><u...
3-Tier Architecture (IX) <ul><li>The complexity concerns in the 3-tier model can not be easily dismissed, but there are ma...
3-Tier Architecture (X) <ul><li>Conclusions: </li></ul><ul><ul><li>Complex application rules easy to implement in applicat...
3-Tier application in ASP.Net <ul><li>Program organized into three major disjunctive tiers on layers: </li></ul><ul><ul><l...
3-Tier application example <ul><li>Graphical User Interface </li></ul>
Presentation Layer
Property Layer (I)
Property Layer (II)
Business Layer
Data Layer
Presentation Layer Creating an object of the Property Layer
Presentation Layer Creating an object of the Business Layer
Presentation Layer Creating an object in wich will recieve the information
Presentation Layer Obtaining ID
Presentation Layer Calling of Business Layer Function
Business Layer Creating an object in wich will recieve the information
Business Layer Calling of Business Layer Function
Data Layer Result object declaration
Data Layer SQL Query definition
Data Layer Creating an object in wich we will recieve the information
Data Layer SQL Query Execution
Data Layer Returning the information of the database
Business Layer Returning the information of the Data Layer
Presentation Layer Returning Data from the Business Layer
Presentation Layer Displaying Results
Próximos SlideShares
Carregando em…5
×

3 Tier Architecture

192.129 visualizações

Publicada em

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

Publicada em: Negócios, Tecnologia

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

×