1 / 52

CHAPTER 1

CHAPTER 1. Client/Server Database Environment. Learning Outcomes. At the end of this chapter, you should be able to:

mircea
Télécharger la présentation

CHAPTER 1

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. CHAPTER 1 Client/Server Database Environment

  2. Learning Outcomes • 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 systems • 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 architectures • 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: • Presentation logic @ Input/output (I/O) • Processing Logic • Storage Logic

  5. Client/server architectures 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 architectures I/O @ data processing: Data validation and identification of processing errors. Procedures, functions, programs

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

  8. Client/server architectures Identifies the data necessary for processing the transaction or query. Procedures, functions, programs

  9. Client/server architectures Responsible for data storage & retrieval from physical storage devices Activities of a DBMS DBMS activities

  10. Partitioning an application • 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. Application partitioning • 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. Application partitioning • 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. Application partitioning • 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. Application partitioning • Common Logic Distributions – Two tier client server environments • Processing logic could be at client, server, or both

  15. Application partitioning • Common Logic Distributions – n-tier client server environments • Processing logic will be at application server or Web server

  16. Client/server architectures Client does extensive processing • File Server Architecture • Database Server Architecture (Two Tier Architecture) • Three-tier Architecture Client does little processing

  17. File server architecture

  18. File server architecture • All processing is done at the PC that requested the data  FAT CLIENT • Each client PC is authorized to use the DBMS when a database application program runs on that PC • Entire files are transferred from the server to the client for processing

  19. File server architecture

  20. File server architecture • 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. File server architecture A device that manages file operations & shared by each of the client attached to the LAN

  22. File server architecture FAT CLIENT Most processing occurs on the client rather than on a server

  23. Database server architecture

  24. Database server architecture

  25. Database server architecture

  26. Database server architecture SO ON

  27. Database server architecture Thinner clients DBMS only on server

  28. Database server architecture • Database  server not clients • Database server can be tuned  optimize database processing performance • User authorization, integrity checking, data dictionary maintenance and query

  29. Characteristics of Two-Tier Client/Server Systems • Departmental in scope (few users) • Not mission-critical • Low transaction volumes • Common programming languages: • Java, VB .NET, C# • Interface database via middleware, APIs

  30. Middleware and API’s • 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. Steps for Using Databases via Middleware API’s • Identify and register a database driver. • Open a connection to a database. • Execute a query against the database. • Process the results of the query. • Repeat steps 3–4 as necessary. • Close the connection to the database.

  32. Three Tier Architecture

  33. Three tier architecture • 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

  34. Three tier architecture • Thin Client • PC just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive) GUI interface (I/O processing) Browser Client • Application server Web Server Business rules • Database server Data storage DBMS

  35. Three tier architecture Thin clients Business rules on application server DBMS only on DB server

  36. 2 TIER VS 3 TIER • TASK • User Interface • Main Business First Tier Client First Tier Client • TASK • User Interface • TASK • Server-side validation • Database Access Second Tier Database Server • TASK • Business Logic • Data Processing Logic Second Tier Application Server Third Tier Database Server • TASK • Data Validation • Database Access

  37. CLIENT vs. SERVER

  38. Thin Client • 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.

  39. A database-enabled intranet/internet environment

  40. Web Application Components • 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

  41. Languages for Creating Web Pages • 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)

  42. Processing in 3-Tier Applications • 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

  43. Information flow in a three-tier architecture

  44. A registration page written in ASP.NET

  45. A registration page written in ASP.NET Form for the ASP .NET application

  46. Considerations in 3-Tier Applications • 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

  47. Benefits of Stored Procedures • Performance improves for compiled SQL statements • Reduced network traffic • Improved security • Improved data integrity • Thinner clients

  48. Three tier architecture • Advantages • Scalability • Technological Flexibility • Long-term cost reduction • Better match of systems to business needs • Improved customer service • Competitive advantage • Reduced risk

  49. END OF CHAPTER Information in this slides were taken from Modern Database Management System, Ninth edition by Jeffrey A.Hoffer, Mary B.Prescott & HeikkiTopi.

More Related