Client Server Architecture1


Published on

client server architecture!

Published in: Career, Technology, Education
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Client Server Architecture1

  1. 2. Personal Computer - Stand-Alone Database <ul><li>Database (or files) reside on a PC - on the hard disk. </li></ul><ul><li>Applications run on the same PC and directly access the database. In such cases, the application is the DBMS. </li></ul><ul><li>Business rules are enforced in the applications running on the PC. </li></ul><ul><li>A single user accesses the applications. </li></ul>
  2. 3. File Server Architecture <ul><li>All processing is done at the PC that requested the data </li></ul><ul><li>Entire files are transferred from the server to the client for processing </li></ul><ul><li>Problems : </li></ul><ul><ul><li>Huge amount of data transfer on the network </li></ul></ul><ul><ul><li>Each client must contain full DBMS </li></ul></ul><ul><ul><ul><li>Heavy resource demand on clients </li></ul></ul></ul><ul><ul><ul><li>Client DBMSs must recognize shared locks, integrity checks, etc. </li></ul></ul></ul>FAT CLIENT
  3. 4. File Server Architecture FAT CLIENT
  4. 5. File Sharing Architecture <ul><li>PCs are connected to a local area network (LAN). </li></ul><ul><li>A single file server stores a single copy of the database files. </li></ul><ul><li>Applications run on each PC on the LAN and access the same set of files on the file server. The application is also the DBMS. </li></ul><ul><li>Business rules are enforced in the applications - Also, the applications must handle concurrency control. Possibly by file locking. </li></ul><ul><li>Each user runs a copy of the same application and accesses the same files. </li></ul><ul><li>Example: Sharing MS Access files on a file server. </li></ul>
  5. 6. Advantages & Disadvantages of File Sharing Architecture <ul><li>Advantages: </li></ul><ul><ul><li>(limited) Ability to share data among several users </li></ul></ul><ul><ul><li>Costs of storage spread out among users </li></ul></ul><ul><ul><li>Most components are now commodity items - prices falling </li></ul></ul><ul><li>Disadvantages: </li></ul><ul><ul><li>Limited data sharing ability - a few users at most </li></ul></ul>
  6. 7. Client/server Architecture <ul><li>Client-server architecture developed as a response to the limitations of file-sharing architectures, which require tons of bandwidth and can often stall or jam a network causing it to crash. They require low shared usage and low volume of data to be transferred. In client-server architecture, the database server replaced the file server. Relational data base management systems (DBMSs) answered user queries directly. Since only specific queries were being answered, only that data was transferred instead of entire files that slow down networks. It also improved consistency in data between users, since all users had access to the same updated information. </li></ul>
  7. 8. Client / Server Architecture clients Server
  8. 9. Client/Server Systems <ul><li>Networked computing model </li></ul><ul><li>Processes distributed between clients and servers </li></ul><ul><li>Client – Workstation (usually a PC) that requests and uses a service </li></ul><ul><li>Server – Computer (PC/mini/mainframe) that provides a service </li></ul><ul><li>For DBMS, server is a database server </li></ul>
  9. 10. Application Logic in Client/Sever Systems Procedures, functions, programs <ul><li>Processing Logic </li></ul><ul><ul><li>I/O processing </li></ul></ul><ul><ul><li>Business rules </li></ul></ul><ul><ul><li>Data management </li></ul></ul>DBMS activities <ul><li>Storage Logic </li></ul><ul><ul><li>Data storage/retrieval </li></ul></ul>GUI Interface <ul><li>Presentation Logic </li></ul><ul><ul><li>Input – keyboard/mouse </li></ul></ul><ul><ul><li>Output – monitor/printer </li></ul></ul>
  10. 11. Client/Server Architectures <ul><li>File Server Architecture </li></ul><ul><li>Database Server Architecture </li></ul><ul><li>Three-tier Architecture </li></ul>Client does extensive processing Client does little processing
  11. 12. Two-tier Architecture <ul><li>Two tier architectures consist of three components: user system interfaces, processing management, and database management. User system interface (USI) is a component of an organization’s decision support system, which includes human decision-makers. It provides a user friendly layer of communication to make requests of the server and offers multiple forms of input and output. USIs include features like display management services, sessions, text input, and dialog. Processing management includes process development, process implementation, process monitoring, and process resources services. Database management includes database and file services. </li></ul><ul><li>Two tier client-server design derives its name from how it distributes work between client and server. Clients access databases through the user system interface. Database management, on the server side, distributes processing between both client and server. Both tiers, the client and the server, are responsible for some of the processing management. Simply put, the client uses the user interface to make requests through database management on the server side. </li></ul>
  12. 13. Two-tier database server architecture Thinner clients DBMS only on server
  13. 14. Two-Tier Database Server Architectures <ul><li>Client is responsible for </li></ul><ul><ul><li>I/O processing logic </li></ul></ul><ul><ul><li>Some business rules logic </li></ul></ul><ul><li>Server performs all data storage and access processing </li></ul><ul><ul><li> DBMS is only on server </li></ul></ul>
  14. 15. Advantages of Two-Tier Approach <ul><li>Clients do not have to be as powerful </li></ul><ul><li>Greatly reduces data traffic on the network </li></ul><ul><li>Improved data integrity since it is all processed centrally </li></ul><ul><li>Improve usability though user-friendly, form-based interfaces. </li></ul><ul><li>Improve scalability because two tiered systems can hold up to 100 users, whereas file server architectures can only accommodate 12. </li></ul><ul><li>best suited to homogeneous environments for processing non-complex, non-time sensitive information. </li></ul><ul><li>Stored procedures  some business rules done on server </li></ul>
  15. 16. Advantages of Stored Procedures <ul><li>Compiled SQL statements </li></ul><ul><li>Reduced network traffic </li></ul><ul><li>Improved security </li></ul><ul><li>Improved data integrity </li></ul><ul><li>Thinner clients </li></ul>
  16. 17. Three-tier Client/Server Architecture
  17. 18. Three-tier Architecture Thinnest clients Business rules on application server DBMS only on Database server
  18. 19. Three-Tier Architectures <ul><li>Thin Client </li></ul><ul><ul><li>PC just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive) </li></ul></ul>GUI interface (I/O processing) Browser Business rules Web Server Data storage DBMS Client <ul><ul><li>Application server </li></ul></ul><ul><ul><li>Database server </li></ul></ul>
  19. 20. Advantages of Three-Tier Architectures <ul><li>Scalability </li></ul><ul><ul><li>Centralize applications logic (one place to make changes) </li></ul></ul><ul><ul><li>Relieves clients from having to load up on applications logic (the &quot;fat client&quot; approach). </li></ul></ul><ul><ul><li>Frees up DBMS server to efficiently process transactions </li></ul></ul><ul><li>Technological flexibility </li></ul><ul><li>Long-term cost reduction </li></ul><ul><li>Better match of systems to business needs </li></ul><ul><li>Improved customer service </li></ul><ul><li>Competitive advantage </li></ul><ul><li>Reduced risk </li></ul>
  20. 21. Challenges/Disadvantages of Three-tier Architectures <ul><ul><li>System complexity - extremely complex to program and debug </li></ul></ul><ul><li>Security issues </li></ul><ul><li>High short-term costs </li></ul><ul><li>Tools and training </li></ul><ul><li>Experience </li></ul><ul><li>Incompatible standards </li></ul><ul><li>Lack of compatible end-user tools </li></ul>
  21. 22. Thank You