Presentation is loading. Please wait.

Presentation is loading. Please wait.

Client/Server Database Environment CISB344 Database 2  At the end of this chapter, you should be able to: › Define client/server systems, file server,

Similar presentations


Presentation on theme: "Client/Server Database Environment CISB344 Database 2  At the end of this chapter, you should be able to: › Define client/server systems, file server,"— Presentation transcript:

1

2 Client/Server Database Environment CISB344 Database 2  At the end of this chapter, you should be able to: › Define client/server systems, file server, fat client, database server, stored procedure, three-tier architecture, thin client, application partitioning, middleware, middleware and application program interface (API) › Explain the three components of client server systems: presentation, processing, and storage › Distinguish between file server, database server and three-tier architectures

3 Client/Server Database Environment CISB344 Database 2  A networked computing model that distributes processes between clients and servers which supply requested services  Client–Workstation (usually a PC) that requests and uses a service  Server–Computer (PC/mini/mainframe) that provides a service  For DBMS, server is a database server

4 Client/Server Database Environment CISB344 Database 2  Client/server architectures that have evolved can be distinguished by the distribution of application logic components across clients and servers.  Three components of application logic: 1. Presentation logic @ Input/output (I/O) 2. Processing Logic 3. Storage Logic

5 Client/Server Database Environment CISB344 Database 2 Formatting & presenting data on user’ screen or other output devices. Managing user input from a keyboard or other input devices Formatting & presenting data on user’ screen or other output devices. Managing user input from a keyboard or other input devices GUI Interface

6 Client/Server Database Environment CISB344 Database 2 I/O @ data processing: Data validation and identification of processing errors. Procedures, functions, programs

7 Client/Server Database Environment CISB344 Database 2 BR that have not been coded at the DBMS level may be coded in the processing component. Business rules describe the operations, definitions and constraints that apply to an organization in achieving its goals. Procedures, functions, programs

8 Client/Server Database Environment CISB344 Database 2 Identifies the data necessary for processing the transaction or query. Procedures, functions, programs

9 Client/Server Database Environment CISB344 Database 2 Responsible for data storage & retrieval from physical storage devices Activities of a DBMS Responsible for data storage & retrieval from physical storage devices Activities of a DBMS DBMS activities

10 Client/Server Database Environment CISB344 Database 2  No one optimal client/server architecture that is the best solution for all business problems.  Flexibility in client/Server architecture  possibility of tailoring their configurations to fit their particular processing needs.

11 Client/Server Database Environment CISB344 Database 2  The process of assigning portions of application code to client or server partitions after it is written to achieve better performance and interoperability.  Advantages › Improved performance › Improved interoperability › Balanced workloads

12 Client/Server Database Environment CISB344 Database 2  Helps in tailoring › Gives developer opportunity to write application code  place either on a client workstation or on a server  Application code can be developed and tested on a client workstation

13 Client/Server Database Environment CISB344 Database 2  Possible to add Transaction Processing Monitors (TP)  TP monitors – balance workload, directing transactions to servers that are not busy  TP also useful in distributed environments  distributed transaction from a single unit of work can be managed across a heterogeneous environment.

14 Client/Server Database Environment CISB344 Database 2  Common Logic Distributions – Two tier client server environments  Processing logic could be at client, server, or both

15 Client/Server Database Environment CISB344 Database 2  Common Logic Distributions – n-tier client server environments  Processing logic will be at application server or Web server

16 Client/Server Database Environment CISB344 Database 2  File Server Architecture  Database Server Architecture (Two Tier Architecture)  Three-tier Architecture

17

18 Client/Server Database Environment CISB344 Database 2

19 Client/Server Database Environment CISB344 Database 2 CLIENT Presentation Logic Processing Logic Storage Logic

20 Client/Server Database Environment CISB344 Database 2  Limitations: › Huge amount of data transfer on the network › Each client must contain full DBMS  Heavy resource demand on clients › Client DBMSs must recognize shared locks, integrity checks.

21 Client/Server Database Environment CISB344 Database 2 A device that manages file operations & shared by each of the client attached to the LAN

22 Client/Server Database Environment CISB344 Database 2 Most processing occurs on the client rather than on a server

23

24 Client/Server Database Environment CISB344 Database 2 CLIENT Presentation Logic Data Processing Logic Business Rules Logic

25 Client/Server Database Environment CISB344 Database 2 Database Server Database storage AccessProcessing

26 Client/Server Database Environment CISB344 Database 2 DBMS Database Server LAN traffic is reduced SO ON

27 Client/Server Database Environment CISB344 Database 2

28 Client/Server Database Environment CISB344 Database 2  Database  server not clients  Database server can be tuned  optimize database processing performance  User authorization, integrity checking, data dictionary maintenance and query

29 Client/Server Database Environment CISB344 Database 2  Departmental in scope (few users)  Not mission-critical  Low transaction volumes  Common programming languages: › Java, VB.NET, C#  Interface database via middleware, APIs

30 Client/Server Database Environment CISB344 Database 2  Middleware – software that allows an application to interoperate with other software without requiring user to understand and code low-level operations  Application Program Interface (API) – routines that an application uses to direct the performance of procedures by the computer’s operating system  Common database APIs – ODBC, ADO.NET, JDBC

31 Client/Server Database Environment CISB344 Database 2 1. Identify and register a database driver. 2. Open a connection to a database. 3. Execute a query against the database. 4. Process the results of the query. 5. Repeat steps 3–4 as necessary. 6. Close the connection to the database.

32 Client/Server Database Environment CISB344 Database 2

33

34 Client/Server Database Environment CISB344 Database 2  A client/server configuration that includes three layers: › A client layer › 2 server layers  Additional server if compared to dbase server (2 tier)  Additional server may be used for different purposes: › Application programs: Application Server › Local database

35 Client/Server Database Environment CISB344 Database 2  Thin Client › PC just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive)

36 Client/Server Database Environment CISB344 Database 2

37 First Tier Client First Tier Client Second Tier Database Server Second Tier Database Server TASK User Interface First Tier Client First Tier Client Second Tier Application Server Second Tier Application Server Third Tier Database Server Third Tier Database Server TASK Server-side validation Database Access TASK User Interface Main Business TASK Business Logic Data Processing Logic TASK Data Validation Database Access

38 Client/Server Database Environment CISB344 Database 2 CLIENTSERVER Manages the User InterfaceAccepts and processes database requests from clients Accepts and checks syntax of user input Checks authorization Processes application logicEnsures integrity constraints not violated Generates database requests and transmits to server Performs query/update processing and transmits response to client Passes response back to userMaintains system catalog Provides concurrent database access Provides recovery control

39 Client/Server Database Environment CISB344 Database 2  An application where the client (PC) accessing the application primarily provides the user interfaces and some application processing, usually with no or limited local data storage.  Most commonly, the thin client application is a Web browser and the 3- tier architecture involves a Web application.

40 Client/Server Database Environment CISB344 Database 2

41 Client/Server Database Environment CISB344 Database 2  Database server – hosts storage logic for the application and hosts the DBMS › e.g. Oracle, SQL Server, Informix, MS Access, MySql  Web server – receive and respond to browser requests using HTTP/HTTPS protocol › e.g. Apache, Internet Information Services (IIS)  Application server – software building blocks for creating dynamic web sites and web based application › e.g. MS ASP.NET framework, Java EE, ColdFusion, PHP, Python and PERL  Web browser – client program that sends web requests and receives web pages › e.g. Internet Explorer, Firefox, Safari, Google Chrome

42 Client/Server Database Environment CISB344 Database 2  Hypertext Markup Language (HTML) › Markup language specifically for Web pages  Standard Generalized Markup Language (SGML) › Markup language standard  Extensible Markup Language (XML) › Markup language allowing customized tags  XHTML › XML-compliant extension of HTML  JavaScript/VBScript › Scripting languages that enable interactivity in HTML documents  Cascading Style Sheets (CSS) › Control appearance of Web elements in an HML document  XSL and XSLT › XMS style sheet and transformation to HTML Standards and Web conventions established by World Wide Web Consortium (W3C)

43 Client/Server Database Environment CISB344 Database 2  Static page requests ›.htm or.html requests are handled by the Web server only  Dynamic page requests ›.jsp,.aspx, and.php requests are routed to the application server › Server-side processing by JSP servlet, ASP.NET application, ColdFusion, or PHP › Database access via JDBC, ADO.NET, or other database middleware

44 Client/Server Database Environment CISB344 Database 2

45 Client/Server Database Environment CISB344 Database 2

46 Client/Server Database Environment CISB344 Database 2 Form for the ASP.NET application

47 Client/Server Database Environment CISB344 Database 2  Stored procedures Stored procedures › Code logic embedded in DBMS › Improve performance, but proprietary  Transactions › Involve many database updates › Either all must succeed, or none should occur  Database connections › Maintaining an open connection is resource- intensive › Use of connection pooling

48 Client/Server Database Environment CISB344 Database 2  Performance improves for compiled SQL statements  Reduced network traffic  Improved security  Improved data integrity  Thinner clients

49 Client/Server Database Environment CISB344 Database 2  Advantages › Scalability › Technological Flexibility › Long-term cost reduction › Better match of systems to business needs › Improved customer service › Competitive advantage › Reduced risk

50 Information in this slides were taken from Modern Database Management System, Ninth edition by Jeffrey A.Hoffer, Mary B.Prescott & Heikki Topi.

51 Client/Server Database Environment CISB344 Database 2  SQL: › SELECT Product, Quantity FROM Inventory WHERE Warehouse = ‘Kajang‘  CREATE PROCEDURE sp_GetInventory @location varchar(10) AS SELECT Product, Quantity FROM Inventory WHERE Warehouse = @location  EXECUTE sp_GetInventory ‘Kajang'

52 Client/Server Database Environment CISB344 Database 2  CREATE PROCEDURE Delete_Employee (@EmployeeId INT) AS BEGIN DELETE FROM Employees WHERE EmployeeId = @EmployeeId; END  EXECUTE Delete_Employee(8)


Download ppt "Client/Server Database Environment CISB344 Database 2  At the end of this chapter, you should be able to: › Define client/server systems, file server,"

Similar presentations


Ads by Google