1 / 22

csi315

csi315. Client/Server Models. Client/Server Environment. clients. LAN or WAN. network. Server. Data. Berson, Fig 1.4, p.8. Client. Part of the local computing system Functions initiates contact with server (“speaks first”) typically requests service from server,

trotterm
Download Presentation

csi315

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. csi315 Client/Server Models

  2. Client/Server Environment clients LAN or WAN network Server Data Berson,Fig 1.4, p.8

  3. Client • Part of the local computing system • Functions • initiates contact with server (“speaks first”) • typically requests service from server, • for Web, client is implemented in browser; for e-mail, in mail reader • Requesting the return of records Client = “Origin”

  4. Server • Functions • provides requested service to client • e.g., Web server sends requested Web page, mail server delivers e-mail Server = “Target”

  5. Client-Server Example • The ATM network: • the clients are the ATM machines • user interfaces;some simple application processing • the server is at the bank • most application processing;very large database of customer accounts

  6. Client/Server Processing • Application processing is usually distributed between a client and the server. • Server controlsservices/data that the client accesses • Different client/server models are obtained by locating different components and combinations of the application on the client and server(s). • In general: • presentation logic stays on the client • DBMS and database move to the server • parts of the business and database logic that can be used by several clients are placed on the server

  7. Component Placement? • How much data is required by the local application? • How many application users require the same data? • How many interactions occur between the application parts? • Technical issues • platforms, networking

  8. Database App. Presentation Logic Business Logic Stand-aloneApplication Database Database Logic DBMS

  9. The 2-tier Model • The database is on the server • Distributed database logic • most of it is on the client • The client does the presentation and business logic. Challenges • It is difficult to build heterogeneous database environments. • Transaction processing is limited by the DBMS. • Asynchronous processing is difficult • i.e. the client doesn’t wait for the server’s answer • Scalability

  10. The 2-tier Model Client Server Presentation Logic Database Logic Business Logic DBMS Database Logic Database

  11. The 3-tier Model UNIX ServerData ServerData Clients Win/NT Application/Business logic Data Servers

  12. The 3-tier Model Price/PerformanceFunctionalityLocal Autonomy Greater IntegritySecurityCentral Control Back-End Server Tier 1 Server Tier 2 Clients Tier 3

  13. ObjectRepository Database 3-Tier Architecture-Example XMLFile System(Web Site) Request Or Export/Import Information Middle Tier“Business Logic”dissociatesUser and Back End

  14. 3-tier over 2-tier • Benefits • The application logic in the middle-tier is more independent of the client and the back-end server • The application logic in the middle-tier can work more easily with data from multiple sources. • Encourages multiple back-end servers. Challenges • Much more complex: • network management, data integrity, maintenance, development • Still (partially) dependent on platforms e.g. the client may still be restricted to a certain backend application server, but not (maybe) to any data server

  15. 3 tier-Example ATM machines are the clients (as before) • the middle-tier servers provide certain processing • checking balances, money transfer requests • directing queries to the relevant back-end server • back-end server(s) • specialized by account type • very robust concurrency control, transaction processing • Many Web applications are 3-tier: • the Web browser is the client software • the embedded components in Web pages (e.g. Java applets) come from the middle-tier • the back-end server contains the database

  16. Distributing Business Logic Three ways • Locate it entirely on the client (‘fat’ client) • Locate it entirely on the server (‘fat’ server) • Split it between the client and server

  17. Business Logic Server Client Business Logic Presentation Logic Database Logic Business Logic DBMS Database

  18. Fat Server Advantages • Easier to update the application logic since clients not involved. • Data is better hidden from clients. • Easier to manage and debug since data and code is centrally located. • Reduces bandwidth problems since data processing stays on the server. • Better for mission-critical applications when fault-tolerance and stability are important.

  19. Fat Client Advantages • The server is unaffected when updates are done to the client’s application logic • the server will be more stable • Easier to program • less networking • more direct access to client platform features, such as GUI

  20. Multi-tier Model Middleware Physical Network

  21. Multi-tier Model • Asynchronous connectivity • Data distribution using replication • Name/directory services for resource location independence • More complex data types • More complex analysis • Authentication services • you must 'prove' who you are to the system • Distributed file system(s) • Time services

  22. Mult-tier Web Applications • The Web browser is the client software on the first tier. • Web page components come from the second tier. • The third tier is a database front-end for a series of fourth tier heterogeneous databases

More Related