520 likes | 635 Views
CHAPTER 1. Client/Server Database Environment. Learning Outcomes. At the end of this chapter, you should be able to:
E N D
CHAPTER 1 Client/Server Database Environment
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
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
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
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
Client/server architectures I/O @ data processing: Data validation and identification of processing errors. Procedures, functions, programs
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
Client/server architectures Identifies the data necessary for processing the transaction or query. Procedures, functions, programs
Client/server architectures Responsible for data storage & retrieval from physical storage devices Activities of a DBMS DBMS activities
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.
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
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
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.
Application partitioning • Common Logic Distributions – Two tier client server environments • Processing logic could be at client, server, or both
Application partitioning • Common Logic Distributions – n-tier client server environments • Processing logic will be at application server or Web server
Client/server architectures Client does extensive processing • File Server Architecture • Database Server Architecture (Two Tier Architecture) • Three-tier Architecture Client does little processing
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
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.
File server architecture A device that manages file operations & shared by each of the client attached to the LAN
File server architecture FAT CLIENT Most processing occurs on the client rather than on a server
Database server architecture Thinner clients DBMS only on server
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
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
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
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.
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
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
Three tier architecture Thin clients Business rules on application server DBMS only on DB server
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
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.
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
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)
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
A registration page written in ASP.NET Form for the ASP .NET application
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
Benefits of Stored Procedures • Performance improves for compiled SQL statements • Reduced network traffic • Improved security • Improved data integrity • Thinner clients
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
END OF CHAPTER Information in this slides were taken from Modern Database Management System, Ninth edition by Jeffrey A.Hoffer, Mary B.Prescott & HeikkiTopi.